ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Wed Feb 26 13:34:57 2025 -0300| [603334e86fe9ec2a4c6a1c55e8c6134bc3f080eb] | committer: James Almer
avcodec/decode: inject missing global side data to output frames ff_decode_frame_props() injects global side data passed by the caller (Usually coming from the container) but ignores the global side data the decoder gathered from the bitstream itself. This commit amends this. Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=603334e86fe9ec2a4c6a1c55e8c6134bc3f080eb --- libavcodec/decode.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index cac7e620d2..c5a577f4f1 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1570,6 +1570,15 @@ int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame) if (ret < 0) return ret; + for (int i = 0; i < avctx->nb_decoded_side_data; i++) { + const AVFrameSideData *src = avctx->decoded_side_data[i]; + if (av_frame_get_side_data(frame, src->type)) + continue; + ret = av_frame_side_data_clone(&frame->side_data, &frame->nb_side_data, src, 0); + if (ret < 0) + return ret; + } + if (!(ffcodec(avctx->codec)->caps_internal & FF_CODEC_CAP_SETS_FRAME_PROPS)) { const AVPacket *pkt = avctx->internal->last_pkt_props; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".