[FFmpeg-devel] [PATCH 2/2] avcodec/mpeg4videodec: Keep data_partitioning in sync between threads

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Aug 17 16:29:18 EEST 2022


Fixes frame-threaded decoding of samples created by concatting
a video with data partitioning and a video not using it.
(Only the MPEG-4 decoder sets this, so it is synced in
mpeg4_update_thread_context() despite being a MpegEncContext-field.)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/mpeg4videodec.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index bfebc3806c..d89adf8d63 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -3534,6 +3534,7 @@ static int mpeg4_update_thread_context(AVCodecContext *dst,
     s->vol_sprite_usage          = s1->vol_sprite_usage;
     s->sprite_brightness_change  = s1->sprite_brightness_change;
     s->num_sprite_warping_points = s1->num_sprite_warping_points;
+    s->m.data_partitioning       = s1->m.data_partitioning;
     s->rvlc                      = s1->rvlc;
     s->resync_marker             = s1->resync_marker;
     s->t_frame                   = s1->t_frame;
-- 
2.34.1



More information about the ffmpeg-devel mailing list