[Tremor] LOW_ACCURACY mode and MDCT improvements

Nicholas Vinen hb at x256.org
Sat Mar 13 21:43:51 PST 2010


This could be just what I need to make Tremor run fast enough on the 
AT91SAM7S (ARM7TDMI 55MHz) to decode an average Ogg file. At the moment 
I have to over-clock it slightly.

It looks like you added some tables. I assume this means the code will 
grow by a few KB? Not a problem for me as the RAM is far more precious 
than the flash memory.

I'm not actively working on the Ogg Vorbis decoder project at the moment 
but I would like to see this make it into the Tremor main branch so that 
I can take advantage of it when I get back to it.

I agree that _LOW_ACCURACY_ mode might as well go away if this new code 
is faster with full accuracy.


Thanks!

Nicholas



Mike Giacomelli wrote:
> Hi.
>
>
> Over at rockbox.org, we have written a fixed point MDCT for our 
> embedded targets that is faster then any we have so far come across 
> (Tremor, libfaad, ffmpeg pre 2008).  We have used it with libtremor 
> and found it to be ~40% faster then stock libtremor mdct on ARM7TDMI 
> and generally about 30%+ faster on ARM9/ARM11.  It is also faster on 
> Coldfire CPUs and we think there is still room for more improvement.  
>
>
> The speed up comes mainly from using a split radix fft that 
> significantly reduces the number of add/mul operations required. 
>  Additionally, we have provided some ASM segments to improve 
> performance further.  However, even without ASM, we are still 
> significantly faster then stock Tremor.  Some information:
>
>
> http://www.rockbox.org/wiki/FasterMDCT
>
>
>
> We have licensed it under BSD and would like to see it used in libtremor.
>
>
>
> One concern I have though is the _LOW_ACCURACY_ mode in Tremor.  This 
> seems to allow 32 bit only multiplies for targets with no hardware 
> 32x32->64 bit instruction.  We do not support this in our new MDCT 
> because we are faster in full accuracy mode then current SVN in low 
> accuracy mode on ARM.
>
>
> Is this a problem?  I am of the opinion that it is not (in Tremor-main 
> at least) as it has minimal advantage on arm/coldfire/x86 which 
> constitute nearly all FOSS and commercial users of Tremor's main 
> branch.  It also seems to confuse some hardware vendors who have used 
> it on high end ARM cores that do not benefit significantly from it. 
>
>
> Thanks,
> Mike
>
> ------------------------------------------------------------------------
> The New Busy is not the old busy. Search, chat and e-mail from your 
> inbox. Get started. 
> <http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL:en-US:WM_HMP:032010_3> 
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Tremor mailing list
> Tremor at xiph.org
> http://lists.xiph.org/mailman/listinfo/tremor
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/tremor/attachments/20100314/7c94226a/attachment.htm 


More information about the Tremor mailing list