From cec9d007693ff7fcc4232eb9a6524db69bad69e5 Mon Sep 17 00:00:00 2001 From: Qiu Jianlin Date: Wed, 1 Mar 2023 18:06:06 +0800 Subject: [PATCH] Fix AVC PPS parser unit test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes PPS parser unit test case that retrieves PPS id from slice header. Bug: webrtc:14951 Change-Id: I7aeea9fe15307a683e71f4c4f3c4b89d0471eda4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255904 Commit-Queue: Erik Språng Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/main@{#39437} --- common_video/h264/pps_parser_unittest.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/common_video/h264/pps_parser_unittest.cc b/common_video/h264/pps_parser_unittest.cc index 652f4c7ce0..4fe742d2e6 100644 --- a/common_video/h264/pps_parser_unittest.cc +++ b/common_video/h264/pps_parser_unittest.cc @@ -10,6 +10,8 @@ #include "common_video/h264/pps_parser.h" +#include + #include "common_video/h264/h264_common.h" #include "rtc_base/bit_buffer.h" #include "rtc_base/buffer.h" @@ -213,10 +215,19 @@ TEST_F(PpsParserTest, MaxPps) { } TEST_F(PpsParserTest, PpsIdFromSlice) { - absl::optional pps_id = PpsParser::ParsePpsIdFromSlice( - kH264BitstreamChunk, sizeof(kH264BitstreamChunk)); - ASSERT_TRUE(pps_id); - EXPECT_EQ(2u, *pps_id); + std::vector nalu_indices = + H264::FindNaluIndices(kH264BitstreamChunk, sizeof(kH264BitstreamChunk)); + EXPECT_EQ(nalu_indices.size(), 3ull); + for (const auto& index : nalu_indices) { + H264::NaluType nalu_type = + H264::ParseNaluType(kH264BitstreamChunk[index.payload_start_offset]); + if (nalu_type == H264::NaluType::kIdr) { + absl::optional pps_id = PpsParser::ParsePpsIdFromSlice( + kH264BitstreamChunk + index.payload_start_offset, index.payload_size); + EXPECT_EQ(pps_id, 0u); + break; + } + } } } // namespace webrtc