diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2008-07-13 15:03:58 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2008-07-13 15:03:58 +0000 |
commit | b9fa32082c71013e90eab9e9997967d2939cf4a6 (patch) | |
tree | 83edd135988c73a75b017fbd12396e156de5e0a4 /libavcodec/dsputil.h | |
parent | eb2cd99c73df74cba8ce0173f9ee2b70313adaa6 (diff) | |
download | ffmpeg-streaming-b9fa32082c71013e90eab9e9997967d2939cf4a6.zip ffmpeg-streaming-b9fa32082c71013e90eab9e9997967d2939cf4a6.tar.gz |
exploit mdct symmetry
2% faster vorbis on conroe, k8. 7% on celeron.
Originally committed as revision 14207 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 34c4129..e44eaa2 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -641,6 +641,8 @@ typedef struct FFTContext { void (*fft_calc)(struct FFTContext *s, FFTComplex *z); void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, const FFTSample *input, FFTSample *tmp); + void (*imdct_half)(struct MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); } FFTContext; int ff_fft_init(FFTContext *s, int nbits, int inverse); @@ -686,10 +688,16 @@ void ff_sine_window_init(float *window, int n); int ff_mdct_init(MDCTContext *s, int nbits, int inverse); void ff_imdct_calc(MDCTContext *s, FFTSample *output, const FFTSample *input, FFTSample *tmp); +void ff_imdct_half(MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); void ff_imdct_calc_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *input, FFTSample *tmp); +void ff_imdct_half_3dn2(MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, const FFTSample *input, FFTSample *tmp); +void ff_imdct_half_sse(MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); void ff_mdct_calc(MDCTContext *s, FFTSample *out, const FFTSample *input, FFTSample *tmp); void ff_mdct_end(MDCTContext *s); |