Opus
IETF low-delay audio codec: API and operations manual
1.0.2
 All Files Functions Typedefs Macros Groups Pages
Typedefs | Functions
opus.h File Reference

Opus reference implementation API. More...

#include "opus_types.h"
#include "opus_defines.h"

Go to the source code of this file.

Typedefs

typedef struct OpusEncoder OpusEncoder
 Opus encoder state.
typedef struct OpusDecoder OpusDecoder
 Opus decoder state.
typedef struct OpusRepacketizer OpusRepacketizer

Functions

int opus_encoder_get_size (int channels)
 Gets the size of an OpusEncoder structure.
OpusEncoderopus_encoder_create (opus_int32 Fs, int channels, int application, int *error)
 Allocates and initializes an encoder state.
int opus_encoder_init (OpusEncoder *st, opus_int32 Fs, int channels, int application)
 Initializes a previously allocated encoder state The memory pointed to by st must be at least the size returned by opus_encoder_get_size().
opus_int32 opus_encode (OpusEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes)
 Encodes an Opus frame.
opus_int32 opus_encode_float (OpusEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes)
 Encodes an Opus frame from floating point input.
void opus_encoder_destroy (OpusEncoder *st)
 Frees an OpusEncoder allocated by opus_encoder_create().
int opus_encoder_ctl (OpusEncoder *st, int request,...)
 Perform a CTL function on an Opus encoder.
int opus_decoder_get_size (int channels)
 Gets the size of an OpusDecoder structure.
OpusDecoderopus_decoder_create (opus_int32 Fs, int channels, int *error)
 Allocates and initializes a decoder state.
int opus_decoder_init (OpusDecoder *st, opus_int32 Fs, int channels)
 Initializes a previously allocated decoder state.
int opus_decode (OpusDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec)
 Decode an Opus packet.
int opus_decode_float (OpusDecoder *st, const unsigned char *data, opus_int32 len, float *pcm, int frame_size, int decode_fec)
 Decode an Opus packet with floating point output.
int opus_decoder_ctl (OpusDecoder *st, int request,...)
 Perform a CTL function on an Opus decoder.
void opus_decoder_destroy (OpusDecoder *st)
 Frees an OpusDecoder allocated by opus_decoder_create().
int opus_packet_parse (const unsigned char *data, opus_int32 len, unsigned char *out_toc, const unsigned char *frames[48], short size[48], int *payload_offset)
 Parse an opus packet into one or more frames.
int opus_packet_get_bandwidth (const unsigned char *data)
 Gets the bandwidth of an Opus packet.
int opus_packet_get_samples_per_frame (const unsigned char *data, opus_int32 Fs)
 Gets the number of samples per frame from an Opus packet.
int opus_packet_get_nb_channels (const unsigned char *data)
 Gets the number of channels from an Opus packet.
int opus_packet_get_nb_frames (const unsigned char packet[], opus_int32 len)
 Gets the number of frames in an Opus packet.
int opus_packet_get_nb_samples (const unsigned char packet[], opus_int32 len, opus_int32 Fs)
 Gets the number of samples of an Opus packet.
int opus_decoder_get_nb_samples (const OpusDecoder *dec, const unsigned char packet[], opus_int32 len)
 Gets the number of samples of an Opus packet.
int opus_repacketizer_get_size (void)
 Gets the size of an OpusRepacketizer structure.
OpusRepacketizeropus_repacketizer_init (OpusRepacketizer *rp)
 (Re)initializes a previously allocated repacketizer state.
OpusRepacketizeropus_repacketizer_create (void)
 Allocates memory and initializes the new repacketizer with opus_repacketizer_init().
void opus_repacketizer_destroy (OpusRepacketizer *rp)
 Frees an OpusRepacketizer allocated by opus_repacketizer_create().
int opus_repacketizer_cat (OpusRepacketizer *rp, const unsigned char *data, opus_int32 len)
 Add a packet to the current repacketizer state.
opus_int32 opus_repacketizer_out_range (OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen)
 Construct a new packet from data previously submitted to the repacketizer state via opus_repacketizer_cat().
int opus_repacketizer_get_nb_frames (OpusRepacketizer *rp)
 Return the total number of frames contained in packet data submitted to the repacketizer state so far via opus_repacketizer_cat() since the last call to opus_repacketizer_init() or opus_repacketizer_create().
opus_int32 opus_repacketizer_out (OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen)
 Construct a new packet from data previously submitted to the repacketizer state via opus_repacketizer_cat().

Detailed Description

Opus reference implementation API.

For more information visit the Opus Website.