[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