[vorbis-dev] Vorbis Block Diagram

Michael Smith msmith at labyrinth.net.au
Tue Jul 9 02:55:55 PDT 2002



At 08:45 AM 7/9/02 +0100, you wrote:
>Hi,
>
>I have looked through the documentation available from the downloads and the
>web and haven't yet come across a block diagram which shows exactly how the
>process of going from a .wav file to a .ogg file works.  I suspect it is the
>same as the mp3 process (with a different psychoacoustic model).  I found
>this document:
>
>http://www.celoxica.com/products/technical_papers/case_studies/cs_001.htm
>
>which shows a block diagram for the mp3 process.  Is this the same for
>vorbis?

Vorbis works substantially differently, not just in terms of the
psychoacoustic model. At the level of that block diagram, it doesn't
differ too substantially - but that diagram has so little information
it is virtually useless.

<p>>At the moment we are struggling to get to grips with the source code.
>Although we have compiled and ran vorbisfile_example.c and decoder_example.c
>successfully, we are unsure from what source the libraries and include files
>are generated.  More specifically we are finding it difficult to identify
>which files we will need for the decoding.  Could anybody point us in the
>right direction?  At the moment we are looking at psy.c and trying to work
>out its dependencies.  I suspect that we don't need the psy.c stuff as it is
>used only for encoding.  Is this correct?

vorbisfile.c is a high-level decode API - for your purposes, you're probably
only interested in the lower-level decode API (vorbisfile mostly deals with
seeking, etc.).

Here are the main files you need to look at (note that most of these have
part of the encode implementation as well, but you can ignore those parts):
        block.c
        codebook.c
        floor1.c (and floor0.c for older bitstreams)
        info.c
        mapping0.c
        mdct.c
        res0.c
        sharedbook.c
        synthesis.c
(I might have missed a couple that these pull in code from, but those
constitute the body of the decode implementation).

Michael

<p><p>--- >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