comparison arm/fft_init_arm.c @ 11532:e011e73a902b libavcodec

ARM: NEON optimised RDFT
author mru
date Tue, 23 Mar 2010 03:35:02 +0000
parents 4b3da727d832
children b7fa70eabb1f
comparison
equal deleted inserted replaced
11531:31033caa5344 11532:e011e73a902b
25 25
26 void ff_imdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input); 26 void ff_imdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
27 void ff_imdct_half_neon(FFTContext *s, FFTSample *output, const FFTSample *input); 27 void ff_imdct_half_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
28 void ff_mdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input); 28 void ff_mdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
29 29
30 void ff_rdft_calc_neon(struct RDFTContext *s, FFTSample *z);
31
30 av_cold void ff_fft_init_arm(FFTContext *s) 32 av_cold void ff_fft_init_arm(FFTContext *s)
31 { 33 {
32 if (HAVE_NEON) { 34 if (HAVE_NEON) {
33 s->fft_permute = ff_fft_permute_neon; 35 s->fft_permute = ff_fft_permute_neon;
34 s->fft_calc = ff_fft_calc_neon; 36 s->fft_calc = ff_fft_calc_neon;
36 s->imdct_half = ff_imdct_half_neon; 38 s->imdct_half = ff_imdct_half_neon;
37 s->mdct_calc = ff_mdct_calc_neon; 39 s->mdct_calc = ff_mdct_calc_neon;
38 s->permutation = FF_MDCT_PERM_INTERLEAVE; 40 s->permutation = FF_MDCT_PERM_INTERLEAVE;
39 } 41 }
40 } 42 }
43
44 #if CONFIG_RDFT
45 av_cold void ff_rdft_init_arm(RDFTContext *s)
46 {
47 if (HAVE_NEON)
48 s->rdft_calc = ff_rdft_calc_neon;
49 }
50 #endif