Opus
Opus audio codec (RFC 6716): API and operations manual
1.3.1
Modules
Here is a list of all modules:
 Opus EncoderThis page describes the process and functions used to encode Opus
 Opus DecoderThis page describes the process and functions used to decode Opus
 RepacketizerThe 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 CTLsThese 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 CTLsThese 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 CTLsThese 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 APIThe 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 CustomOpus 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.