[FFmpeg-cvslog] lavc/h264: move ff_init_cabac_states() from decode_slice() to ff_h264_decode_init().
Clément Bœsch
git at videolan.org
Wed Oct 3 15:38:51 CEST 2012
ffmpeg | branch: master | Clément Bœsch <clement.boesch at smartjog.com> | Wed Oct 3 15:14:40 2012 +0200| [1e2e2c8095de2d9ea3259305cfeff28f40e4ca12] | committer: Clément Bœsch
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1e2e2c8095de2d9ea3259305cfeff28f40e4ca12
---
libavcodec/h264.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 9c79f35..9a2d9d7 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);
More information about the ffmpeg-cvslog
mailing list