X-Git-Url: https://git.piment-noir.org/?p=deb_ffmpeg.git;a=blobdiff_plain;f=ffmpeg%2Flibavcodec%2Fatrac1.c;h=aeb068c8fe33c13d5cb4fb459fe4881c5d9380b9;hp=d059d7539eeff3d07dfe7f189ca38c26df084a4d;hb=f6fa7814ccfe3e76514b36cf04f5cd3cb657c8cf;hpb=2ba45a602cbfa7b771effba9b11bb4245c21bc00 diff --git a/ffmpeg/libavcodec/atrac1.c b/ffmpeg/libavcodec/atrac1.c index d059d75..aeb068c 100644 --- a/ffmpeg/libavcodec/atrac1.c +++ b/ffmpeg/libavcodec/atrac1.c @@ -80,7 +80,7 @@ typedef struct { DECLARE_ALIGNED(32, float, high)[512]; float* bands[3]; FFTContext mdct_ctx[3]; - AVFloatDSPContext fdsp; + AVFloatDSPContext *fdsp; } AT1Ctx; /** size of the transform in samples in the long mode for each QMF band */ @@ -140,7 +140,7 @@ static int at1_imdct_block(AT1SUCtx* su, AT1Ctx *q) at1_imdct(q, &q->spec[pos], &su->spectrum[0][ref_pos + start_pos], nbits, band_num); /* overlap and window */ - q->fdsp.vector_fmul_window(&q->bands[band_num][start_pos], prev_buf, + q->fdsp->vector_fmul_window(&q->bands[band_num][start_pos], prev_buf, &su->spectrum[0][ref_pos + start_pos], ff_sine_32, 16); prev_buf = &su->spectrum[0][ref_pos+start_pos + 16]; @@ -324,6 +324,8 @@ static av_cold int atrac1_decode_end(AVCodecContext * avctx) ff_mdct_end(&q->mdct_ctx[1]); ff_mdct_end(&q->mdct_ctx[2]); + av_freep(&q->fdsp); + return 0; } @@ -359,7 +361,7 @@ static av_cold int atrac1_decode_init(AVCodecContext *avctx) ff_atrac_generate_tables(); - avpriv_float_dsp_init(&q->fdsp, avctx->flags & CODEC_FLAG_BITEXACT); + q->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT); q->bands[0] = q->low; q->bands[1] = q->mid;