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

Opus reference implementation multistream API. More...

#include "opus.h"

Go to the source code of this file.

Macros

#define __opus_check_encstate_ptr(ptr)   ((ptr) + ((ptr) - (OpusEncoder**)(ptr)))
 
#define __opus_check_decstate_ptr(ptr)   ((ptr) + ((ptr) - (OpusDecoder**)(ptr)))
 
#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST   5120
 
#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST   5122
 
#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x, y)
 Gets the encoder state for an individual stream of a multistream encoder. More...
 
#define OPUS_MULTISTREAM_GET_DECODER_STATE(x, y)
 Gets the decoder state for an individual stream of a multistream decoder. More...
 

Typedefs

typedef struct OpusMSEncoder OpusMSEncoder
 Opus multistream encoder state. More...
 
typedef struct OpusMSDecoder OpusMSDecoder
 Opus multistream decoder state. More...
 

Functions

Multistream encoder functions
opus_int32 opus_multistream_encoder_get_size (int streams, int coupled_streams)
 Gets the size of an OpusMSEncoder structure. More...
 
opus_int32 opus_multistream_surround_encoder_get_size (int channels, int mapping_family)
 
OpusMSEncoderopus_multistream_encoder_create (opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application, int *error)
 Allocates and initializes a multistream encoder state. More...
 
OpusMSEncoderopus_multistream_surround_encoder_create (opus_int32 Fs, int channels, int mapping_family, int *streams, int *coupled_streams, unsigned char *mapping, int application, int *error)
 
int opus_multistream_encoder_init (OpusMSEncoder *st, opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application)
 Initialize a previously allocated multistream encoder state. More...
 
int opus_multistream_surround_encoder_init (OpusMSEncoder *st, opus_int32 Fs, int channels, int mapping_family, int *streams, int *coupled_streams, unsigned char *mapping, int application)
 
int opus_multistream_encode (OpusMSEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes)
 Encodes a multistream Opus frame. More...
 
int opus_multistream_encode_float (OpusMSEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes)
 Encodes a multistream Opus frame from floating point input. More...
 
void opus_multistream_encoder_destroy (OpusMSEncoder *st)
 Frees an OpusMSEncoder allocated by opus_multistream_encoder_create(). More...
 
int opus_multistream_encoder_ctl (OpusMSEncoder *st, int request,...)
 Perform a CTL function on a multistream Opus encoder. More...
 
Multistream decoder functions
opus_int32 opus_multistream_decoder_get_size (int streams, int coupled_streams)
 Gets the size of an OpusMSDecoder structure. More...
 
OpusMSDecoderopus_multistream_decoder_create (opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int *error)
 Allocates and initializes a multistream decoder state. More...
 
int opus_multistream_decoder_init (OpusMSDecoder *st, opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping)
 Intialize a previously allocated decoder state object. More...
 
int opus_multistream_decode (OpusMSDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec)
 Decode a multistream Opus packet. More...
 
int opus_multistream_decode_float (OpusMSDecoder *st, const unsigned char *data, opus_int32 len, float *pcm, int frame_size, int decode_fec)
 Decode a multistream Opus packet with floating point output. More...
 
int opus_multistream_decoder_ctl (OpusMSDecoder *st, int request,...)
 Perform a CTL function on a multistream Opus decoder. More...
 
void opus_multistream_decoder_destroy (OpusMSDecoder *st)
 Frees an OpusMSDecoder allocated by opus_multistream_decoder_create(). More...
 

Detailed Description

Opus reference implementation multistream API.

Macro Definition Documentation

#define __opus_check_decstate_ptr (   ptr)    ((ptr) + ((ptr) - (OpusDecoder**)(ptr)))
#define __opus_check_encstate_ptr (   ptr)    ((ptr) + ((ptr) - (OpusEncoder**)(ptr)))
#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST   5122
#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST   5120
For more information visit the Opus Website.