diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index d82432c775..d6a09c86a8 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -29,6 +29,7 @@ #include "get_bits.h" #include "mathops.h" #include "mpegaudiodsp.h" +#include "dsputil.h" /* * TODO: @@ -80,6 +81,7 @@ typedef struct MPADecodeContext { int err_recognition; AVCodecContext* avctx; MPADSPContext mpadsp; + DSPContext dsp; AVFrame frame; } MPADecodeContext; @@ -432,6 +434,7 @@ static av_cold int decode_init(AVCodecContext * avctx) s->avctx = avctx; ff_mpadsp_init(&s->mpadsp); + ff_dsputil_init(&s->dsp, avctx); avctx->sample_fmt= OUT_FMT; s->err_recognition = avctx->err_recognition; @@ -1153,6 +1156,9 @@ found2: /* ms stereo ONLY */ /* NOTE: the 1/sqrt(2) normalization factor is included in the global gain */ +#if CONFIG_FLOAT + s-> dsp.butterflies_float(g0->sb_hybrid, g1->sb_hybrid, 576); +#else tab0 = g0->sb_hybrid; tab1 = g1->sb_hybrid; for (i = 0; i < 576; i++) { @@ -1161,6 +1167,7 @@ found2: tab0[i] = tmp0 + tmp1; tab1[i] = tmp0 - tmp1; } +#endif } }