Mercurial > libavcodec.hg
diff dsputil.h @ 7544:ee1cb5ab9f99 libavcodec
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.
author | lorenm |
---|---|
date | Tue, 12 Aug 2008 00:33:34 +0000 |
parents | a8a8205a9081 |
children | 97383e012cb9 |
line wrap: on
line diff
--- a/dsputil.h Tue Aug 12 00:27:21 2008 +0000 +++ b/dsputil.h Tue Aug 12 00:33:34 2008 +0000 @@ -645,7 +645,7 @@ 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 @@ 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);