Mercurial > libavcodec.hg
diff dsputil.h @ 3555:5ea82888103e libavcodec
3dnow2 implementation of imdct.
6% faster vorbis and wma.
author | lorenm |
---|---|
date | Tue, 08 Aug 2006 04:01:04 +0000 |
parents | 545a15c19c91 |
children | 945caa35ee9a |
line wrap: on
line diff
--- a/dsputil.h Sun Aug 06 23:15:32 2006 +0000 +++ b/dsputil.h Tue Aug 08 04:01:04 2006 +0000 @@ -594,6 +594,8 @@ FFTSample type */ typedef float FFTSample; +struct MDCTContext; + typedef struct FFTComplex { FFTSample re, im; } FFTComplex; @@ -605,6 +607,8 @@ FFTComplex *exptab; FFTComplex *exptab1; /* only used by SSE code */ void (*fft_calc)(struct FFTContext *s, FFTComplex *z); + void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, + const FFTSample *input, FFTSample *tmp); } FFTContext; int ff_fft_init(FFTContext *s, int nbits, int inverse); @@ -635,6 +639,8 @@ 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_calc_3dn2(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);