From def92d1b8e9d373e2f6f27c366d578d97d8960c6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:34:50 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- third_party/libwebrtc/common_video/h264/h264_common.h | 7 ++++--- third_party/libwebrtc/common_video/h264/sps_parser.h | 5 +++-- third_party/libwebrtc/common_video/h265/h265_bitstream_parser.cc | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'third_party/libwebrtc/common_video') diff --git a/third_party/libwebrtc/common_video/h264/h264_common.h b/third_party/libwebrtc/common_video/h264/h264_common.h index 0b1843ee38..1bc9867d3f 100644 --- a/third_party/libwebrtc/common_video/h264/h264_common.h +++ b/third_party/libwebrtc/common_video/h264/h264_common.h @@ -17,6 +17,7 @@ #include #include "rtc_base/buffer.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { @@ -59,11 +60,11 @@ struct NaluIndex { }; // Returns a vector of the NALU indices in the given buffer. -std::vector FindNaluIndices(const uint8_t* buffer, - size_t buffer_size); +RTC_EXPORT std::vector FindNaluIndices(const uint8_t* buffer, + size_t buffer_size); // Get the NAL type from the header byte immediately following start sequence. -NaluType ParseNaluType(uint8_t data); +RTC_EXPORT NaluType ParseNaluType(uint8_t data); // Methods for parsing and writing RBSP. See section 7.4.1 of the H264 spec. // diff --git a/third_party/libwebrtc/common_video/h264/sps_parser.h b/third_party/libwebrtc/common_video/h264/sps_parser.h index da328b48b0..a69bd19690 100644 --- a/third_party/libwebrtc/common_video/h264/sps_parser.h +++ b/third_party/libwebrtc/common_video/h264/sps_parser.h @@ -13,15 +13,16 @@ #include "absl/types/optional.h" #include "rtc_base/bitstream_reader.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { // A class for parsing out sequence parameter set (SPS) data from an H264 NALU. -class SpsParser { +class RTC_EXPORT SpsParser { public: // The parsed state of the SPS. Only some select values are stored. // Add more as they are actually needed. - struct SpsState { + struct RTC_EXPORT SpsState { SpsState(); SpsState(const SpsState&); ~SpsState(); diff --git a/third_party/libwebrtc/common_video/h265/h265_bitstream_parser.cc b/third_party/libwebrtc/common_video/h265/h265_bitstream_parser.cc index f8dc242c7d..f270f228c1 100644 --- a/third_party/libwebrtc/common_video/h265/h265_bitstream_parser.cc +++ b/third_party/libwebrtc/common_video/h265/h265_bitstream_parser.cc @@ -12,6 +12,7 @@ #include #include +#include #include #include "common_video/h265/h265_common.h" @@ -129,6 +130,8 @@ H265BitstreamParser::Result H265BitstreamParser::ParseNonParameterSetNalu( uint32_t slice_segment_address_bits = H265::Log2Ceiling(pic_height_in_ctbs_y * pic_width_in_ctbs_y); + TRUE_OR_RETURN(slice_segment_address_bits != + std::numeric_limits::max()); slice_reader.ConsumeBits(slice_segment_address_bits); } -- cgit v1.2.3