<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi.<div><br></div><div><br></div><div>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). &nbsp;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. &nbsp;It is also faster on Coldfire CPUs and we think there is still room for more improvement. &nbsp;</div><div><br></div><div><br></div><div>The speed up comes mainly from using a split radix fft that significantly reduces the number of add/mul operations required. &nbsp;Additionally, we have provided some ASM segments to improve performance further. &nbsp;However, even without ASM, we are still significantly faster then stock Tremor. &nbsp;Some information:</div><div><br></div><div><br></div><div><a href="http://www.rockbox.org/wiki/FasterMDCT">http://www.rockbox.org/wiki/FasterMDCT</a></div><div><br></div><div><br></div><div><br></div><div>We have licensed it under BSD and would like to see it used in libtremor.</div><div><br></div><div><br></div><div><br></div><div>One concern I have though is the&nbsp;<span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; ">_LOW_ACCURACY_<span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; ">&nbsp;mode in Tremor. &nbsp;This seems to allow 32 bit only multiplies for targets with no hardware 32x32-&gt;64 bit instruction. &nbsp;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.</span></span></div><div><span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; "><span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; "><span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; "><br></span></span></div><div><span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; "><span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; ">Is this a problem?&nbsp;&nbsp;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&nbsp;commercial&nbsp;users of Tremor's main branch. &nbsp;It also seems to confuse some hardware vendors who have used it on high end ARM cores that do not benefit significantly from it.&nbsp;</span></span></div><div><br></div><div><br></div><div><span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; "><span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; ">Thanks,</span></span></div><div><span class="Apple-style-span" style="font-family: monospace; font-size: 16px; white-space: pre-wrap; "><span class="Apple-style-span" style="font-family: Verdana; white-space: normal; font-size: 13px; ">Mike</span></span></div>                                               <br /><hr />The New Busy is not the old busy. Search, chat and e-mail from your inbox. <a href='http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL:en-US:WM_HMP:032010_3' target='_new'>Get started.</a></body>
</html>