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

Modules
Here is a list of all modules:

Opus Encoder | This page describes the process and functions used to encode Opus
Opus Decoder | This page describes the process and functions used to decode Opus
Repacketizer | The repacketizer can be used to merge multiple Opus packets into a single packet or alternatively to split Opus packets that have previously been merged. Splitting valid Opus packets is always guaranteed to succeed, whereas merging valid packets only succeeds if all frames have the same mode, bandwidth, and frame size, and when the total duration of the merged packet is no more than 120 ms. The 120 ms limit comes from the specification and limits decoder memory requirements at a point where framing overhead becomes negligible
Error codes |
Pre-defined values for CTL interface |
Encoder related CTLs | 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
Generic CTLs | These macros are used with the `opus_decoder_ctl` and `opus_encoder_ctl` calls to generate a particular request
Decoder related CTLs |
Opus library information functions |
Multistream specific encoder and decoder CTLs | These are convenience macros that are specific to the opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() interface. The CTLs from Generic CTLs, Encoder related CTLs, and Decoder related CTLs may be applied to a multistream encoder or decoder as well. In addition, you may retrieve the encoder or decoder state for an specific stream via OPUS_MULTISTREAM_GET_ENCODER_STATE or OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually
Opus Multistream API | The multistream API allows individual Opus streams to be combined into a single packet, enabling support for up to 255 channels. Unlike an elementary Opus stream, the encoder and decoder must negotiate the channel configuration before the decoder can successfully interpret the data in the packets produced by the encoder. Some basic information, such as packet duration, can be computed without any special negotiation
Opus Custom | Opus Custom is an optional part of the Opus specification and reference implementation which uses a distinct API from the regular API and supports frame sizes that are not normally supported. Use of Opus Custom is discouraged for all but very special applications for which a frame size different from 2.5, 5, 10, or 20 ms is needed (for either complexity or latency reasons) and where interoperability is less important

For more information visit the Opus Website. |