|
|
|
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) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) |
| #define | OPUS_MULTISTREAM_GET_DECODER_STATE(x, y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) |
Typedefs | |
| typedef struct OpusMSEncoder | OpusMSEncoder |
| typedef struct OpusMSDecoder | OpusMSDecoder |
Functions | |
| OpusMSEncoder * | opus_multistream_encoder_create (opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application, int *error) |
| Allocate and initialize a multistream encoder state object. | |
| int | opus_multistream_encoder_init (OpusMSEncoder *st, opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int application) |
| Initialize an already allocated multistream encoder state. | |
| int | opus_multistream_encode (OpusMSEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes) |
| Returns length of the data payload (in bytes) or a negative error code. | |
| int | opus_multistream_encode_float (OpusMSEncoder *st, const float *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes) |
| Returns length of the data payload (in bytes) or a negative error code. | |
| opus_int32 | opus_multistream_encoder_get_size (int streams, int coupled_streams) |
| Gets the size of an OpusMSEncoder structure. | |
| void | opus_multistream_encoder_destroy (OpusMSEncoder *st) |
| Deallocate a multstream encoder state. | |
| int | opus_multistream_encoder_ctl (OpusMSEncoder *st, int request,...) |
| Get or set options on a multistream encoder state. | |
| OpusMSDecoder * | opus_multistream_decoder_create (opus_int32 Fs, int channels, int streams, int coupled_streams, const unsigned char *mapping, int *error) |
| Allocate and initialize a multistream decoder state object. | |
| 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. | |
| int | opus_multistream_decode (OpusMSDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec) |
| Returns the number of samples decoded or a negative error code. | |
| int | opus_multistream_decode_float (OpusMSDecoder *st, const unsigned char *data, opus_int32 len, float *pcm, int frame_size, int decode_fec) |
| Returns the number of samples decoded or a negative error code. | |
| opus_int32 | opus_multistream_decoder_get_size (int streams, int coupled_streams) |
| Gets the size of an OpusMSDecoder structure. | |
| int | opus_multistream_decoder_ctl (OpusMSDecoder *st, int request,...) |
| Get or set options on a multistream decoder state. | |
| void | opus_multistream_decoder_destroy (OpusMSDecoder *st) |
| Deallocate a multistream decoder state object. | |
Opus reference implementation multistream API.
| #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 | ( | x, | |
| y | |||
| ) | OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) |
| #define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 |
| #define OPUS_MULTISTREAM_GET_ENCODER_STATE | ( | x, | |
| y | |||
| ) | OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) |
| #define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 |
| typedef struct OpusMSDecoder OpusMSDecoder |
| typedef struct OpusMSEncoder OpusMSEncoder |
| int opus_multistream_decode | ( | OpusMSDecoder * | st, |
| const unsigned char * | data, | ||
| opus_int32 | len, | ||
| opus_int16 * | pcm, | ||
| int | frame_size, | ||
| int | decode_fec | ||
| ) |
Returns the number of samples decoded or a negative error code.
| st | Decoder state |
| data | Input payload. Use a NULL pointer to indicate packet loss |
| len | Number of bytes in payload |
| pcm | Output signal, samples interleaved in channel order . length is frame_size*channels |
| frame_size | Number of samples per frame of input signal |
| decode_fec | Flag (0/1) to request that any in-band forward error correction data be decoded. If no such data is available the frame is decoded as if it were lost. |
| int opus_multistream_decode_float | ( | OpusMSDecoder * | st, |
| const unsigned char * | data, | ||
| opus_int32 | len, | ||
| float * | pcm, | ||
| int | frame_size, | ||
| int | decode_fec | ||
| ) |
Returns the number of samples decoded or a negative error code.
| st | Decoder state |
| data | Input payload buffer. Use a NULL pointer to indicate packet loss |
| len | Number of payload bytes in data |
| pcm | Buffer for the output signal (interleaved iin channel order). length is frame_size*channels |
| frame_size | Number of samples per frame of input signal |
| decode_fec | Flag (0/1) to request that any in-band forward error correction data be decoded. If no such data is available the frame is decoded as if it were lost. |
| OpusMSDecoder* opus_multistream_decoder_create | ( | opus_int32 | Fs, |
| int | channels, | ||
| int | streams, | ||
| int | coupled_streams, | ||
| const unsigned char * | mapping, | ||
| int * | error | ||
| ) |
Allocate and initialize a multistream decoder state object.
Call opus_multistream_decoder_destroy() to release this object when finished.
| Fs | Sampling rate to decode at (Hz) |
| channels | Number of channels to decode |
| streams | Total number of coded streams in the multistream |
| coupled_streams | Number of coupled (stereo) streams in the multistream |
| mapping | Stream to channel mapping table |
| error | Error code |
| int opus_multistream_decoder_ctl | ( | OpusMSDecoder * | st, |
| int | request, | ||
| ... | |||
| ) |
Get or set options on a multistream decoder state.
| void opus_multistream_decoder_destroy | ( | OpusMSDecoder * | st | ) |
Deallocate a multistream decoder state object.
| opus_int32 opus_multistream_decoder_get_size | ( | int | streams, |
| int | coupled_streams | ||
| ) |
Gets the size of an OpusMSDecoder structure.
| streams | Total number of coded streams |
| coupled_streams | Number of coupled (stereo) streams |
| 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.
| st | Encoder state |
| Fs | Sample rate of input signal (Hz) |
| channels | Number of channels in the input signal |
| streams | Total number of coded streams |
| coupled_streams | Number of coupled (stereo) streams |
| mapping | Stream to channel mapping table |
| int opus_multistream_encode | ( | OpusMSEncoder * | st, |
| const opus_int16 * | pcm, | ||
| int | frame_size, | ||
| unsigned char * | data, | ||
| opus_int32 | max_data_bytes | ||
| ) |
Returns length of the data payload (in bytes) or a negative error code.
| st | Encoder state |
| pcm | Input signal as interleaved samples. Length is frame_size*channels |
| frame_size | Number of samples per frame of input signal |
| data | Output buffer for the compressed payload (no more than max_data_bytes long) |
| max_data_bytes | Allocated memory for payload; don't use for controlling bitrate |
| int opus_multistream_encode_float | ( | OpusMSEncoder * | st, |
| const float * | pcm, | ||
| int | frame_size, | ||
| unsigned char * | data, | ||
| opus_int32 | max_data_bytes | ||
| ) |
Returns length of the data payload (in bytes) or a negative error code.
| st | Encoder state |
| pcm | Input signal interleaved in channel order. length is frame_size*channels |
| frame_size | Number of samples per frame of input signal |
| data | Output buffer for the compressed payload (no more than max_data_bytes long) |
| max_data_bytes | Allocated memory for payload; don't use for controlling bitrate |
| OpusMSEncoder* opus_multistream_encoder_create | ( | opus_int32 | Fs, |
| int | channels, | ||
| int | streams, | ||
| int | coupled_streams, | ||
| const unsigned char * | mapping, | ||
| int | application, | ||
| int * | error | ||
| ) |
Allocate and initialize a multistream encoder state object.
Call opus_multistream_encoder_destroy() to release this object when finished.
| Fs | Sampling rate of input signal (Hz) |
| channels | Number of channels in the input signal |
| streams | Total number of streams to encode from the input |
| coupled_streams | Number of coupled (stereo) streams to encode |
| mapping | Encoded mapping between channels and streams |
| application | Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO) |
| error | Error code |
| int opus_multistream_encoder_ctl | ( | OpusMSEncoder * | st, |
| int | request, | ||
| ... | |||
| ) |
Get or set options on a multistream encoder state.
| void opus_multistream_encoder_destroy | ( | OpusMSEncoder * | st | ) |
Deallocate a multstream encoder state.
| opus_int32 opus_multistream_encoder_get_size | ( | int | streams, |
| int | coupled_streams | ||
| ) |
Gets the size of an OpusMSEncoder structure.
| streams | Total number of coded streams |
| coupled_streams | Number of coupled (stereo) streams |
| int opus_multistream_encoder_init | ( | OpusMSEncoder * | st, |
| opus_int32 | Fs, | ||
| int | channels, | ||
| int | streams, | ||
| int | coupled_streams, | ||
| const unsigned char * | mapping, | ||
| int | application | ||
| ) |
Initialize an already allocated multistream encoder state.
| st | Encoder state |
| Fs | Sampling rate of input signal (Hz) |
| channels | Number of channels in the input signal |
| streams | Total number of streams to encode from the input |
| coupled_streams | Number of coupled (stereo) streams to encode |
| mapping | Encoded mapping between channels and streams |
| application | Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO) |
| For more information visit the Opus Website. |
©2012 Generated on Fri Sep 21 2012 12:06:40 for Opus by doxygen 1.8.1.1 |