mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-09-01 22:16:42 +02:00
avcodec/opusdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
9fa056ba75
commit
e316caf712
@ -176,7 +176,7 @@ typedef struct OpusContext {
|
|||||||
int nb_streams;
|
int nb_streams;
|
||||||
int nb_stereo_streams;
|
int nb_stereo_streams;
|
||||||
|
|
||||||
AVFloatDSPContext fdsp;
|
AVFloatDSPContext *fdsp;
|
||||||
int16_t gain_i;
|
int16_t gain_i;
|
||||||
float gain;
|
float gain;
|
||||||
|
|
||||||
|
@ -535,7 +535,7 @@ static int opus_decode_packet(AVCodecContext *avctx, void *data,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (c->gain_i) {
|
if (c->gain_i) {
|
||||||
c->fdsp.vector_fmul_scalar((float*)frame->extended_data[i],
|
c->fdsp->vector_fmul_scalar((float*)frame->extended_data[i],
|
||||||
(float*)frame->extended_data[i],
|
(float*)frame->extended_data[i],
|
||||||
c->gain, FFALIGN(decoded_samples, 8));
|
c->gain, FFALIGN(decoded_samples, 8));
|
||||||
}
|
}
|
||||||
@ -589,6 +589,7 @@ static av_cold int opus_decode_close(AVCodecContext *avctx)
|
|||||||
c->nb_streams = 0;
|
c->nb_streams = 0;
|
||||||
|
|
||||||
av_freep(&c->channel_maps);
|
av_freep(&c->channel_maps);
|
||||||
|
av_freep(&c->fdsp);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -601,7 +602,9 @@ static av_cold int opus_decode_init(AVCodecContext *avctx)
|
|||||||
avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
|
avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
|
||||||
avctx->sample_rate = 48000;
|
avctx->sample_rate = 48000;
|
||||||
|
|
||||||
avpriv_float_dsp_init(&c->fdsp, 0);
|
c->fdsp = avpriv_float_dsp_alloc(0);
|
||||||
|
if (!c->fdsp)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
/* find out the channel configuration */
|
/* find out the channel configuration */
|
||||||
ret = ff_opus_parse_extradata(avctx, c);
|
ret = ff_opus_parse_extradata(avctx, c);
|
||||||
@ -630,7 +633,7 @@ static av_cold int opus_decode_init(AVCodecContext *avctx)
|
|||||||
s->redundancy_output[j] = s->redundancy_buf[j];
|
s->redundancy_output[j] = s->redundancy_buf[j];
|
||||||
}
|
}
|
||||||
|
|
||||||
s->fdsp = &c->fdsp;
|
s->fdsp = c->fdsp;
|
||||||
|
|
||||||
s->swr =swr_alloc();
|
s->swr =swr_alloc();
|
||||||
if (!s->swr)
|
if (!s->swr)
|
||||||
|
Loading…
Reference in New Issue
Block a user