Commit 976fc591 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/qdm2: move static init to normal init to avoid initializing tables that might never be used

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 133fbfc7
...@@ -1750,12 +1750,19 @@ static void qdm2_synthesis_filter(QDM2Context *q, int index) ...@@ -1750,12 +1750,19 @@ static void qdm2_synthesis_filter(QDM2Context *q, int index)
* *
* @param q context * @param q context
*/ */
static av_cold void qdm2_init_static_data(AVCodec *codec) { static av_cold void qdm2_init_static_data(void) {
static int done;
if(done)
return;
qdm2_init_vlc(); qdm2_init_vlc();
ff_mpa_synth_init_float(ff_mpa_synth_window_float); ff_mpa_synth_init_float(ff_mpa_synth_window_float);
softclip_table_init(); softclip_table_init();
rnd_table_init(); rnd_table_init();
init_noise_samples(); init_noise_samples();
done = 1;
} }
/** /**
...@@ -1768,6 +1775,8 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx) ...@@ -1768,6 +1775,8 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx)
int extradata_size; int extradata_size;
int tmp_val, tmp, size; int tmp_val, tmp, size;
qdm2_init_static_data();
/* extradata parsing /* extradata parsing
Structure: Structure:
...@@ -2044,7 +2053,6 @@ AVCodec ff_qdm2_decoder = { ...@@ -2044,7 +2053,6 @@ AVCodec ff_qdm2_decoder = {
.id = AV_CODEC_ID_QDM2, .id = AV_CODEC_ID_QDM2,
.priv_data_size = sizeof(QDM2Context), .priv_data_size = sizeof(QDM2Context),
.init = qdm2_decode_init, .init = qdm2_decode_init,
.init_static_data = qdm2_init_static_data,
.close = qdm2_decode_close, .close = qdm2_decode_close,
.decode = qdm2_decode_frame, .decode = qdm2_decode_frame,
.capabilities = CODEC_CAP_DR1, .capabilities = CODEC_CAP_DR1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment