diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2011-02-12 11:48:16 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-02-14 23:58:19 +0100 |
commit | 11ab1e409ff272c8c0bce62f48a3767546547c6c (patch) | |
tree | 611275effddbe66a5075439fedf578c32c7b6463 /libavcodec/fft.h | |
parent | 709946b34ca51518da7dd01c124a0530fa56f8c7 (diff) | |
download | ffmpeg-11ab1e409ff272c8c0bce62f48a3767546547c6c.tar.gz |
FFT: factor a shuffle out of the inner loop and merge it into fft_permute.
6% faster SSE FFT on Conroe, 2.5% on Penryn.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit e6b1ed693ae4098e6b9eabf938fc31ec0b09b120)
Diffstat (limited to 'libavcodec/fft.h')
-rw-r--r-- | libavcodec/fft.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/fft.h b/libavcodec/fft.h index 37cbfbf6a1..58a7f30ad1 100644 --- a/libavcodec/fft.h +++ b/libavcodec/fft.h @@ -44,7 +44,10 @@ struct FFTContext { void (*imdct_calc)(struct FFTContext *s, FFTSample *output, const FFTSample *input); void (*imdct_half)(struct FFTContext *s, FFTSample *output, const FFTSample *input); void (*mdct_calc)(struct FFTContext *s, FFTSample *output, const FFTSample *input); - int permutation; + int fft_permutation; +#define FF_FFT_PERM_DEFAULT 0 +#define FF_FFT_PERM_SWAP_LSBS 1 + int mdct_permutation; #define FF_MDCT_PERM_NONE 0 #define FF_MDCT_PERM_INTERLEAVE 1 }; |