These macros are used with the opus_decoder_ctl
and opus_encoder_ctl
calls to generate a particular request.
More...
Defines | |
#define | OPUS_RESET_STATE |
Resets the codec state to be equivalent to a freshly initialized state. | |
#define | OPUS_GET_FINAL_RANGE(x) |
Gets the final state of the codec's entropy coder. | |
#define | OPUS_GET_PITCH(x) |
Gets the pitch of the last decoded frame, if available. | |
#define | OPUS_GET_BANDWIDTH(x) |
Gets the encoder's configured bandpass or the decoder's last bandpass,. |
These macros are used with the opus_decoder_ctl
and opus_encoder_ctl
calls to generate a particular request.
When called on an OpusDecoder
they apply to that particular decoder instance. When called on an OpusEncoder
they apply to the corresponding setting on that encoder instance, if present.
Some usage examples:
int ret; opus_int32 pitch; ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); if (ret == OPUS_OK) return ret; opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); opus_int32 enc_bw, dec_bw; opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); if (enc_bw != dec_bw) { printf("packet bandwidth mismatch!\n"); }
#define OPUS_GET_BANDWIDTH | ( | x | ) |
Gets the encoder's configured bandpass or the decoder's last bandpass,.
[out] | x | int* : Bandwidth value |
#define OPUS_GET_FINAL_RANGE | ( | x | ) |
Gets the final state of the codec's entropy coder.
This is used for testing purposes, The encoder and decoder state should be identical after coding a payload (assuming no data corruption or software bugs)
[out] | x | opus_uint32* : Entropy coder state |
#define OPUS_GET_PITCH | ( | x | ) |
Gets the pitch of the last decoded frame, if available.
This can be used for any post-processing algorithm requiring the use of pitch, e.g. time stretching/shortening. If the last frame was not voiced, or if the pitch was not coded in the frame, then zero is returned.
This CTL is only implemented for decoder instances.
[out] | x | opus_int32* : pitch period at 48 kHz (or 0 if not available) |
#define OPUS_RESET_STATE |
Resets the codec state to be equivalent to a freshly initialized state.
This should be called when switching streams in order to prevent the back to back decoding from giving different results from one at a time decoding.