From 1ddc37051f11bd4bbadbcd17ea49b76a965d6a47 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 29 Mar 2017 09:33:47 -0400 Subject: [PATCH] h264: only assign H264Picture::mbaff for first slice. The value must be identical between slices, since mbaff depends on picture_structure and sps, both of which are checked to be identical to the first slice before this point. In practice, this silences some tsan warnings in fate-h264. --- libavcodec/h264_direct.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 4e7202b986..a7a107c8c2 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -138,7 +138,11 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext * memcpy(cur->ref_poc[1], cur->ref_poc[0], sizeof(cur->ref_poc[0])); } - cur->mbaff = FRAME_MBAFF(h); + if (h->current_slice == 0) { + cur->mbaff = FRAME_MBAFF(h); + } else { + av_assert0(cur->mbaff == FRAME_MBAFF(h)); + } sl->col_fieldoff = 0;