[vorbis-dev] OggVorbis "tutorial" file

Dominik Kuhlen dkuhlen at fhm.edu
Wed Feb 18 12:44:55 PST 2004

On Wednesday 18 February 2004 13:20, Adriano Almeida wrote:
> Hi,
>  I would like to ask if someone couldhelp me. I am writing a decoder for
> ogg-vorbis. I am not using the libvorbis because we want a code using our
> memory functions and I am going to rip some of the decoder functionality as
> we want only to use mono, 44.100, 96-160kbs sound files. We want to write
> the fastest and cleanest code possible even using assembler functions where
> possible.
> I have written part of the decoding code but i need a ogg file that to
> Debug my code. So, I ask if anyone could give me a single ogg file with the
> desription of each component, like the number and the codebooks, their
> values,  root , etc so I could check if my code is reading the file
> correctly. This is one part that i think is missing with the documentation.
> A "tutorial" file, with its data fully discribed.
Well, you can take any file you want :-). Insert a lot of printfs in your code 
to display what your decoder has done so far. Codebooks for example start 
with a syncword. If you check it you'll see if your codebook parser works 
well. More difficult is the population of the codebooks with codewords but
same as before: printf everything and you'll see whats going on.
If you don't like printfs a debugger will do the same job.

Another tip: use a hexeditor and try to decode by hand.
This is quite tough but it helps alot! Keep in mind that
vorbis is base on bits not on bytes, so you cannot rely on byte alignment.

If you have any specific question feel free to ask.

Further information can also be  found at:

> Thanks in advance,
> Adriano Almeida
--- >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