On 12/24/18, Michael Niedermayer <mich...@niedermayer.cc> wrote: > On Fri, Dec 21, 2018 at 06:09:50PM +0800, Steven Liu wrote: >> Before patch: >> init nbits = 17, get 10000 samples, average cost: 16105 us >> After patch: >> init nbits = 17, get 10000 samples, average cost: 15221 us >> >> Signed-off-by: Steven Liu <l...@chinaffmpeg.org> >> --- >> libavcodec/fft_template.c | 26 +++++++++++++++----------- >> 1 file changed, 15 insertions(+), 11 deletions(-) >> >> diff --git a/libavcodec/fft_template.c b/libavcodec/fft_template.c >> index 762c014bc8..2b528be882 100644 >> --- a/libavcodec/fft_template.c >> +++ b/libavcodec/fft_template.c >> @@ -261,17 +261,21 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, >> int inverse) >> if (s->fft_permutation == FF_FFT_PERM_AVX) { >> fft_perm_avx(s); >> } else { >> - for(i=0; i<n; i++) { >> - int k; >> - j = i; >> - if (s->fft_permutation == FF_FFT_PERM_SWAP_LSBS) >> - j = (j&~3) | ((j>>1)&1) | ((j<<1)&2); >> - k = -split_radix_permutation(i, n, s->inverse) & (n-1); >> - if (s->revtab) >> - s->revtab[k] = j; >> - if (s->revtab32) >> - s->revtab32[k] = j; >> - } >> +#define SPLIT_RADIX_PERMUTATION(num) do { \ >> + for(i=0; i<n; i++) {\ >> + int k;\ >> + j = i;\ > >> + if (s->fft_permutation == FF_FFT_PERM_SWAP_LSBS)\ > > maybe this if() should be factored out too ? > > the change looks good though, and iam not sure this is speed relevant > enough
Well, it helps. But this code is partially going to be rewritten anyway in future. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel