opus_encoderctls(3) Opus opus_encoderctls(3) NNAAMMEE opus_encoderctls - These are convenience macros for use with the opus_encode_ctl interface. SSYYNNOOPPSSIISS MMaaccrrooss #define OOPPUUSS__SSEETT__CCOOMMPPLLEEXXIITTYY(x) Configures the encoder's computational complexity. #define OOPPUUSS__GGEETT__CCOOMMPPLLEEXXIITTYY(x) Gets the encoder's complexity configuration. #define OOPPUUSS__SSEETT__BBIITTRRAATTEE(x) Configures the bitrate in the encoder. #define OOPPUUSS__GGEETT__BBIITTRRAATTEE(x) Gets the encoder's bitrate configuration. #define OOPPUUSS__SSEETT__VVBBRR(x) Enables or disables variable bitrate (VBR) in the encoder. #define OOPPUUSS__GGEETT__VVBBRR(x) Determine if variable bitrate (VBR) is enabled in the encoder. #define OOPPUUSS__SSEETT__VVBBRR__CCOONNSSTTRRAAIINNTT(x) Enables or disables constrained VBR in the encoder. #define OOPPUUSS__GGEETT__VVBBRR__CCOONNSSTTRRAAIINNTT(x) Determine if constrained VBR is enabled in the encoder. #define OOPPUUSS__SSEETT__FFOORRCCEE__CCHHAANNNNEELLSS(x) Configures mono/stereo forcing in the encoder. #define OOPPUUSS__GGEETT__FFOORRCCEE__CCHHAANNNNEELLSS(x) Gets the encoder's forced channel configuration. #define OOPPUUSS__SSEETT__MMAAXX__BBAANNDDWWIIDDTTHH(x) Configures the maximum bandpass that the encoder will select automatically. #define OOPPUUSS__GGEETT__MMAAXX__BBAANNDDWWIIDDTTHH(x) Gets the encoder's configured maximum allowed bandpass. #define OOPPUUSS__SSEETT__BBAANNDDWWIIDDTTHH(x) Sets the encoder's bandpass to a specific value. #define OOPPUUSS__SSEETT__SSIIGGNNAALL(x) Configures the type of signal being encoded. #define OOPPUUSS__GGEETT__SSIIGGNNAALL(x) Gets the encoder's configured signal type. #define OOPPUUSS__SSEETT__AAPPPPLLIICCAATTIIOONN(x) Configures the encoder's intended application. #define OOPPUUSS__GGEETT__AAPPPPLLIICCAATTIIOONN(x) Gets the encoder's configured application. #define OOPPUUSS__GGEETT__LLOOOOKKAAHHEEAADD(x) Gets the total samples of delay added by the entire codec. #define OOPPUUSS__SSEETT__IINNBBAANNDD__FFEECC(x) Configures the encoder's use of inband forward error correction (FEC). #define OOPPUUSS__GGEETT__IINNBBAANNDD__FFEECC(x) Gets encoder's configured use of inband forward error correction. #define OOPPUUSS__SSEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC(x) Configures the encoder's expected packet loss percentage. #define OOPPUUSS__GGEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC(x) Gets the encoder's configured packet loss percentage. #define OOPPUUSS__SSEETT__DDTTXX(x) Configures the encoder's use of discontinuous transmission (DTX). #define OOPPUUSS__GGEETT__DDTTXX(x) Gets encoder's configured use of discontinuous transmission. #define OOPPUUSS__SSEETT__LLSSBB__DDEEPPTTHH(x) Configures the depth of signal being encoded. #define OOPPUUSS__GGEETT__LLSSBB__DDEEPPTTHH(x) Gets the encoder's configured signal depth. #define OOPPUUSS__SSEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN(x) Configures the encoder's use of variable duration frames. #define OOPPUUSS__GGEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN(x) Gets the encoder's configured use of variable duration frames. #define OOPPUUSS__SSEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD(x) If set to 1, disables almost all use of prediction, making frames almost completely independent. #define OOPPUUSS__GGEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD(x) Gets the encoder's configured prediction status. DDeettaaiilleedd DDeessccrriippttiioonn These are convenience macros for use with the opus_encode_ctl interface. They are used to generate the appropriate series of arguments for that call, passing the correct type, size and so on as expected for each particular request. Some usage examples: int ret; ret = opus_encoder_ctl(enc_ctx, OPUS_SET_BANDWIDTH(OPUS_AUTO)); if (ret != OPUS_OK) return ret; opus_int32 rate; opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&rate)); opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); SSeeee aallssoo:: GGeenneerriicc CCTTLLss, OOppuuss EEnnccooddeerr MMaaccrroo DDeeffiinniittiioonn DDooccuummeennttaattiioonn ##ddeeffiinnee OOPPUUSS__GGEETT__AAPPPPLLIICCAATTIIOONN((xx)) Gets the encoder's configured application. SSeeee aallssoo:: OOPPUUSS__SSEETT__AAPPPPLLIICCAATTIIOONN PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: OOPPUUSS__AAPPPPLLIICCAATTIIOONN__VVOOIIPP Process signal for improved speech intelligibility. OOPPUUSS__AAPPPPLLIICCAATTIIOONN__AAUUDDIIOO Favor faithfulness to the original input. OOPPUUSS__AAPPPPLLIICCAATTIIOONN__RREESSTTRRIICCTTEEDD__LLOOWWDDEELLAAYY Configure the minimum possible coding delay by disabling certain modes of operation. ##ddeeffiinnee OOPPUUSS__GGEETT__BBIITTRRAATTEE((xx)) Gets the encoder's bitrate configuration. SSeeee aallssoo:: OOPPUUSS__SSEETT__BBIITTRRAATTEE PPaarraammeetteerrss:: _x opus_int32 *: Returns the bitrate in bits per second. The default is determined based on the number of channels and the input sampling rate. ##ddeeffiinnee OOPPUUSS__GGEETT__CCOOMMPPLLEEXXIITTYY((xx)) Gets the encoder's complexity configuration. SSeeee aallssoo:: OOPPUUSS__SSEETT__CCOOMMPPLLEEXXIITTYY PPaarraammeetteerrss:: _x opus_int32 *: Returns a value in the range 0-10, inclusive. ##ddeeffiinnee OOPPUUSS__GGEETT__DDTTXX((xx)) Gets encoder's configured use of discontinuous transmission. SSeeee aallssoo:: OOPPUUSS__SSEETT__DDTTXX PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: 00 DTX disabled (default). 11 DTX enabled. ##ddeeffiinnee OOPPUUSS__GGEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN((xx)) Gets the encoder's configured use of variable duration frames. SSeeee aallssoo:: OOPPUUSS__SSEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: OOPPUUSS__FFRRAAMMEESSIIZZEE__AARRGG Select frame size from the argument (default). OOPPUUSS__FFRRAAMMEESSIIZZEE__22__55__MMSS Use 2.5 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__55__MMSS Use 5 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__1100__MMSS Use 10 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__2200__MMSS Use 20 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__4400__MMSS Use 40 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__6600__MMSS Use 60 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__8800__MMSS Use 80 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__110000__MMSS Use 100 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__112200__MMSS Use 120 ms frames. ##ddeeffiinnee OOPPUUSS__GGEETT__FFOORRCCEE__CCHHAANNNNEELLSS((xx)) Gets the encoder's forced channel configuration. SSeeee aallssoo:: OOPPUUSS__SSEETT__FFOORRCCEE__CCHHAANNNNEELLSS PPaarraammeetteerrss:: _x opus_int32 *: OOPPUUSS__AAUUTTOO Not forced (default) 11 Forced mono 22 Forced stereo ##ddeeffiinnee OOPPUUSS__GGEETT__IINNBBAANNDD__FFEECC((xx)) Gets encoder's configured use of inband forward error correction. SSeeee aallssoo:: OOPPUUSS__SSEETT__IINNBBAANNDD__FFEECC PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: 00 Inband FEC disabled (default). 11 Inband FEC enabled. ##ddeeffiinnee OOPPUUSS__GGEETT__LLOOOOKKAAHHEEAADD((xx)) Gets the total samples of delay added by the entire codec. This can be queried by the encoder and then the provided number of samples can be skipped on from the start of the decoder's output to provide time aligned input and output. From the perspective of a decoding application the real data begins this many samples late. The decoder contribution to this delay is identical for all decoders, but the encoder portion of the delay may vary from implementation to implementation, version to version, or even depend on the encoder's initial configuration. Applications needing delay compensation should call this CTL rather than hard-coding a value. PPaarraammeetteerrss:: _x opus_int32 *: Number of lookahead samples ##ddeeffiinnee OOPPUUSS__GGEETT__LLSSBB__DDEEPPTTHH((xx)) Gets the encoder's configured signal depth. SSeeee aallssoo:: OOPPUUSS__SSEETT__LLSSBB__DDEEPPTTHH PPaarraammeetteerrss:: _x opus_int32 *: Input precision in bits, between 8 and 24 (default: 24). ##ddeeffiinnee OOPPUUSS__GGEETT__MMAAXX__BBAANNDDWWIIDDTTHH((xx)) Gets the encoder's configured maximum allowed bandpass. SSeeee aallssoo:: OOPPUUSS__SSEETT__MMAAXX__BBAANNDDWWIIDDTTHH PPaarraammeetteerrss:: _x opus_int32 *: Allowed values: OOPPUUSS__BBAANNDDWWIIDDTTHH__NNAARRRROOWWBBAANNDD 4 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__MMEEDDIIUUMMBBAANNDD 6 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__WWIIDDEEBBAANNDD 8 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__SSUUPPEERRWWIIDDEEBBAANNDD 12 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__FFUULLLLBBAANNDD 20 kHz passband (default) ##ddeeffiinnee OOPPUUSS__GGEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC((xx)) Gets the encoder's configured packet loss percentage. SSeeee aallssoo:: OOPPUUSS__SSEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC PPaarraammeetteerrss:: _x opus_int32 *: Returns the configured loss percentage in the range 0-100, inclusive (default: 0). ##ddeeffiinnee OOPPUUSS__GGEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD((xx)) Gets the encoder's configured prediction status. SSeeee aallssoo:: OOPPUUSS__SSEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: 00 Prediction enabled (default). 11 Prediction disabled. ##ddeeffiinnee OOPPUUSS__GGEETT__SSIIGGNNAALL((xx)) Gets the encoder's configured signal type. SSeeee aallssoo:: OOPPUUSS__SSEETT__SSIIGGNNAALL PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: OOPPUUSS__AAUUTTOO (default) OOPPUUSS__SSIIGGNNAALL__VVOOIICCEE Bias thresholds towards choosing LPC or Hybrid modes. OOPPUUSS__SSIIGGNNAALL__MMUUSSIICC Bias thresholds towards choosing MDCT modes. ##ddeeffiinnee OOPPUUSS__GGEETT__VVBBRR((xx)) Determine if variable bitrate (VBR) is enabled in the encoder. SSeeee aallssoo:: OOPPUUSS__SSEETT__VVBBRR OOPPUUSS__GGEETT__VVBBRR__CCOONNSSTTRRAAIINNTT PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: 00 Hard CBR. 11 VBR (default). The exact type of VBR may be retrieved via OOPPUUSS__GGEETT__VVBBRR__CCOONNSSTTRRAAIINNTT. ##ddeeffiinnee OOPPUUSS__GGEETT__VVBBRR__CCOONNSSTTRRAAIINNTT((xx)) Determine if constrained VBR is enabled in the encoder. SSeeee aallssoo:: OOPPUUSS__SSEETT__VVBBRR__CCOONNSSTTRRAAIINNTT OOPPUUSS__GGEETT__VVBBRR PPaarraammeetteerrss:: _x opus_int32 *: Returns one of the following values: 00 Unconstrained VBR. 11 Constrained VBR (default). ##ddeeffiinnee OOPPUUSS__SSEETT__AAPPPPLLIICCAATTIIOONN((xx)) Configures the encoder's intended application. The initial value is a mandatory argument to the encoder_create function. SSeeee aallssoo:: OOPPUUSS__GGEETT__AAPPPPLLIICCAATTIIOONN PPaarraammeetteerrss:: _x opus_int32: Returns one of the following values: OOPPUUSS__AAPPPPLLIICCAATTIIOONN__VVOOIIPP Process signal for improved speech intelligibility. OOPPUUSS__AAPPPPLLIICCAATTIIOONN__AAUUDDIIOO Favor faithfulness to the original input. OOPPUUSS__AAPPPPLLIICCAATTIIOONN__RREESSTTRRIICCTTEEDD__LLOOWWDDEELLAAYY Configure the minimum possible coding delay by disabling certain modes of operation. ##ddeeffiinnee OOPPUUSS__SSEETT__BBAANNDDWWIIDDTTHH((xx)) Sets the encoder's bandpass to a specific value. This prevents the encoder from automatically selecting the bandpass based on the available bitrate. If an application knows the bandpass of the input audio it is providing, it should normally use OOPPUUSS__SSEETT__MMAAXX__BBAANNDDWWIIDDTTHH instead, which still gives the encoder the freedom to reduce the bandpass when the bitrate becomes too low, for better overall quality. SSeeee aallssoo:: OOPPUUSS__GGEETT__BBAANNDDWWIIDDTTHH PPaarraammeetteerrss:: _x opus_int32: Allowed values: OOPPUUSS__AAUUTTOO (default) OOPPUUSS__BBAANNDDWWIIDDTTHH__NNAARRRROOWWBBAANNDD 4 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__MMEEDDIIUUMMBBAANNDD 6 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__WWIIDDEEBBAANNDD 8 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__SSUUPPEERRWWIIDDEEBBAANNDD 12 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__FFUULLLLBBAANNDD 20 kHz passband ##ddeeffiinnee OOPPUUSS__SSEETT__BBIITTRRAATTEE((xx)) Configures the bitrate in the encoder. Rates from 500 to 512000 bits per second are meaningful, as well as the special values OOPPUUSS__AAUUTTOO and OOPPUUSS__BBIITTRRAATTEE__MMAAXX. The value OOPPUUSS__BBIITTRRAATTEE__MMAAXX can be used to cause the codec to use as much rate as it can, which is useful for controlling the rate by adjusting the output buffer size. SSeeee aallssoo:: OOPPUUSS__GGEETT__BBIITTRRAATTEE PPaarraammeetteerrss:: _x opus_int32: Bitrate in bits per second. The default is determined based on the number of channels and the input sampling rate. ##ddeeffiinnee OOPPUUSS__SSEETT__CCOOMMPPLLEEXXIITTYY((xx)) Configures the encoder's computational complexity. The supported range is 0-10 inclusive with 10 representing the highest complexity. SSeeee aallssoo:: OOPPUUSS__GGEETT__CCOOMMPPLLEEXXIITTYY PPaarraammeetteerrss:: _x opus_int32: Allowed values: 0-10, inclusive. ##ddeeffiinnee OOPPUUSS__SSEETT__DDTTXX((xx)) Configures the encoder's use of discontinuous transmission (DTX). NNoottee:: This is only applicable to the LPC layer SSeeee aallssoo:: OOPPUUSS__GGEETT__DDTTXX PPaarraammeetteerrss:: _x opus_int32: Allowed values: 00 Disable DTX (default). 11 Enabled DTX. ##ddeeffiinnee OOPPUUSS__SSEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN((xx)) Configures the encoder's use of variable duration frames. When variable duration is enabled, the encoder is free to use a shorter frame size than the one requested in the opus_encode*() call. It is then the user's responsibility to verify how much audio was encoded by checking the ToC byte of the encoded packet. The part of the audio that was not encoded needs to be resent to the encoder for the next call. Do not use this option unless you rreeaallllyy know what you are doing. SSeeee aallssoo:: OOPPUUSS__GGEETT__EEXXPPEERRTT__FFRRAAMMEE__DDUURRAATTIIOONN PPaarraammeetteerrss:: _x opus_int32: Allowed values: OOPPUUSS__FFRRAAMMEESSIIZZEE__AARRGG Select frame size from the argument (default). OOPPUUSS__FFRRAAMMEESSIIZZEE__22__55__MMSS Use 2.5 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__55__MMSS Use 5 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__1100__MMSS Use 10 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__2200__MMSS Use 20 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__4400__MMSS Use 40 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__6600__MMSS Use 60 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__8800__MMSS Use 80 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__110000__MMSS Use 100 ms frames. OOPPUUSS__FFRRAAMMEESSIIZZEE__112200__MMSS Use 120 ms frames. ##ddeeffiinnee OOPPUUSS__SSEETT__FFOORRCCEE__CCHHAANNNNEELLSS((xx)) Configures mono/stereo forcing in the encoder. This can force the encoder to produce packets encoded as either mono or stereo, regardless of the format of the input audio. This is useful when the caller knows that the input signal is currently a mono source embedded in a stereo stream. SSeeee aallssoo:: OOPPUUSS__GGEETT__FFOORRCCEE__CCHHAANNNNEELLSS PPaarraammeetteerrss:: _x opus_int32: Allowed values: OOPPUUSS__AAUUTTOO Not forced (default) 11 Forced mono 22 Forced stereo ##ddeeffiinnee OOPPUUSS__SSEETT__IINNBBAANNDD__FFEECC((xx)) Configures the encoder's use of inband forward error correction (FEC). NNoottee:: This is only applicable to the LPC layer SSeeee aallssoo:: OOPPUUSS__GGEETT__IINNBBAANNDD__FFEECC PPaarraammeetteerrss:: _x opus_int32: Allowed values: 00 Disable inband FEC (default). 11 Enable inband FEC. ##ddeeffiinnee OOPPUUSS__SSEETT__LLSSBB__DDEEPPTTHH((xx)) Configures the depth of signal being encoded. This is a hint which helps the encoder identify silence and near-silence. It represents the number of significant bits of linear intensity below which the signal contains ignorable quantization or other noise. For example, OOPPUUSS__SSEETT__LLSSBB__DDEEPPTTHH((1144)) would be an appropriate setting for G.711 u-law input. OOPPUUSS__SSEETT__LLSSBB__DDEEPPTTHH((1166)) would be appropriate for 16-bit linear pcm input with ooppuuss__eennccooddee__ffllooaatt(()). When using ooppuuss__eennccooddee(()) instead of ooppuuss__eennccooddee__ffllooaatt(()), or when libopus is compiled for fixed-point, the encoder uses the minimum of the value set here and the value 16. SSeeee aallssoo:: OOPPUUSS__GGEETT__LLSSBB__DDEEPPTTHH PPaarraammeetteerrss:: _x opus_int32: Input precision in bits, between 8 and 24 (default: 24). ##ddeeffiinnee OOPPUUSS__SSEETT__MMAAXX__BBAANNDDWWIIDDTTHH((xx)) Configures the maximum bandpass that the encoder will select automatically. Applications should normally use this instead of OOPPUUSS__SSEETT__BBAANNDDWWIIDDTTHH (leaving that set to the default, OOPPUUSS__AAUUTTOO). This allows the application to set an upper bound based on the type of input it is providing, but still gives the encoder the freedom to reduce the bandpass when the bitrate becomes too low, for better overall quality. SSeeee aallssoo:: OOPPUUSS__GGEETT__MMAAXX__BBAANNDDWWIIDDTTHH PPaarraammeetteerrss:: _x opus_int32: Allowed values: OOPPUUSS__BBAANNDDWWIIDDTTHH__NNAARRRROOWWBBAANNDD 4 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__MMEEDDIIUUMMBBAANNDD 6 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__WWIIDDEEBBAANNDD 8 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__SSUUPPEERRWWIIDDEEBBAANNDD 12 kHz passband OOPPUUSS__BBAANNDDWWIIDDTTHH__FFUULLLLBBAANNDD 20 kHz passband (default) ##ddeeffiinnee OOPPUUSS__SSEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC((xx)) Configures the encoder's expected packet loss percentage. Higher values trigger progressively more loss resistant behavior in the encoder at the expense of quality at a given bitrate in the absence of packet loss, but greater quality under loss. SSeeee aallssoo:: OOPPUUSS__GGEETT__PPAACCKKEETT__LLOOSSSS__PPEERRCC PPaarraammeetteerrss:: _x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). ##ddeeffiinnee OOPPUUSS__SSEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD((xx)) If set to 1, disables almost all use of prediction, making frames almost completely independent. This reduces quality. SSeeee aallssoo:: OOPPUUSS__GGEETT__PPRREEDDIICCTTIIOONN__DDIISSAABBLLEEDD PPaarraammeetteerrss:: _x opus_int32: Allowed values: 00 Enable prediction (default). 11 Disable prediction. ##ddeeffiinnee OOPPUUSS__SSEETT__SSIIGGNNAALL((xx)) Configures the type of signal being encoded. This is a hint which helps the encoder's mode selection. SSeeee aallssoo:: OOPPUUSS__GGEETT__SSIIGGNNAALL PPaarraammeetteerrss:: _x opus_int32: Allowed values: OOPPUUSS__AAUUTTOO (default) OOPPUUSS__SSIIGGNNAALL__VVOOIICCEE Bias thresholds towards choosing LPC or Hybrid modes. OOPPUUSS__SSIIGGNNAALL__MMUUSSIICC Bias thresholds towards choosing MDCT modes. ##ddeeffiinnee OOPPUUSS__SSEETT__VVBBRR((xx)) Enables or disables variable bitrate (VBR) in the encoder. The configured bitrate may not be met exactly because frames must be an integer number of bytes in length. SSeeee aallssoo:: OOPPUUSS__GGEETT__VVBBRR OOPPUUSS__SSEETT__VVBBRR__CCOONNSSTTRRAAIINNTT PPaarraammeetteerrss:: _x opus_int32: Allowed values: 00 Hard CBR. For LPC/hybrid modes at very low bit-rate, this can cause noticeable quality degradation. 11 VBR (default). The exact type of VBR is controlled by OOPPUUSS__SSEETT__VVBBRR__CCOONNSSTTRRAAIINNTT. ##ddeeffiinnee OOPPUUSS__SSEETT__VVBBRR__CCOONNSSTTRRAAIINNTT((xx)) Enables or disables constrained VBR in the encoder. This setting is ignored when the encoder is in CBR mode. WWaarrnniinngg:: Only the MDCT mode of Opus currently heeds the constraint. Speech mode ignores it completely, hybrid mode may fail to obey it if the LPC layer uses more bitrate than the constraint would have permitted. SSeeee aallssoo:: OOPPUUSS__GGEETT__VVBBRR__CCOONNSSTTRRAAIINNTT OOPPUUSS__SSEETT__VVBBRR PPaarraammeetteerrss:: _x opus_int32: Allowed values: 00 Unconstrained VBR. 11 Constrained VBR (default). This creates a maximum of one frame of buffering delay assuming a transport with a serialization speed of the nominal bitrate. AAuutthhoorr Generated automatically by Doxygen for Opus from the source code. Version 1.3.1 Wed Aug 24 2022 opus_encoderctls(3)