diff options
author | Diego Biurrun <diego@biurrun.de> | 2016-01-30 14:45:28 +0100 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-03-01 10:18:28 +0100 |
commit | 1a094af638281295bf087945923d258b5acd1ab1 (patch) | |
tree | 93ec951fe9d688564fcc32917f94b5077bb26d8f /libavcodec/mdct_template.c | |
parent | 4d13bcceb9a1820f8e9b2c89e00816d3db41b716 (diff) | |
download | ffmpeg-streaming-1a094af638281295bf087945923d258b5acd1ab1.zip ffmpeg-streaming-1a094af638281295bf087945923d258b5acd1ab1.tar.gz |
fft: Split MDCT bits off from FFT
Diffstat (limited to 'libavcodec/mdct_template.c')
-rw-r--r-- | libavcodec/mdct_template.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/mdct_template.c b/libavcodec/mdct_template.c index bad890e..5b3a6ff 100644 --- a/libavcodec/mdct_template.c +++ b/libavcodec/mdct_template.c @@ -56,6 +56,26 @@ av_cold int ff_mdct_init(FFTContext *s, int nbits, int inverse, double scale) if (ff_fft_init(s, s->mdct_bits - 2, inverse) < 0) goto fail; + s->imdct_calc = ff_imdct_calc_c; + s->imdct_half = ff_imdct_half_c; + s->mdct_calc = ff_mdct_calc_c; + +#if FFT_FLOAT + if (ARCH_AARCH64) + ff_mdct_init_aarch64(s); + if (ARCH_ARM) + ff_mdct_init_arm(s); + if (ARCH_PPC) + ff_mdct_init_ppc(s); + if (ARCH_X86) + ff_mdct_init_x86(s); + s->mdct_calcw = s->mdct_calc; +#else + s->mdct_calcw = ff_mdct_calcw_c; + if (ARCH_ARM) + ff_mdct_fixed_init_arm(s); +#endif + s->tcos = av_malloc(n/2 * sizeof(FFTSample)); if (!s->tcos) goto fail; |