After being filled by FFCodec->init() from the first worker thread, it needs to be copied to every other thread context. Otherwise, its entries will not be present when ff_decode_frame_props() populates output frames.
Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/pthread_frame.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 4ea5dd3698..7019108af6 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -905,6 +905,14 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free, if (err < 0) return err; } + } else { + for (int i = 0; i < avctx->nb_decoded_side_data; i++) { + err = av_frame_side_data_clone(©->decoded_side_data, + ©->nb_decoded_side_data, + avctx->decoded_side_data[i], 0); + if (err < 0) + return err; + } } atomic_init(&p->debug_threads, (copy->debug & FF_DEBUG_THREADS) != 0); -- 2.49.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".