[FFmpeg-cvslog] [ffmpeg] branch master updated. 069201c535 avcodec/h264_refs: Make ff_h264_build_ref_list stricter with AV_EF_EXPLODE
ffmpeg-git at ffmpeg.org
ffmpeg-git at ffmpeg.org
Tue Aug 12 13:03:52 EEST 2025
The branch, master has been updated
via 069201c53561795bc18e55d1e2eb84dc03cf1ed3 (commit)
from 6f9e8a599dd94911cbc6713b53ae9bf01701c35c (commit)
- Log -----------------------------------------------------------------
commit 069201c53561795bc18e55d1e2eb84dc03cf1ed3
Author: Dale Curtis <dalecurtis at chromium.org>
AuthorDate: Tue Aug 5 21:45:19 2025 +0000
Commit: Michael Niedermayer <michael at 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 <michael at 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
--
More information about the ffmpeg-cvslog
mailing list