shithub: opus

Download patch

ref: f727386100e8021bf2bf27a746220419b2124c85
parent: 08192e317c23f8e2752efe53b016b0a21f483fc2
author: Jean-Marc Valin <[email protected]>
date: Thu Jul 2 11:04:59 EDT 2009

ietf doc: folding, VBR, misc

--- a/doc/ietf/draft-valin-celt-codec.xml
+++ b/doc/ietf/draft-valin-celt-codec.xml
@@ -528,6 +528,21 @@
 Otherwise, no use of pitch is made.
 </t>
 
+<t>
+For frequencies above the highest pitch band (~6374 Hz), the prediction is replaced by
+spectral folding if and only if the folding bit is set (otherwise, the prediction is simply zero).
+The folding prediction uses the quantised spectrum at lower frequencies with a gain that depends
+both on the width of the band N and the number of pulses allocated K:
+</t>
+
+<t>
+g = N / (N + kf * K),
+</t>
+
+<t>
+where kf = 6. 
+</t>
+
 </section>
 
 <section anchor="pvq" title="Spherical Vector Quantization">
@@ -643,7 +658,7 @@
 
 <section anchor="vbr" title="Variable Bitrate (VBR)">
 <t>
-Each CELT frame can be encoded in a different number of octets, making it possible to vary the bitrate at will. This property can be used to implement source-controlled variable bitrate (VBR).
+Each CELT frame can be encoded in a different number of octets, making it possible to vary the bitrate at will. This property can be used to implement source-controlled variable bitrate (VBR). Support for VBR is OPTIONAL for the encoder, but a decoder MUST be prepared to decode a stream that changes its bit-rate dynamically. The method used to vary the bit-rate in VBR mode is left to the implementor, as long as each frame can be decoded by the reference decoder.
 </t>
 </section>
 
@@ -803,12 +818,17 @@
 
 -->
 
+<section title="IANA Considerations ">
+<t>
+This document has no actions for IANA.
+</t>
+</section>
 
+
 <section anchor="Acknowledgments" title="Acknowledgments">
 
 <t>
-The authors would also like to thank the following members of the 
-CELT and AVT communities for their input:
+The authors would also like to thank the CELT users who contributed source code, feature requests, suggestions or comments.
 </t>
 </section> 
 
--- /dev/null
+++ b/doc/ietf/wrap_lines.c
@@ -1,0 +1,34 @@
+#include <string.h>
+#include <stdio.h>
+
+int main()
+{
+	int comment = 0;
+	int col = 0;
+	char c0, c1;
+	c0 = getchar();
+	while (!feof(stdin))
+	{
+		c1 = getchar();
+		if (c1==9)
+			c1 = 32;
+		if (col < 71 || c0 == 10) {
+			putchar(c0);
+		} else {
+			if (c1 == 10 || c1 == 13)
+			{
+				putchar(c0);
+			} else {
+				putchar ('\\');
+				/*printf ("%d %d %d", col, c0, c1);*/
+				putchar (10);
+				putchar (c0);
+				col=0;
+			}
+		}
+		col++;
+		if (c0 == 10)
+			col=0;
+		c0 = c1;
+	}
+}
\ No newline at end of file