[FFmpeg-devel] [PATCH] avcodec/mpegvideo: Fix all but one tsan warning in fate-vsynth1-mpeg4
Michael Niedermayer
michael at niedermayer.cc
Mon Jul 10 04:19:51 EEST 2017
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
libavcodec/mpegvideo.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index e29558b3a2..574b3854e0 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -495,7 +495,20 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
// in that case dst may need a reinit
if (!s->context_initialized) {
int err;
- memcpy(s, s1, sizeof(MpegEncContext));
+#define COPY(x) s->x = s1->x;
+#define COPYR(a, b) memcpy(&s->a, &s1->a, ((uint8_t*)&s->b) - ((uint8_t*)&s->a))
+ COPYR(h263_aic, qscale);
+ COPYR(lambda, mv_dir);
+ COPYR(no_rounding, dest);
+ COPYR(mb_index2xy, resync_mb_x);
+ COPYR(next_p_frame_damaged, h263_aic_dir);
+ COPYR(h263_slice_structured, mcsel);
+ COPYR(quant_precision, first_slice_line);
+ COPYR(flipflop_rounding, gb);
+ COPYR(gop_picture_number, picture_structure);
+ COPYR(picture_structure, pblocks);
+ COPYR(decode_mb, er);
+ COPYR(error_rate, noise_reduction);
s->avctx = dst;
s->bitstream_buffer = NULL;
--
2.13.0
More information about the ffmpeg-devel
mailing list