summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorLoren Merritt <lorenm@u.washington.edu>2006-08-08 04:01:04 +0000
committerLoren Merritt <lorenm@u.washington.edu>2006-08-08 04:01:04 +0000
commitbcfa3e58ee0ec7f8a739867ea66f9acb834e498a (patch)
treea7aec9632c7157f03266a46861d4a898ee2340f5 /libavcodec/dsputil.h
parent2c5ad5fd74a44145459e74acdf486c084f8de4b4 (diff)
3dnow2 implementation of imdct.
6% faster vorbis and wma. Originally committed as revision 5954 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r--libavcodec/dsputil.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index a608350294..1083c39c71 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -594,6 +594,8 @@ void get_psnr(uint8_t *orig_image[3], uint8_t *coded_image[3],
FFTSample type */
typedef float FFTSample;
+struct MDCTContext;
+
typedef struct FFTComplex {
FFTSample re, im;
} FFTComplex;
@@ -605,6 +607,8 @@ typedef struct FFTContext {
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 @@ typedef struct MDCTContext {
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);