Formally introduce the terms mode and configuration
and use them more strictly in the rest of the text.
This commit is contained in:
parent
3f3cd99424
commit
e37262c97f
1 changed files with 20 additions and 13 deletions
|
@ -179,13 +179,19 @@ The remaining Opus packet is packed at the end of the Ogg packet using the
|
||||||
regular, undelimited framing from Section 3 of <xref target="RFC6716"/>.
|
regular, undelimited framing from Section 3 of <xref target="RFC6716"/>.
|
||||||
All of the Opus packets in a single Ogg packet MUST be constrained to have the
|
All of the Opus packets in a single Ogg packet MUST be constrained to have the
|
||||||
same duration.
|
same duration.
|
||||||
The duration and coding modes of each Opus packet are contained in the
|
|
||||||
TOC (table of contents) sequence in the first few bytes.
|
|
||||||
A decoder SHOULD treat any Opus packet whose duration is different from that of
|
A decoder SHOULD treat any Opus packet whose duration is different from that of
|
||||||
the first Opus packet in an Ogg packet as if it were an Opus packet with an
|
the first Opus packet in an Ogg packet as if it were an Opus packet with an
|
||||||
illegal TOC sequence.
|
illegal TOC sequence.
|
||||||
</t>
|
</t>
|
||||||
<t>
|
<t>
|
||||||
|
The coding mode (SILK, Hybrid, or CELT), audio bandwidth, channel count,
|
||||||
|
duration (frame size), and number of frames per packet, are indicated in the
|
||||||
|
TOC (table of contents) in the first byte of each Opus packet, as described
|
||||||
|
in Section 3.1 of <xref target="RFC3533"/>.
|
||||||
|
The combination of mode, audio bandwidth, and frame size, is referred to as
|
||||||
|
the configuration of an Opus packet.
|
||||||
|
</t>
|
||||||
|
<t>
|
||||||
The first audio data page SHOULD NOT have the 'continued packet' flag set
|
The first audio data page SHOULD NOT have the 'continued packet' flag set
|
||||||
(which would indicate the first audio data packet is continued from a previous
|
(which would indicate the first audio data packet is continued from a previous
|
||||||
page).
|
page).
|
||||||
|
@ -329,7 +335,7 @@ At 0.6 kbps, this is still a minimal bitrate impact over a naive, low quality
|
||||||
</t>
|
</t>
|
||||||
|
|
||||||
<t>
|
<t>
|
||||||
Since medium-band audio is only supported in the SILK mode, wideband frames
|
Since medium-band audio is an option only in the SILK mode, wideband frames
|
||||||
SHOULD be generated if switching from it to CELT mode, to ensure that
|
SHOULD be generated if switching from it to CELT mode, to ensure that
|
||||||
any PLC implementation that does try to migrate state between the modes
|
any PLC implementation that does try to migrate state between the modes
|
||||||
will be able to preserve all of the available audio bandwidth.
|
will be able to preserve all of the available audio bandwidth.
|
||||||
|
@ -340,9 +346,10 @@ Since medium-band audio is only supported in the SILK mode, wideband frames
|
||||||
<section anchor="preskip" title="Pre-skip">
|
<section anchor="preskip" title="Pre-skip">
|
||||||
<t>
|
<t>
|
||||||
There is some amount of latency introduced during the decoding process, to
|
There is some amount of latency introduced during the decoding process, to
|
||||||
allow for overlap in the CELT modes, stereo mixing in the SILK modes, and
|
allow for overlap in the CELT mode, stereo mixing in the SILK mode, and
|
||||||
resampling, and the encoder will introduce even more latency (though the exact
|
resampling.
|
||||||
amount is not specified).
|
The encoder will also introduce latency (though the exact amount is not
|
||||||
|
specified).
|
||||||
Therefore, the first few samples produced by the decoder do not correspond to
|
Therefore, the first few samples produced by the decoder do not correspond to
|
||||||
real input audio, but are instead composed of padding inserted by the encoder
|
real input audio, but are instead composed of padding inserted by the encoder
|
||||||
to compensate for this latency.
|
to compensate for this latency.
|
||||||
|
@ -603,8 +610,8 @@ When cropping the beginning of existing Ogg Opus streams, a pre-skip of at
|
||||||
This field is <spanx style="emph">not</spanx> the sample rate to use for
|
This field is <spanx style="emph">not</spanx> the sample rate to use for
|
||||||
playback of the encoded data.
|
playback of the encoded data.
|
||||||
<vspace blankLines="1"/>
|
<vspace blankLines="1"/>
|
||||||
Opus has a handful of coding modes, with internal audio bandwidths of 4, 6, 8,
|
Opus can switch between internal audio bandwidths of 4, 6, 8, 12, and
|
||||||
12, and 20 kHz.
|
20 kHz.
|
||||||
Each packet in the stream may have a different audio bandwidth.
|
Each packet in the stream may have a different audio bandwidth.
|
||||||
Regardless of the audio bandwidth, the reference decoder supports decoding any
|
Regardless of the audio bandwidth, the reference decoder supports decoding any
|
||||||
stream at a sample rate of 8, 12, 16, 24, or 48 kHz.
|
stream at a sample rate of 8, 12, 16, 24, or 48 kHz.
|
||||||
|
@ -760,8 +767,8 @@ Regardless of the internal channel count, any Opus stream can be decoded as
|
||||||
mono (a single channel) or stereo (two channels) by appropriate initialization
|
mono (a single channel) or stereo (two channels) by appropriate initialization
|
||||||
of the decoder.
|
of the decoder.
|
||||||
The 'coupled stream count' field indicates that the first M Opus decoders are
|
The 'coupled stream count' field indicates that the first M Opus decoders are
|
||||||
to be initialized in stereo mode, and the remaining N-M decoders are to be
|
to be initialized for stereo output, and the remaining N-M decoders are to be
|
||||||
initialized in mono mode.
|
initialized for mono only.
|
||||||
The total number of decoded channels, (M+N), MUST be no larger than 255, as
|
The total number of decoded channels, (M+N), MUST be no larger than 255, as
|
||||||
there is no way to index more channels than that in the channel mapping.
|
there is no way to index more channels than that in the channel mapping.
|
||||||
<vspace blankLines="1"/>
|
<vspace blankLines="1"/>
|
||||||
|
@ -827,7 +834,7 @@ Vorbis channel order.
|
||||||
</t>
|
</t>
|
||||||
<t>
|
<t>
|
||||||
Each channel is assigned to a speaker location in a conventional surround
|
Each channel is assigned to a speaker location in a conventional surround
|
||||||
configuration.
|
arrangement.
|
||||||
Specific locations depend on the number of channels, and are given below
|
Specific locations depend on the number of channels, and are given below
|
||||||
in order of the corresponding channel indicies.
|
in order of the corresponding channel indicies.
|
||||||
<list style="symbols">
|
<list style="symbols">
|
||||||
|
@ -840,8 +847,8 @@ Specific locations depend on the number of channels, and are given below
|
||||||
<t>7 channels: 6.1 surround (front left, front center, front right, side left, side right, rear center, LFE).</t>
|
<t>7 channels: 6.1 surround (front left, front center, front right, side left, side right, rear center, LFE).</t>
|
||||||
<t>8 channels: 7.1 surround (front left, front center, front right, side left, side right, rear left, rear right, LFE)</t>
|
<t>8 channels: 7.1 surround (front left, front center, front right, side left, side right, rear left, rear right, LFE)</t>
|
||||||
</list>
|
</list>
|
||||||
This set of surround configurations and speaker location orderings is the same
|
This set of surround options and speaker location orderings is the same
|
||||||
as the one used by the Vorbis codec <xref target="vorbis-mapping"/>.
|
as those used by the Vorbis codec <xref target="vorbis-mapping"/>.
|
||||||
The ordering is different from the one used by the
|
The ordering is different from the one used by the
|
||||||
WAVE <xref target="wave-multichannel"/> and
|
WAVE <xref target="wave-multichannel"/> and
|
||||||
FLAC <xref target="flac"/> formats,
|
FLAC <xref target="flac"/> formats,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue