* (I)RDFT transforms
* Copyright (c) 2009 Alex Converse <alex dot converse at gmail dot com>
*
- * This file is part of FFmpeg.
+ * This file is part of Libav.
*
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdlib.h>
#include <math.h>
#include "libavutil/mathematics.h"
-#include "fft.h"
+#include "rdft.h"
/**
- * @file libavcodec/rdft.c
+ * @file
* (Inverse) Real Discrete Fourier Transforms.
*/
SINTABLE(32768);
SINTABLE(65536);
#endif
-SINTABLE_CONST FFTSample * const ff_sin_tabs[] = {
+static SINTABLE_CONST FFTSample * const ff_sin_tabs[] = {
NULL, NULL, NULL, NULL,
ff_sin_16, ff_sin_32, ff_sin_64, ff_sin_128, ff_sin_256, ff_sin_512, ff_sin_1024,
ff_sin_2048, ff_sin_4096, ff_sin_8192, ff_sin_16384, ff_sin_32768, ff_sin_65536,
const FFTSample *tsin = s->tsin;
if (!s->inverse) {
- ff_fft_permute(&s->fft, (FFTComplex*)data);
- ff_fft_calc(&s->fft, (FFTComplex*)data);
+ s->fft.fft_permute(&s->fft, (FFTComplex*)data);
+ s->fft.fft_calc(&s->fft, (FFTComplex*)data);
}
/* i=0 is a special case because of packing, the DC term is real, so we
are going to throw the N/2 term (also real) in with it. */
if (s->inverse) {
data[0] *= k1;
data[1] *= k1;
- ff_fft_permute(&s->fft, (FFTComplex*)data);
- ff_fft_calc(&s->fft, (FFTComplex*)data);
+ s->fft.fft_permute(&s->fft, (FFTComplex*)data);
+ s->fft.fft_calc(&s->fft, (FFTComplex*)data);
}
}
}
#endif
s->rdft_calc = ff_rdft_calc_c;
+
+ if (ARCH_ARM) ff_rdft_init_arm(s);
+
return 0;
}