aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpc8.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-15 20:56:22 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-11-24 11:35:03 +0100
commit16bb8247b45a51c06e27e8563d8a546f3dddc79e (patch)
tree9522fce749a98bb547e5e6292f804c25f0a8940d /libavcodec/mpc8.c
parentead313415037bbb94954a346a17796c0f741f790 (diff)
downloadffmpeg-16bb8247b45a51c06e27e8563d8a546f3dddc79e.tar.gz
avcodec/mpegaudiodsp: Make initializing synth windows thread-safe
These arrays are used by the Musepack decoders, the MPEG audio decoders as well as qdm2 and up until now, these arrays might be initialized more than once, leading to potential data races as well as unnecessary initializations. Therefore this commit ensures that each array will only be initialized once. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/mpc8.c')
-rw-r--r--libavcodec/mpc8.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c
index 631bac2753..b05942bca7 100644
--- a/libavcodec/mpc8.c
+++ b/libavcodec/mpc8.c
@@ -120,8 +120,6 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx)
av_lfg_init(&c->rnd, 0xDEADBEEF);
ff_mpadsp_init(&c->mpadsp);
- ff_mpc_init();
-
init_get_bits(&gb, avctx->extradata, 16);
skip_bits(&gb, 3);//sample rate
@@ -232,6 +230,7 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx)
&mpc8_q8_codes[i], 1, 1, INIT_VLC_USE_NEW_STATIC);
}
vlc_initialized = 1;
+ ff_mpa_synth_init_fixed();
return 0;
}