From 1e2e2c8095de2d9ea3259305cfeff28f40e4ca12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Wed, 3 Oct 2012 15:14:40 +0200 Subject: [PATCH] lavc/h264: move ff_init_cabac_states() from decode_slice() to ff_h264_decode_init(). This fixes one of the potential races spotted by Helgrind. --- libavcodec/h264.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 9c79f35189..9a2d9d7583 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1112,6 +1112,8 @@ av_cold int ff_h264_decode_init(AVCodecContext *avctx) s->low_delay = 0; } + ff_init_cabac_states(); + return 0; } @@ -3533,7 +3535,6 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) align_get_bits(&s->gb); /* init cabac */ - ff_init_cabac_states(); ff_init_cabac_decoder(&h->cabac, s->gb.buffer + get_bits_count(&s->gb) / 8, (get_bits_left(&s->gb) + 7) / 8);