comparison dsputil.h @ 10175:5cf49858179a libavcodec

Move per-arch fft init bits into the corresponding subdirs
author mru
date Tue, 15 Sep 2009 21:14:14 +0000
parents 89cd870ca180
children 278d78d1bf19
comparison
equal deleted inserted replaced
10174:89cd870ca180 10175:5cf49858179a
681 void (*fft_permute)(struct FFTContext *s, FFTComplex *z); 681 void (*fft_permute)(struct FFTContext *s, FFTComplex *z);
682 void (*fft_calc)(struct FFTContext *s, FFTComplex *z); 682 void (*fft_calc)(struct FFTContext *s, FFTComplex *z);
683 void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, const FFTSample *input); 683 void (*imdct_calc)(struct MDCTContext *s, FFTSample *output, const FFTSample *input);
684 void (*imdct_half)(struct MDCTContext *s, FFTSample *output, const FFTSample *input); 684 void (*imdct_half)(struct MDCTContext *s, FFTSample *output, const FFTSample *input);
685 void (*mdct_calc)(struct MDCTContext *s, FFTSample *output, const FFTSample *input); 685 void (*mdct_calc)(struct MDCTContext *s, FFTSample *output, const FFTSample *input);
686 int split_radix;
686 } FFTContext; 687 } FFTContext;
687 688
688 extern FFTSample* const ff_cos_tabs[13]; 689 extern FFTSample* const ff_cos_tabs[13];
689 690
690 /** 691 /**
692 * @param nbits log2 of the length of the input array 693 * @param nbits log2 of the length of the input array
693 * @param inverse if 0 perform the forward transform, if 1 perform the inverse 694 * @param inverse if 0 perform the forward transform, if 1 perform the inverse
694 */ 695 */
695 int ff_fft_init(FFTContext *s, int nbits, int inverse); 696 int ff_fft_init(FFTContext *s, int nbits, int inverse);
696 void ff_fft_permute_c(FFTContext *s, FFTComplex *z); 697 void ff_fft_permute_c(FFTContext *s, FFTComplex *z);
697 void ff_fft_permute_sse(FFTContext *s, FFTComplex *z);
698 void ff_fft_permute_neon(FFTContext *s, FFTComplex *z);
699 void ff_fft_calc_c(FFTContext *s, FFTComplex *z); 698 void ff_fft_calc_c(FFTContext *s, FFTComplex *z);
700 void ff_fft_calc_sse(FFTContext *s, FFTComplex *z); 699
701 void ff_fft_calc_3dn(FFTContext *s, FFTComplex *z); 700 void ff_fft_init_altivec(FFTContext *s);
702 void ff_fft_calc_3dn2(FFTContext *s, FFTComplex *z); 701 void ff_fft_init_mmx(FFTContext *s);
703 void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z); 702 void ff_fft_init_neon(FFTContext *s);
704 void ff_fft_calc_neon(FFTContext *s, FFTComplex *z);
705 703
706 /** 704 /**
707 * Do the permutation needed BEFORE calling ff_fft_calc(). 705 * Do the permutation needed BEFORE calling ff_fft_calc().
708 */ 706 */
709 static inline void ff_fft_permute(FFTContext *s, FFTComplex *z) 707 static inline void ff_fft_permute(FFTContext *s, FFTComplex *z)
772 770
773 int ff_mdct_init(MDCTContext *s, int nbits, int inverse, double scale); 771 int ff_mdct_init(MDCTContext *s, int nbits, int inverse, double scale);
774 void ff_imdct_calc_c(MDCTContext *s, FFTSample *output, const FFTSample *input); 772 void ff_imdct_calc_c(MDCTContext *s, FFTSample *output, const FFTSample *input);
775 void ff_imdct_half_c(MDCTContext *s, FFTSample *output, const FFTSample *input); 773 void ff_imdct_half_c(MDCTContext *s, FFTSample *output, const FFTSample *input);
776 void ff_mdct_calc_c(MDCTContext *s, FFTSample *output, const FFTSample *input); 774 void ff_mdct_calc_c(MDCTContext *s, FFTSample *output, const FFTSample *input);
777 void ff_imdct_calc_3dn(MDCTContext *s, FFTSample *output, const FFTSample *input);
778 void ff_imdct_half_3dn(MDCTContext *s, FFTSample *output, const FFTSample *input);
779 void ff_imdct_calc_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *input);
780 void ff_imdct_half_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *input);
781 void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, const FFTSample *input);
782 void ff_imdct_half_sse(MDCTContext *s, FFTSample *output, const FFTSample *input);
783 void ff_imdct_calc_neon(MDCTContext *s, FFTSample *output, const FFTSample *input);
784 void ff_imdct_half_neon(MDCTContext *s, FFTSample *output, const FFTSample *input);
785 void ff_mdct_calc_neon(MDCTContext *s, FFTSample *output, const FFTSample *input);
786 void ff_mdct_end(MDCTContext *s); 775 void ff_mdct_end(MDCTContext *s);
787 776
788 /* Real Discrete Fourier Transform */ 777 /* Real Discrete Fourier Transform */
789 778
790 enum RDFTransformType { 779 enum RDFTransformType {