annotate arm/fft_init_arm.c @ 11554:30f5bf824f04 libavcodec

Fix VDPAU for H.264 streams with long reference frames. Patch by Stephen Warren.
author cehoyos
date Tue, 30 Mar 2010 07:52:44 +0000
parents e011e73a902b
children b7fa70eabb1f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10175
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
1 /*
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
2 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com>
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
3 *
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
4 * This file is part of FFmpeg.
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
5 *
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
10 *
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
14 * Lesser General Public License for more details.
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
15 *
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
19 */
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
20
11370
4b3da727d832 Move FFT parts from dsputil.h to fft.h
mru
parents: 10205
diff changeset
21 #include "libavcodec/fft.h"
10175
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
22
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
23 void ff_fft_permute_neon(FFTContext *s, FFTComplex *z);
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
24 void ff_fft_calc_neon(FFTContext *s, FFTComplex *z);
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
25
10199
38ab367d4231 Merge FFTContext and MDCTContext
mru
parents: 10175
diff changeset
26 void ff_imdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
38ab367d4231 Merge FFTContext and MDCTContext
mru
parents: 10175
diff changeset
27 void ff_imdct_half_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
38ab367d4231 Merge FFTContext and MDCTContext
mru
parents: 10175
diff changeset
28 void ff_mdct_calc_neon(FFTContext *s, FFTSample *output, const FFTSample *input);
10175
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
29
11532
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
30 void ff_rdft_calc_neon(struct RDFTContext *s, FFTSample *z);
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
31
10175
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
32 av_cold void ff_fft_init_arm(FFTContext *s)
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
33 {
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
34 if (HAVE_NEON) {
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
35 s->fft_permute = ff_fft_permute_neon;
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
36 s->fft_calc = ff_fft_calc_neon;
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
37 s->imdct_calc = ff_imdct_calc_neon;
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
38 s->imdct_half = ff_imdct_half_neon;
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
39 s->mdct_calc = ff_mdct_calc_neon;
10205
89a852950c34 ARM: interleave cos/sin tables for improved NEON MDCT
mru
parents: 10199
diff changeset
40 s->permutation = FF_MDCT_PERM_INTERLEAVE;
10175
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
41 }
5cf49858179a Move per-arch fft init bits into the corresponding subdirs
mru
parents:
diff changeset
42 }
11532
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
43
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
44 #if CONFIG_RDFT
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
45 av_cold void ff_rdft_init_arm(RDFTContext *s)
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
46 {
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
47 if (HAVE_NEON)
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
48 s->rdft_calc = ff_rdft_calc_neon;
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
49 }
e011e73a902b ARM: NEON optimised RDFT
mru
parents: 11370
diff changeset
50 #endif