Opus audio codec (RFC 6716): API and operations manual
1.1.2

Macros
Decoder related CTLs

## Macros

#define | OPUS_SET_GAIN(x)
| Configures decoder gain adjustment. More...
#define | OPUS_GET_GAIN(x)
| Gets the decoder's configured gain adjustment. More...
#define | OPUS_GET_LAST_PACKET_DURATION(x)
| Gets the duration (in samples) of the last packet successfully decoded or concealed. More...
#define | OPUS_GET_PITCH(x)
| Gets the pitch of the last decoded frame, if available. More...

## Detailed Description

See also
  Generic CTLs, Encoder related CTLs, Opus Decoder

## Macro Definition Documentation

## § OPUS_GET_GAIN

#define OPUS_GET_GAIN | ( |  | x | ) |

Gets the decoder's configured gain adjustment.

See also
  OPUS_SET_GAIN

Parameters

  [out] | x | `opus_int32 *`: Amount to scale PCM signal by in Q8 dB units.

## § OPUS_GET_LAST_PACKET_DURATION

#define OPUS_GET_LAST_PACKET_DURATION | ( |  | x | ) |

Gets the duration (in samples) of the last packet successfully decoded or concealed.

Parameters

  [out] | x | `opus_int32 *`: Number of samples (at current sampling rate).

## § OPUS_GET_PITCH

#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.

Parameters

  [out] | x | `opus_int32 *`: pitch period at 48 kHz (or 0 if not available)

## § OPUS_SET_GAIN

#define OPUS_SET_GAIN | ( |  | x | ) |

Configures decoder gain adjustment.

Scales the decoded output by a factor specified in Q8 dB units. This has a maximum range of -32768 to 32767 inclusive, and returns OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. This setting survives decoder reset.

gain = pow(10, x/(20.0*256))

Parameters

  [in] | x | `opus_int32`: Amount to scale PCM signal by in Q8 dB units.

For more information visit the Opus Website. |