The branch, master has been updated
       via  069201c53561795bc18e55d1e2eb84dc03cf1ed3 (commit)
      from  6f9e8a599dd94911cbc6713b53ae9bf01701c35c (commit)


- Log -----------------------------------------------------------------
commit 069201c53561795bc18e55d1e2eb84dc03cf1ed3
Author:     Dale Curtis <dalecur...@chromium.org>
AuthorDate: Tue Aug 5 21:45:19 2025 +0000
Commit:     Michael Niedermayer <mich...@niedermayer.cc>
CommitDate: Tue Aug 12 11:38:45 2025 +0200

    avcodec/h264_refs: Make ff_h264_build_ref_list stricter with AV_EF_EXPLODE
    
    Don't silently skip errors when AV_EF_EXPLODE is specified.
    
    Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>

diff --git a/libavcodec/h264_refs.c b/libavcodec/h264_refs.c
index 74840e5909..608e13d7d5 100644
--- a/libavcodec/h264_refs.c
+++ b/libavcodec/h264_refs.c
@@ -370,6 +370,9 @@ int ff_h264_build_ref_list(H264Context *h, H264SliceContext 
*sl)
                        i < 0 ? "reference picture missing during reorder\n" :
                                "mismatching reference\n"
                       );
+                if (h->avctx->err_recognition & AV_EF_EXPLODE) {
+                    return AVERROR_INVALIDDATA;
+                }
                 memset(&sl->ref_list[list][index], 0, 
sizeof(sl->ref_list[0][0])); // FIXME
             } else {
                 for (i = index; i + 1 < sl->ref_count[list]; i++) {
@@ -392,6 +395,10 @@ int ff_h264_build_ref_list(H264Context *h, 
H264SliceContext *sl)
         for (int index = 0; index < sl->ref_count[list]; index++) {
             if (   !sl->ref_list[list][index].parent
                 || (!FIELD_PICTURE(h) && 
(sl->ref_list[list][index].reference&3) != 3)) {
+                if (h->avctx->err_recognition & AV_EF_EXPLODE) {
+                    av_log(h->avctx, AV_LOG_ERROR, "Missing reference 
picture\n");
+                    return AVERROR_INVALIDDATA;
+                }
                 av_log(h->avctx, AV_LOG_ERROR, "Missing reference picture, 
default is %d\n", h->default_ref[list].poc);
 
                 for (int i = 0; i < FF_ARRAY_ELEMS(h->last_pocs); i++)

-----------------------------------------------------------------------

Summary of changes:
 libavcodec/h264_refs.c | 7 +++++++
 1 file changed, 7 insertions(+)


hooks/post-receive
-- 

_______________________________________________
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".

Reply via email to