[FFmpeg-devel] Fwd: Fixpoint FFT optimization, with MDCT and IMDCT wrappers for audio optimization
Marc Hoffman
mmhoffm
Thu Aug 23 02:31:12 CEST 2007
On 8/21/07, Michael Niedermayer <michaelni at gmx.at> wrote:
> Hi
>
> On Tue, Aug 21, 2007 at 05:02:18PM -0400, Marc Hoffman wrote:
> > Hi,
> >
> > On 8/19/07, Justin Ruggles <justinruggles at bellsouth.net> wrote:
> > >
> > > 256 512 1024 2048 4096
> > > -------------------------------------------------------
> > > (1) fft32 46.1 101.0 205.0 494.4 1169.3
> > > (2) fftr2 7.6 16.0 34.1 101.3 258.5
> > > (3) fft ffmpeg 7.4 16.4 33.8 82.4 187.7
> > > (4) fftr4/2 6.7 13.6 28.2 74.0 169.8
> > >
> > > (1) fixedpoint 32bit simple RAD2 fft
> > > (2) simple rad2 first stage rad4
> > > (3) current lavc RAD2, first 2 stages, and middle pulled
> > > (4) rad4/2 with last stage rad2 if needed
> >
> > I'm adding a split radix to the list. Its a lot harder to optimize
> > because of the extra pointer manipulation and control structures. I
> > did manage to unroll the W0 multipliers out but getting a clean
> > iteration space has not happened yet.
>
> could you also add the split radix fft from
> liba52-cvs/a52dec/liba52/imdct.c
> as comparission
>
> also djbfft and fftw2 would be interresting
> IIRC they all use split radix ffts
>
> and looking at them might help you with optimizing your code
Your right if we do those techniques we would have to implement a
different optimized FFT for every possible data size we need. Unless
I'm missing something please advise.
Marc
More information about the ffmpeg-devel
mailing list