[vorbis-dev] Vorbis decoder chip: Specs needed

Troy Telford troyt at myrealbox.com
Fri Apr 5 15:30:11 PST 2002



I'm considering creating an ogg vorbis decoder chip for my senior 
project in school.  At this point, my idea is to have a program (such as 
XMMS, ogg123, WinAMP) send the encoded ogg bitstream through a USB port 
to my project, which is then decoded.  My project then returns the raw 
PCM audio, which is then handled by the player program for final audio 
output.  I'm planning on USB as it appears simpler to prototype with 
than a PCI card, and using USB keeps me from having to buy any new 
interface hardware for my PC.  Although I admit using ethernet could 
also be interesting...

The idea is to implement stereo ogg vorbis decoding into a single chip; 
 it will be written in VeriLog, and most likely programmed into an FPGA. 
 (I certainly don't have the money to actually fab the thing...)

My intent is to create a chip to /decode/ a stereo ogg vorbis bitstream.

It is /not/ to create an entire player.  It /only/ decode the ogg vorbis 
bitstream that another piece of hardware (in my case, a computer) has 
provided it.  Creating a player with it would require external hardware.

At this point, I'm just evaluating the feasability of doing this, and as 
such, I need some information about the decoding process.  (I realize I 
can search the code, but at this point, I would like to minimize effort 
in case it's not feasable).

Things I need to know (all are specific to the decoder only):
    * does decoding vorbis use (and/or require) floating-point math, and 
if so, what precision (16/32/64 bit?)
    * what kinds of mathematical operations (in general) are required to 
decode vorbis?
    * I know vorbis uses MDCT's, but I need to know how math-intensive 
the op is (having never studied MDCT's)
    * how much additional complexity is required to handle the various 
mixed-stereo modes (from a decoder standpoint).
    * what is the (maximum instantaneous) amount of memory required to 
decode stereo vorbis (quality 0-10 )
    * what is the (maximum instantaneous) number of FLOPS required to 
decode stereo vorbis (quality 0-10 )
    * how much 'buffer' memory would be required to maintain a 
continuous flow of data? (all qualities)

Thanks for any help you can give me;  I am quite interested in this 
project, but I want to be sure that I'm not 'biting off more than I can 
chew.'

-Troy

<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