From e939f02ce67f2af570115214d2d5a6d93501dd80 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Wed, 26 Jun 2024 14:41:41 +0200 Subject: [PATCH] lavc/hevcdec: improve check for PPS changing between slices Compare actual PPS objects rather than just PPS ID, as the former might change while the latter stays the same. Reported-by: Michael Niedermayer --- libavcodec/hevc/hevcdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c index 01d32086f2..fd143cddab 100644 --- a/libavcodec/hevc/hevcdec.c +++ b/libavcodec/hevc/hevcdec.c @@ -603,7 +603,7 @@ static int hls_slice_header(SliceHeader *sh, const HEVCContext *s, GetBitContext av_log(s->avctx, AV_LOG_ERROR, "PPS id out of range: %d\n", pps_id); return AVERROR_INVALIDDATA; } - if (!sh->first_slice_in_pic_flag && pps_id != sh->pps_id) { + if (!sh->first_slice_in_pic_flag && s->ps.pps_list[pps_id] != s->pps) { av_log(s->avctx, AV_LOG_ERROR, "PPS changed between slices.\n"); return AVERROR_INVALIDDATA; }