diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2008-08-12 00:33:34 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2008-08-12 00:33:34 +0000 |
commit | 46803f4f67e821f6e62793d876be164fc04622b2 (patch) | |
tree | cc86c780395e6a14bcd92b37da29ac8194715ce3 /libavcodec/dsputil.h | |
parent | 49c0dd754c85e2cbb7dfe8d63dbb7141cddaeb61 (diff) | |
download | ffmpeg-46803f4f67e821f6e62793d876be164fc04622b2.tar.gz |
optimize imdct_half:
remove tmp buffer.
skip fft reinterleave pass, leaving data in a format more convenient for simd.
merge post-rotate with post-reorder.
Originally committed as revision 14700 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 47ba4d72bc..18ee43cf7e 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -645,7 +645,7 @@ typedef struct FFTContext { 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); + const FFTSample *input); } FFTContext; int ff_fft_init(FFTContext *s, int nbits, int inverse); @@ -696,16 +696,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_half(MDCTContext *s, FFTSample *output, const FFTSample *input); +void ff_imdct_calc_3dn(MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); +void ff_imdct_half_3dn(MDCTContext *s, FFTSample *output, const FFTSample *input); 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_half_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *input); 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_imdct_half_sse(MDCTContext *s, FFTSample *output, const FFTSample *input); void ff_mdct_calc(MDCTContext *s, FFTSample *out, const FFTSample *input, FFTSample *tmp); void ff_mdct_end(MDCTContext *s); |