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 |