[FFmpeg-devel] [PATCH] split-radix FFT

Siarhei Siamashka siarhei.siamashka
Wed Aug 6 12:36:08 CEST 2008

On Tue, Aug 5, 2008 at 11:51 PM, matthieu castet wrote:
> Siarhei Siamashka wrote:
>> On Tue, Aug 5, 2008 at 9:10 PM, M?ns Rullg?rd wrote:
>>> matthieu castet <castet.matthieu at free.fr> writes:
>> Generally the source of ARM11 floating point slowness rumors are the
>> blogs like this:
>> http://etrunko.blogspot.com/2008/05/ogg-support-on-canola2.html
>> They typically compare libvorbis performance with tremor, get much
>> better results with tremor and make a conclusion that the difference
>> is caused by slow floating point hardware. But they don't take into
>> account that libvorbis itself is slow (on x86 too). I benchmarked
>> ffvorbis vs. tremor in MPlayer on ARM11 and even in its current state,
>> ffvorbis was slightly faster (that was before the recent ffvorbis
>> performance optimizations done by Loren Merritt).
> Did you tried tremolo (http://wss.co.uk/pinknoise/tremolo/index.html) ?

No, I have not tried it. If you are intersted in this stuff, you can
get all the performance patches for tremor (tremor SVN head, rockbox,
tremolo, have a look at armv6 macros from 'armv4l/mathops.h' ), ensure
that there are no license conflicts and submit a patch to MPlayer.
Beware that there was some activity trying to drop internal tremor
decoder from MPlayer some time ago and this contribution may cause
another round of flames.

Anyway, tremor is not much related to the topic of this thread. The
point is that floating point math is fast on modern ARM cores
(floating point multiplications are faster than integer
multiplications) no matter what the rumors say. Floating point
split-radix FFT should improve performance of ffvorbis (and other
audio decoders from FFmpeg) quite a lot on modern ARM cores after
getting assembly optimized implementation. So I'm looking forward to
the inclusion of reference C version of split-radix FFT into FFmpeg
repository. Further MDCT and windowing function related optimizations
are also quite interesting (is there any progress to get this stuff
committed by the way?).

More information about the ffmpeg-devel mailing list