From 1aca990bd9e3738d4d92575d848fa0558a48df0d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 30 Nov 2014 11:21:50 +0100 Subject: [PATCH] avcodec/libmp3lame: Use avpriv_float_dsp_alloc() Signed-off-by: Michael Niedermayer --- libavcodec/libmp3lame.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c index d8a444dc98..e33919be89 100644 --- a/libavcodec/libmp3lame.c +++ b/libavcodec/libmp3lame.c @@ -52,7 +52,7 @@ typedef struct LAMEContext { int abr; float *samples_flt[2]; AudioFrameQueue afq; - AVFloatDSPContext fdsp; + AVFloatDSPContext *fdsp; } LAMEContext; @@ -79,6 +79,7 @@ static av_cold int mp3lame_encode_close(AVCodecContext *avctx) av_freep(&s->samples_flt[0]); av_freep(&s->samples_flt[1]); av_freep(&s->buffer); + av_freep(&s->fdsp); ff_af_queue_close(&s->afq); @@ -158,7 +159,12 @@ static av_cold int mp3lame_encode_init(AVCodecContext *avctx) if (ret < 0) goto error; - avpriv_float_dsp_init(&s->fdsp, avctx->flags & CODEC_FLAG_BITEXACT); + s->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT); + if (!s->fdsp) { + ret = AVERROR(ENOMEM); + goto error; + } + return 0; error: @@ -197,7 +203,7 @@ static int mp3lame_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, return AVERROR(EINVAL); } for (ch = 0; ch < avctx->channels; ch++) { - s->fdsp.vector_fmul_scalar(s->samples_flt[ch], + s->fdsp->vector_fmul_scalar(s->samples_flt[ch], (const float *)frame->data[ch], 32768.0f, FFALIGN(frame->nb_samples, 8));