Mercurial > libavcodec.hg
comparison dsputil.h @ 7263:fc843d00867c libavcodec
exploit mdct symmetry
2% faster vorbis on conroe, k8. 7% on celeron.
author | lorenm |
---|---|
date | Sun, 13 Jul 2008 15:03:58 +0000 |
parents | 032a49f033e8 |
children | e267f2519248 |
comparison
equal
deleted
inserted
replaced
7262:e3822c61f2e4 | 7263:fc843d00867c |
---|---|
639 FFTComplex *exptab; | 639 FFTComplex *exptab; |
640 FFTComplex *exptab1; /* only used by SSE code */ | 640 FFTComplex *exptab1; /* only used by SSE code */ |
641 void (*fft_calc)(struct FFTContext *s, FFTComplex *z); | 641 void (*fft_calc)(struct FFTContext *s, FFTComplex *z); |
642 void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, | 642 void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, |
643 const FFTSample *input, FFTSample *tmp); | 643 const FFTSample *input, FFTSample *tmp); |
644 void (*imdct_half)(struct MDCTContext *s, FFTSample *output, | |
645 const FFTSample *input, FFTSample *tmp); | |
644 } FFTContext; | 646 } FFTContext; |
645 | 647 |
646 int ff_fft_init(FFTContext *s, int nbits, int inverse); | 648 int ff_fft_init(FFTContext *s, int nbits, int inverse); |
647 void ff_fft_permute(FFTContext *s, FFTComplex *z); | 649 void ff_fft_permute(FFTContext *s, FFTComplex *z); |
648 void ff_fft_calc_c(FFTContext *s, FFTComplex *z); | 650 void ff_fft_calc_c(FFTContext *s, FFTComplex *z); |
684 void ff_sine_window_init(float *window, int n); | 686 void ff_sine_window_init(float *window, int n); |
685 | 687 |
686 int ff_mdct_init(MDCTContext *s, int nbits, int inverse); | 688 int ff_mdct_init(MDCTContext *s, int nbits, int inverse); |
687 void ff_imdct_calc(MDCTContext *s, FFTSample *output, | 689 void ff_imdct_calc(MDCTContext *s, FFTSample *output, |
688 const FFTSample *input, FFTSample *tmp); | 690 const FFTSample *input, FFTSample *tmp); |
691 void ff_imdct_half(MDCTContext *s, FFTSample *output, | |
692 const FFTSample *input, FFTSample *tmp); | |
689 void ff_imdct_calc_3dn2(MDCTContext *s, FFTSample *output, | 693 void ff_imdct_calc_3dn2(MDCTContext *s, FFTSample *output, |
690 const FFTSample *input, FFTSample *tmp); | 694 const FFTSample *input, FFTSample *tmp); |
695 void ff_imdct_half_3dn2(MDCTContext *s, FFTSample *output, | |
696 const FFTSample *input, FFTSample *tmp); | |
691 void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, | 697 void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, |
698 const FFTSample *input, FFTSample *tmp); | |
699 void ff_imdct_half_sse(MDCTContext *s, FFTSample *output, | |
692 const FFTSample *input, FFTSample *tmp); | 700 const FFTSample *input, FFTSample *tmp); |
693 void ff_mdct_calc(MDCTContext *s, FFTSample *out, | 701 void ff_mdct_calc(MDCTContext *s, FFTSample *out, |
694 const FFTSample *input, FFTSample *tmp); | 702 const FFTSample *input, FFTSample *tmp); |
695 void ff_mdct_end(MDCTContext *s); | 703 void ff_mdct_end(MDCTContext *s); |
696 | 704 |