From d10eacf05fd0d768597531eae5690deb77f15d87 Mon Sep 17 00:00:00 2001 From: jeffqjiangNew <142832361+jeffqjiangNew@users.noreply.github.com> Date: Mon, 31 Mar 2025 19:04:34 -0400 Subject: [PATCH] * HEVC error resilience: Adjusted the range check for the total reference picture number so more errors can be detected. Also fixed a build warning of avc_parser.cpp in debug mode. (#548) --- src/parser/avc_parser.cpp | 2 +- src/parser/hevc_parser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parser/avc_parser.cpp b/src/parser/avc_parser.cpp index 1d8aeb3cc0..11294050a6 100644 --- a/src/parser/avc_parser.cpp +++ b/src/parser/avc_parser.cpp @@ -3281,7 +3281,7 @@ void AvcVideoParser::PrintPps(AvcPicParameterSet *p_pps) { } void AvcVideoParser::PrintSliceHeader(AvcSliceHeader *p_slice_header) { - uint32_t i, j; + uint32_t j; MSG("======================"); MSG("Slice header"); diff --git a/src/parser/hevc_parser.cpp b/src/parser/hevc_parser.cpp index 1329ca9908..238fab9e3c 100644 --- a/src/parser/hevc_parser.cpp +++ b/src/parser/hevc_parser.cpp @@ -1805,7 +1805,7 @@ ParserResult HevcVideoParser::ParseSliceHeader(uint8_t *nalu, size_t size, HevcS } } if (p_slice_header->slice_type != HEVC_SLICE_TYPE_I) { - CHECK_ALLOWED_RANGE("num_of_delta_pocs + num_long_term_pics", p_slice_header->st_rps.num_of_delta_pocs + p_slice_header->num_long_term_pics, 1, dpb_buffer_.dpb_size); + CHECK_ALLOWED_RANGE("num_of_delta_pocs + num_long_term_pics", p_slice_header->st_rps.num_of_delta_pocs + p_slice_header->num_long_term_pics, 1, dpb_buffer_.dpb_size - 1); } if (sps_ptr->sps_temporal_mvp_enabled_flag) { p_slice_header->slice_temporal_mvp_enabled_flag = Parser::GetBit(nalu, offset);