1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avcodec/ac3dec: Use avpriv_float_dsp_alloc()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-11-20 22:21:51 +01:00
parent 17b7f99d81
commit 8bce5c8e74
2 changed files with 4 additions and 6 deletions

View File

@ -195,7 +195,7 @@ static av_cold int ac3_decode_init(AVCodecContext *avctx)
#if (USE_FIXED) #if (USE_FIXED)
s->fdsp = avpriv_alloc_fixed_dsp(avctx->flags & CODEC_FLAG_BITEXACT); s->fdsp = avpriv_alloc_fixed_dsp(avctx->flags & CODEC_FLAG_BITEXACT);
#else #else
avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT); s->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT);
#endif #endif
ff_ac3dsp_init(&s->ac3dsp, avctx->flags & CODEC_FLAG_BITEXACT); ff_ac3dsp_init(&s->ac3dsp, avctx->flags & CODEC_FLAG_BITEXACT);
@ -688,7 +688,7 @@ static inline void do_imdct(AC3DecodeContext *s, int channels)
s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1], s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1],
s->tmp_output, s->window, 128, 8); s->tmp_output, s->window, 128, 8);
#else #else
s->fdsp.vector_fmul_window(s->outptr[ch - 1], s->delay[ch - 1], s->fdsp->vector_fmul_window(s->outptr[ch - 1], s->delay[ch - 1],
s->tmp_output, s->window, 128); s->tmp_output, s->window, 128);
#endif #endif
for (i = 0; i < 128; i++) for (i = 0; i < 128; i++)
@ -700,7 +700,7 @@ static inline void do_imdct(AC3DecodeContext *s, int channels)
s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1], s->fdsp->vector_fmul_window_scaled(s->outptr[ch - 1], s->delay[ch - 1],
s->tmp_output, s->window, 128, 8); s->tmp_output, s->window, 128, 8);
#else #else
s->fdsp.vector_fmul_window(s->outptr[ch - 1], s->delay[ch - 1], s->fdsp->vector_fmul_window(s->outptr[ch - 1], s->delay[ch - 1],
s->tmp_output, s->window, 128); s->tmp_output, s->window, 128);
#endif #endif
memcpy(s->delay[ch - 1], s->tmp_output + 128, 128 * sizeof(FFTSample)); memcpy(s->delay[ch - 1], s->tmp_output + 128, 128 * sizeof(FFTSample));
@ -1635,9 +1635,7 @@ static av_cold int ac3_decode_end(AVCodecContext *avctx)
AC3DecodeContext *s = avctx->priv_data; AC3DecodeContext *s = avctx->priv_data;
ff_mdct_end(&s->imdct_512); ff_mdct_end(&s->imdct_512);
ff_mdct_end(&s->imdct_256); ff_mdct_end(&s->imdct_256);
#if (USE_FIXED)
av_freep(&s->fdsp); av_freep(&s->fdsp);
#endif
return 0; return 0;
} }

View File

@ -218,7 +218,7 @@ typedef struct AC3DecodeContext {
#if USE_FIXED #if USE_FIXED
AVFixedDSPContext *fdsp; AVFixedDSPContext *fdsp;
#else #else
AVFloatDSPContext fdsp; AVFloatDSPContext *fdsp;
#endif #endif
AC3DSPContext ac3dsp; AC3DSPContext ac3dsp;
FmtConvertContext fmt_conv; ///< optimized conversion functions FmtConvertContext fmt_conv; ///< optimized conversion functions