[vorbis-dev] Vorbis decoder chip: Specs needed

Pattara Kiatisevi pkiatisevi at student.ei.uni-stuttgart.de
Tue Apr 9 16:17:48 PDT 2002



Hi,

I'm not Vorbis-guru though but maybe I could share some information. Guru
please comment if I'm wrong.

We're from University of Stuttgart and conducting our master thesis, more
about our project "Ogg-on-a-Chip" at http://oggonachip.sourceforge.net/.
Maybe our objective is similar to you. Cooperation is of course welcome.

On Fri, 5 Apr 2002, Troy Telford wrote:

> 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?)

The reference libvorbis code uses floating-point 32 bit (?). If you need
integer then 1) contact xiph for comercial professional-level integer
decoder 2) try to tweak libvorbis and integerize it -- some of us are
trying this also, so you can join the effort..

>     * what kinds of mathematical operations (in general) are required to
> decode vorbis?

-MDCT
-multiplication/addition
?

>     * I know vorbis uses MDCT's, but I need to know how math-intensive
> the op is (having never studied MDCT's)

Find a paper about MDCT or "vi mdct.c"

>     * 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 )

hmm, i wanna know exact info about this too. From "top" and our experience
so far, our 2 MB limit is still not yet exceeded.

Regards,
Pattara

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

<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