Commit fa869134 authored by Jean-Marc Valin's avatar Jean-Marc Valin
Browse files

draft update

parent 43c260ba
celt @ d25dd2bf
Subproject commit c914f5ea509bfb0274858e6f2794bd1f7e3df57a Subproject commit d25dd2bff9f111fcc8d2de802c1cca337db27873
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'> <!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>
<?rfc toc="yes" symrefs="yes" ?> <?rfc toc="yes" symrefs="yes" ?>
<rfc ipr="trust200902" category="std" docName="draft-ietf-codec-opus-05"> <rfc ipr="trust200902" category="std" docName="draft-ietf-codec-opus-06">
<front> <front>
<title abbrev="Interactive Audio Codec">Definition of the Opus Audio Codec</title> <title abbrev="Interactive Audio Codec">Definition of the Opus Audio Codec</title>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
</author> </author>
<date day="14" month="March" year="2011" /> <date day="31" month="March" year="2011" />
<area>General</area> <area>General</area>
...@@ -198,11 +198,21 @@ There is thus a total of 32 configurations, encoded in 5 bits. One bit is used t ...@@ -198,11 +198,21 @@ There is thus a total of 32 configurations, encoded in 5 bits. One bit is used t
<t>3: arbitrary number of frames in the packet</t> <t>3: arbitrary number of frames in the packet</t>
</list> </list>
For code 2, the TOC byte is followed by the length of the first frame, encoded as described below. For code 2, the TOC byte is followed by the length of the first frame, encoded as described below.
For code 3, the TOC byte is followed by a byte encoding the number of frames in the packet, with the MSB indicating VBR. In the VBR case, the byte indicating the number of frames is followed by N-1 frame For code 3, the TOC byte is followed by a byte encoding the number of frames in the packet, with
bit 7 indicating VBR and bit 6 indicating that padding is inserted. In the VBR case, the byte
indicating the number of frames is followed by N-1 frame
lengths encoded as described below. As an additional limit, the audio duration contained lengths encoded as described below. As an additional limit, the audio duration contained
within a packet MUST NOT exceed 120 ms. within a packet MUST NOT exceed 120 ms.
</t> </t>
<t>
When padding is used, the number of bytes of padding is encoded in the following bytes. Values
from 0-254 indicate that 0-254 bytes of padding are included at the end. If the value is 255,
then the padding is 254 bytes, plus the padding value encoded in the next byte. By using code
255 multiple times, it is possible to add any amount of padding. The padding bytes produced by
the encoder MUST be zero, but the decoder MUST accept any value for the padding bytes.
</t>
<t> <t>
The compressed size of the frames (if needed) is indicated -- usually -- with one byte, with the following meaning: The compressed size of the frames (if needed) is indicated -- usually -- with one byte, with the following meaning:
<list style="symbols"> <list style="symbols">
...@@ -2031,8 +2041,9 @@ This document has no actions for IANA. ...@@ -2031,8 +2041,9 @@ This document has no actions for IANA.
<t> <t>
Thanks to all other developers, including Raymond Chen, Soeren Skak Jensen, Gregory Maxwell, Thanks to all other developers, including Raymond Chen, Soeren Skak Jensen, Gregory Maxwell,
Christopher Montgomery, Karsten Vandborg Soerensen, and Timothy Terriberry. We would also Christopher Montgomery, Karsten Vandborg Soerensen, and Timothy Terriberry. We would also
like to thank Igor Dyakonov, Jan Skoglund and Keith Yan for their help in testing the like to thank Igor Dyakonov, Jan Skoglund for their help with subjective testing of the
codec. Opus codec. Thanks to John Ridges, Keith Yan and many others on the Opus and CELT mailing lists
for their bug reports and feeback.
</t> </t>
</section> </section>
......
...@@ -49,7 +49,7 @@ extern "C" { ...@@ -49,7 +49,7 @@ extern "C" {
/** An (or more) invalid argument (e.g. out of range) */ /** An (or more) invalid argument (e.g. out of range) */
#define OPUS_BAD_ARG -1 #define OPUS_BAD_ARG -1
/** The mode struct passed is invalid */ /** The mode struct passed is invalid */
#define OPUS_INVALID_MODE -2 #define OPUS_BUFFER_TOO_SMALL -2
/** An internal error was detected */ /** An internal error was detected */
#define OPUS_INTERNAL_ERROR -3 #define OPUS_INTERNAL_ERROR -3
/** The data passed (e.g. compressed data to decoder) is corrupted */ /** The data passed (e.g. compressed data to decoder) is corrupted */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment