diff options
author | Måns Rullgård <mans@mansr.com> | 2009-09-10 08:50:03 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2009-09-10 08:50:03 +0000 |
commit | 648d792042cb6d58d032f3ae2518169d91a87274 (patch) | |
tree | a934b90c65f30fede4e46a1e314d7690b354c30b /libavcodec/dsputil.h | |
parent | 6d9d289e7671df94caba0a1ca1a93c0b12052d32 (diff) | |
download | ffmpeg-648d792042cb6d58d032f3ae2518169d91a87274.tar.gz |
ARM: NEON optimised FFT and MDCT
Vorbis and AC3 ~3x faster.
Parts by Naotoshi Nojiri, naonoj gmail
Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 7a0fc47dd8..db19e3f076 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -694,11 +694,13 @@ extern FFTSample* const ff_cos_tabs[13]; int ff_fft_init(FFTContext *s, int nbits, int inverse); void ff_fft_permute_c(FFTContext *s, FFTComplex *z); void ff_fft_permute_sse(FFTContext *s, FFTComplex *z); +void ff_fft_permute_neon(FFTContext *s, FFTComplex *z); void ff_fft_calc_c(FFTContext *s, FFTComplex *z); void ff_fft_calc_sse(FFTContext *s, FFTComplex *z); void ff_fft_calc_3dn(FFTContext *s, FFTComplex *z); void ff_fft_calc_3dn2(FFTContext *s, FFTComplex *z); void ff_fft_calc_altivec(FFTContext *s, FFTComplex *z); +void ff_fft_calc_neon(FFTContext *s, FFTComplex *z); /** * Do the permutation needed BEFORE calling ff_fft_calc(). @@ -768,6 +770,8 @@ void ff_imdct_calc_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *inpu void ff_imdct_half_3dn2(MDCTContext *s, FFTSample *output, const FFTSample *input); void ff_imdct_calc_sse(MDCTContext *s, FFTSample *output, const FFTSample *input); void ff_imdct_half_sse(MDCTContext *s, FFTSample *output, const FFTSample *input); +void ff_imdct_calc_neon(MDCTContext *s, FFTSample *output, const FFTSample *input); +void ff_imdct_half_neon(MDCTContext *s, FFTSample *output, const FFTSample *input); void ff_mdct_calc(MDCTContext *s, FFTSample *out, const FFTSample *input); void ff_mdct_end(MDCTContext *s); |