Mon Nov 3 13:03:41 PST 2008
store the tables. I can spare flash space, though.
I wonder how much of an improvement this will have on a 32 bit CPU. If I
had an all-C implementation that wouldn't be too hard to test.
Jim Barlow wrote:
> In 2004, Johannes Sandvall and Erik Montnemery worked on some modifications to Tremor as part of their Master's project.
> Here is the post describing some of their changes:
> They obtained significant performance improvements (107 MIPS down to 44.5 MIPS) by implementing a new MDCT calculation algorithm, which massages the data and then uses an FFT for the core calculation. They targeted an ARM + TI DSP I believe, with the DSP performing the FFT, so your mileage may vary. Nevertheless it appears that the FFT method is more efficient than direct MDCT calculation; most other codecs I'm aware of use this strategy instead. One advantage is that tightly optimized FFT kernels are more readily available, and processors tend to over instructions that help with FFT rather than MDCT. I don't think the two techniques are much different mathematically.
> The paper discusses other optimizations as well. It's a shame that this patch never got merged into the trunk.
> They also modestly improved decoder quality (based on RMS error).
> The paper which introduced this technique is: Gluth R., Regular FFT-Related Transform Kernels for DCT-based Polyphase Filter Banks
> Here are links to the patch and thesis:
> Perhaps this patch will be of some interest to you.
> Jim Barlow
More information about the Tremor