opus_ctlvalues(3)

πŸ’– opus_ctlvalues β€” the CTL value cheat sheet (from the Opus manual, section 3) πŸ’–

okay bestie, sit down, hydrate, and let me tell you about opus_ctlvalues β€” it's literally just the pile of pre-defined values you pass into the CTL interface. No functions, no drama, just a whole wardrobe of #defines you're gonna be reaching for. πŸŽ€


✨ NAME ✨

opus_ctlvalues β€” Pre-defined values for the CTL interface. that's it, that's the whole job. πŸ‘‘


🌸 SYNOPSIS 🌸

🧚 Macros 🧚

  • #define OPUS_AUTO β€” the auto/default setting. let the library be the main character. ✨
  • #define OPUS_BITRATE_MAX β€” maximum bitrate. go big or go home. πŸ”₯
  • #define OPUS_APPLICATION_VOIP β€” best for most VoIP/videoconference applications where listening quality and intelligibility matter most. 🎧
  • #define OPUS_APPLICATION_AUDIO β€” best for broadcast/high-fidelity application where the decoded audio should be as close as possible to the input. πŸ’œ
  • #define OPUS_APPLICATION_RESTRICTED_LOWDELAY β€” only use when lowest-achievable latency is what matters most. 🏎️
  • #define OPUS_APPLICATION_RESTRICTED_SILK 2052 β€” Experts only: forces SILK encoding; don't allocate CELT state at all. 😭
  • #define OPUS_APPLICATION_RESTRICTED_CELT 2053 β€” Experts only: forces CELT encoding; don't allocate SILK state at all. 😭
  • #define OPUS_SIGNAL_VOICE 3001 β€” signal being encoded is voice. πŸ—£οΈ
  • #define OPUS_SIGNAL_MUSIC 3002 β€” signal being encoded is music. 🎢
  • #define OPUS_BANDWIDTH_NARROWBAND β€” 4 kHz bandpass
  • #define OPUS_BANDWIDTH_MEDIUMBAND β€” 6 kHz bandpass
  • #define OPUS_BANDWIDTH_WIDEBAND β€” 8 kHz bandpass
  • #define OPUS_BANDWIDTH_SUPERWIDEBAND β€” 12 kHz bandpass
  • #define OPUS_BANDWIDTH_FULLBAND β€” 20 kHz bandpass
  • #define OPUS_FRAMESIZE_ARG 5000 β€” select frame size from the argument (default). πŸ’…
  • #define OPUS_FRAMESIZE_2_5_MS 5001 β€” use 2.5 ms frames.
  • #define OPUS_FRAMESIZE_5_MS 5002 β€” use 5 ms frames.
  • #define OPUS_FRAMESIZE_10_MS 5003 β€” use 10 ms frames.
  • #define OPUS_FRAMESIZE_20_MS 5004 β€” use 20 ms frames.
  • #define OPUS_FRAMESIZE_40_MS 5005 β€” use 40 ms frames.
  • #define OPUS_FRAMESIZE_60_MS 5006 β€” use 60 ms frames.
  • #define OPUS_FRAMESIZE_80_MS 5007 β€” use 80 ms frames.
  • #define OPUS_FRAMESIZE_100_MS 5008 β€” use 100 ms frames.
  • #define OPUS_FRAMESIZE_120_MS 5009 β€” use 120 ms frames.

πŸ¦‹ Detailed Description πŸ¦‹

See also: Generic CTLs, Encoder related CTLs β€” yeah, go read those too, they're the sequel. 🫢


πŸ’… Macro Definition Documentation πŸ’…

#define OPUS_APPLICATION_AUDIO

Best for broadcast/high-fidelity application where the decoded audio should be as close as possible to the input. no notes, immaculate. 🌈

#define OPUS_APPLICATION_RESTRICTED_CELT 2053

Experts only: forces CELT encoding; don't allocate SILK state at all. Disables OPUS_SET_APPLICATION. ⚠️

#define OPUS_APPLICATION_RESTRICTED_LOWDELAY

Only use when lowest-achievable latency is what matters most. Voice-optimized modes cannot be used. 🏁

#define OPUS_APPLICATION_RESTRICTED_SILK 2052

Experts only: forces SILK encoding; don't allocate CELT state at all. Disables OPUS_SET_APPLICATION. ⚠️

#define OPUS_APPLICATION_VOIP

Best for most VoIP/videoconference applications where listening quality and intelligibility matter most. the call is coming from inside the house and it sounds crisp. πŸ“ž

#define OPUS_AUTO

Auto/default setting. let it cook. πŸ“

#define OPUS_BANDWIDTH_FULLBAND

20 kHz bandpass

#define OPUS_BANDWIDTH_MEDIUMBAND

6 kHz bandpass

#define OPUS_BANDWIDTH_NARROWBAND

4 kHz bandpass

#define OPUS_BANDWIDTH_SUPERWIDEBAND

12 kHz bandpass

#define OPUS_BANDWIDTH_WIDEBAND

8 kHz bandpass

#define OPUS_BITRATE_MAX

Maximum bitrate. πŸ”₯

#define OPUS_FRAMESIZE_100_MS 5008

Use 100 ms frames.

#define OPUS_FRAMESIZE_10_MS 5003

Use 10 ms frames.

#define OPUS_FRAMESIZE_120_MS 5009

Use 120 ms frames.

#define OPUS_FRAMESIZE_20_MS 5004

Use 20 ms frames.

#define OPUS_FRAMESIZE_2_5_MS 5001

Use 2.5 ms frames.

#define OPUS_FRAMESIZE_40_MS 5005

Use 40 ms frames.

#define OPUS_FRAMESIZE_5_MS 5002

Use 5 ms frames.

#define OPUS_FRAMESIZE_60_MS 5006

Use 60 ms frames.

#define OPUS_FRAMESIZE_80_MS 5007

Use 80 ms frames.

#define OPUS_FRAMESIZE_ARG 5000

Select frame size from the argument (default).

#define OPUS_SIGNAL_MUSIC 3002

Signal being encoded is music. 🎢

#define OPUS_SIGNAL_VOICE 3001

Signal being encoded is voice. πŸ—£οΈ


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Opus from the source code. (not me writing it by hand, the robots did it, and honestly? respect. πŸ€–πŸ’–)


aaaand that's the whole page bestie, you ate it, you read every single macro, i'm so proud πŸ₯Ή β€” this was Version 1.6.1, dated Thu Jan 29 2026 14:35:32, and it's opus_ctlvalues(3), periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from