OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com> | 2 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com> |
3 * | 3 * |
4 * This file is part of FFmpeg. | 4 * This file is part of FFmpeg. |
5 * | 5 * |
6 * FFmpeg is free software; you can redistribute it and/or | 6 * FFmpeg is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Lesser General Public | 7 * modify it under the terms of the GNU Lesser General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2.1 of the License, or (at your option) any later version. | 9 * version 2.1 of the License, or (at your option) any later version. |
10 * | 10 * |
11 * FFmpeg is distributed in the hope that it will be useful, | 11 * FFmpeg is distributed in the hope that it will be useful, |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 * Lesser General Public License for more details. | 14 * Lesser General Public License for more details. |
15 * | 15 * |
16 * You should have received a copy of the GNU Lesser General Public | 16 * You should have received a copy of the GNU Lesser General Public |
17 * License along with FFmpeg; if not, write to the Free Software | 17 * License along with FFmpeg; if not, write to the Free Software |
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 */ | 19 */ |
20 | 20 |
21 #include "libavcodec/dsputil.h" | 21 #include "libavcodec/fft.h" |
22 | 22 |
23 void ff_fft_permute_neon(FFTContext *s, FFTComplex *z); | 23 void ff_fft_permute_neon(FFTContext *s, FFTComplex *z); |
24 void ff_fft_calc_neon(FFTContext *s, FFTComplex *z); | 24 void ff_fft_calc_neon(FFTContext *s, FFTComplex *z); |
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 av_cold void ff_fft_init_arm(FFTContext *s) | 30 av_cold void ff_fft_init_arm(FFTContext *s) |
31 { | 31 { |
32 if (HAVE_NEON) { | 32 if (HAVE_NEON) { |
33 s->fft_permute = ff_fft_permute_neon; | 33 s->fft_permute = ff_fft_permute_neon; |
34 s->fft_calc = ff_fft_calc_neon; | 34 s->fft_calc = ff_fft_calc_neon; |
35 s->imdct_calc = ff_imdct_calc_neon; | 35 s->imdct_calc = ff_imdct_calc_neon; |
36 s->imdct_half = ff_imdct_half_neon; | 36 s->imdct_half = ff_imdct_half_neon; |
37 s->mdct_calc = ff_mdct_calc_neon; | 37 s->mdct_calc = ff_mdct_calc_neon; |
38 s->permutation = FF_MDCT_PERM_INTERLEAVE; | 38 s->permutation = FF_MDCT_PERM_INTERLEAVE; |
39 } | 39 } |
40 } | 40 } |
OLD | NEW |