[Tremor] optimizing for coldfire

Balatoni Denes dbalatoni at programozo.hu
Thu May 26 00:48:36 PDT 2005


Hi!

I too profiled only on a desktop machine. I have found that the second
most timeconsuming operation after the imdct is the residue decoding. That
means that all(or maybe only the most important parts) data used in huffman 
code decoding should be in sram too imho.

bye
Denes


szerda 25 május 2005 12.41-kor Pedro Vasconcelos ezeket a bolcs gondolatokat 
fogalmazta meg:
> Hi,
>
> I am trying to optimize Tremor for the Rockbox port to the iriver
> ihp-120. This device is based on the Coldfire 5249 and the stock
> firmware has ogg vorbis support (presumabily using tremor), so it has
> enought resources to do it.
>
> The iriver has plenty of ram but no data cache; instead the cpu has 96kb
> of fast sram that should be used for critical data.
>
> I don't have access to profiling in the colfire so I'm resorting to
> profiling on my development machine as a rought estimation: I guess the
> mdct and windowing routines are the critical ones.
>
> The stock tremor decodes at about 25% real-time. I managed to improve
> this to about 50% by:
>  1) doing the 32x32 math in asm using the multiply-and-accumulate unit
>  2) placing some of the window lookup tables in sram
>  3) copying the pcm buffer used for mdct_backwards to the sram
>
> Sram data must be statically declared, and a lot of the buffers in
> tremor are dynamically allocated; that's why I had to resort to copying
> in step 3, which is a bit of hack.
>
> Also, because space is critical in sram, I haven't place lookup data for
> windows larger than 2048 or floor0 coeficients. Are these optimal
> choices? Anyway, I'd appreciate some hints or guidelines to get this to
> run in real-time.
>
> Thanks,
>
> Pedro
>
>
> --
> Pedro Vasconcelos, School of Computer Science, University of St Andrews
> -----------------------------------------------------------------------
> "The difference between Theory and Practice
> is greater in Practice than in Theory."
> _______________________________________________
> Tremor mailing list
> Tremor at xiph.org
> http://lists.xiph.org/mailman/listinfo/tremor

-- 
- Use the Source Luke ! -


More information about the Tremor mailing list