[vorbis-dev] Vorbis spec bugs
Sebastian Gesemann
sgeseman at uni-paderborn.de
Mon Apr 7 09:02:13 PDT 2003
Hi there !
I'm kinda "yet another guy who tries to implement a vorbis decoder
from scratch only by using the vorbis spec".
(pure Java, OO-style)
(I downloaded the long-awaited-all-in-one-PDF)
The data structures are quite ready, I can successfully load the
codec setup packet and all its components it's containing.
<p><p>So far so good.... Here's my first note concerning the
floor0-setup :
I'm supposed to read the parameters (floor0_order ...
floor0_number_of_codebooks) as unsigned integers
and therefore they can't be negative (see Step 7)
Do I have to treat them as signed values ?
What about the num_codebooks = readBits(4) + 1
which will range from 1 to 16 ?
Is it reasonable to include num_codebooks in the
consistency check ?
Currently I'm doin' it like this:
if ((order>=0x80)||(rate>=0x8000) ... (amplitude_offset>=0x80)) {
stream undecodable
}
BTW: is floor0_order == 0 allowed ?
any comments ?
<p><p>another question concerning the identification header:
(not a bug, just a question) ;)
blocksize1 = 1 << readbits(4);
blocksize2 = 1 << readBits(4);
So far so good on this one... but i thought, Vorbis is currently
dealing with blocks of 1024/128 spectral coefficients per transform
block (at 44kHz), so i excpected the exponent-values to be equal to
7 and 10. But i actually found 8 and 11. So the blocksize
corresponds to the size of a nominal mdct-window, right ?
<p><p>another question concerning the floor0-synthesis-stuff:
there's a nice image with bark(x) = atan()... and stuff
Question: What is [n] in the map(i)-iteration ?
I find it a bit confusing because 'n' is used to describe
the length of the spectral-vector to be feed into the MDCT
in the paragraph above.
But the value of bark_map_size seem to make more sense in
this context. (?)
Also, i miss the usage of [i] within the formulas for p
and q. I assume cos(w) = cos(i*PI/n). Is this correct ?
<p><p>thanks for help,
Sebastian
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis-dev
mailing list