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