avcodec/atrac3: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
1aca990bd9
commit
93f959b672
@ -109,7 +109,7 @@ typedef struct ATRAC3Context {
|
||||
AtracGCContext gainc_ctx;
|
||||
FFTContext mdct_ctx;
|
||||
FmtConvertContext fmt_conv;
|
||||
AVFloatDSPContext fdsp;
|
||||
AVFloatDSPContext *fdsp;
|
||||
} ATRAC3Context;
|
||||
|
||||
static DECLARE_ALIGNED(32, float, mdct_window)[MDCT_SIZE];
|
||||
@ -142,7 +142,7 @@ static void imlt(ATRAC3Context *q, float *input, float *output, int odd_band)
|
||||
q->mdct_ctx.imdct_calc(&q->mdct_ctx, output, input);
|
||||
|
||||
/* Perform windowing on the output. */
|
||||
q->fdsp.vector_fmul(output, output, mdct_window, MDCT_SIZE);
|
||||
q->fdsp->vector_fmul(output, output, mdct_window, MDCT_SIZE);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -192,6 +192,7 @@ static av_cold int atrac3_decode_close(AVCodecContext *avctx)
|
||||
|
||||
av_freep(&q->units);
|
||||
av_freep(&q->decoded_bytes_buffer);
|
||||
av_freep(&q->fdsp);
|
||||
|
||||
ff_mdct_end(&q->mdct_ctx);
|
||||
|
||||
@ -915,11 +916,11 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx)
|
||||
}
|
||||
|
||||
ff_atrac_init_gain_compensation(&q->gainc_ctx, 4, 3);
|
||||
avpriv_float_dsp_init(&q->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
|
||||
q->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT);
|
||||
ff_fmt_convert_init(&q->fmt_conv, avctx);
|
||||
|
||||
q->units = av_mallocz_array(avctx->channels, sizeof(*q->units));
|
||||
if (!q->units) {
|
||||
if (!q->units || !q->fdsp) {
|
||||
atrac3_decode_close(avctx);
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user