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 thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Never trust a computer, one day, it may think you are the virus. -- Compn
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel