[vorbis-dev] Vorbis decoder chip: Specs needed

Segher Boessenkool segher at chello.nl
Tue Apr 9 17:14:19 PDT 2002



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

Good mdct implementations are O(n log n), with  n  the block size, so
O(log n) per sample.  Best implementations are Theta(3/2 log n) additions
and Theta(1/2 log n) multiplications per sample, or Theta(log n) for both.

In practice, for current Vorbis streams, this means 7 muls and 16 adds per
sample, or 1 mul, 6 mul-adds and 9 adds, or 1 mul and 11 mul-adds (all assuming
1024 (not overlapped), 2048 (overlapped) block size).  Further tweaks are
possible; integer implementation wants a few more adds (for rounding); and,
depending on actual algorithm, memory traffic, cache pressure, and address
calculation can be costly, as well.

<p>Read the literature.  Have fun.

<p>Segher

<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