aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/fft.h
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2011-02-12 11:48:16 +0000
committerJanne Grunau <janne-ffmpeg@jannau.net>2011-02-13 15:36:39 +0100
commite6b1ed693ae4098e6b9eabf938fc31ec0b09b120 (patch)
tree8afa645b29c35cde5a286b29cbab58fbbed4c1ed /libavcodec/fft.h
parent3c33c0e26325f189dbf7f212f8e9042feb83bfb0 (diff)
downloadffmpeg-e6b1ed693ae4098e6b9eabf938fc31ec0b09b120.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>
Diffstat (limited to 'libavcodec/fft.h')
-rw-r--r--libavcodec/fft.h5
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
};