[Tremor] LOW_ACCURACY mode and MDCT improvements
Mike Giacomelli
giac2000 at hotmail.com
Sat Mar 13 16:33:05 PST 2010
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.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL:en-US:WM_HMP:032010_3
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/tremor/attachments/20100313/b277c5eb/attachment.htm
More information about the Tremor
mailing list