[vorbis-dev] New LSP code committed

Segher Boessenkool segher at eastsite.nl
Mon Aug 28 02:24:40 PDT 2000



> 
> A note to Segher:
> 
> I've had to work extensively on the new lsp_to_curve function... as an end 
> result, I'm preparing to commit code that eliminates all calls to cos(), 
> exp(), and sqrt() in the decoder (as well as optionally taking all of the 

How are you going to do the fromdB() without using exp()? Couldn't figure
out how to factor out the fromdB() after the lsp_to_curve(). Are you
doing the fromdB by table lookup or something? I guess that is worse...
vorbis decoding uses too much memory at the moment (cache wars). Maybe
some pipelining will help.

> floor decoding to fixed point).
> 
> So worry about the MDCT, I've got a lrage swath of the rest covered ;-)

I have a bunch of trivial optimizations lying around, will send them
this evening after work, or tomorrow morning if I get really tired. These
will remove about 30-40% of decode time.

Mmmmh... mdct. My mdct is theoretically about twice as fast, standalone
it's about 40% faster, and included in vorbis decoder it's about 40%
_SLOWER_. It's a cache problem, I will have to look into that.

Maybe I should test at the K5 or the 486, these have a lot cleaner execution
profile than the K7 I'm using now. K7 just has too much cache (but not
enough), so cache destroying behaviour shows up as execution time at all
functions, instead of just at the evil functions themselves. Or does
anyone know a good cycle-level profiling tool that can measure cache
misses (branch predictions would be nice as well?) I'm using linux
2.4, or optionally netbsd.

Ciao,

Segher

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list