diff options
Diffstat (limited to 'chromium/third_party/webrtc/common_video')
4 files changed, 10 insertions, 41 deletions
diff --git a/chromium/third_party/webrtc/common_video/BUILD.gn b/chromium/third_party/webrtc/common_video/BUILD.gn index ddf4c2d4959..9ae87d242da 100644 --- a/chromium/third_party/webrtc/common_video/BUILD.gn +++ b/chromium/third_party/webrtc/common_video/BUILD.gn @@ -60,9 +60,9 @@ rtc_library("common_video") { "../rtc_base:safe_minmax", "../rtc_base/system:rtc_export", "../system_wrappers:metrics", - "//third_party/abseil-cpp/absl/types:optional", "//third_party/libyuv", ] + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } if (rtc_include_tests) { @@ -113,6 +113,7 @@ if (rtc_include_tests) { "../test:test_support", "../test:video_test_common", "//testing/gtest", + "//third_party/abseil-cpp/absl/types:optional", "//third_party/libyuv", ] diff --git a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/BUILD.gn b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/BUILD.gn index 05a4e2396c6..ab97e887f27 100644 --- a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/BUILD.gn +++ b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/BUILD.gn @@ -19,6 +19,8 @@ rtc_library("generic_frame_descriptor") { "../../api/transport/rtp:dependency_descriptor", "../../api/video:video_codec_constants", "../../rtc_base:checks", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", diff --git a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.cc b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.cc index ca610727993..af66bbaf67f 100644 --- a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.cc +++ b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.cc @@ -15,33 +15,6 @@ namespace webrtc { -absl::InlinedVector<DecodeTargetIndication, 10> -GenericFrameInfo::DecodeTargetInfo(absl::string_view indication_symbols) { - absl::InlinedVector<DecodeTargetIndication, 10> decode_targets; - for (char symbol : indication_symbols) { - DecodeTargetIndication indication; - switch (symbol) { - case '-': - indication = DecodeTargetIndication::kNotPresent; - break; - case 'D': - indication = DecodeTargetIndication::kDiscardable; - break; - case 'R': - indication = DecodeTargetIndication::kRequired; - break; - case 'S': - indication = DecodeTargetIndication::kSwitch; - break; - default: - RTC_NOTREACHED(); - } - decode_targets.push_back(indication); - } - - return decode_targets; -} - GenericFrameInfo::GenericFrameInfo() = default; GenericFrameInfo::GenericFrameInfo(const GenericFrameInfo&) = default; GenericFrameInfo::~GenericFrameInfo() = default; @@ -65,14 +38,8 @@ GenericFrameInfo::Builder& GenericFrameInfo::Builder::S(int spatial_id) { GenericFrameInfo::Builder& GenericFrameInfo::Builder::Dtis( absl::string_view indication_symbols) { - info_.decode_target_indications = DecodeTargetInfo(indication_symbols); - return *this; -} - -GenericFrameInfo::Builder& GenericFrameInfo::Builder::Fdiffs( - std::initializer_list<int> frame_diffs) { - info_.frame_diffs.insert(info_.frame_diffs.end(), frame_diffs.begin(), - frame_diffs.end()); + info_.decode_target_indications = + webrtc_impl::StringToDecodeTargetIndications(indication_symbols); return *this; } diff --git a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.h b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.h index b602ee06a65..19f413b5d4e 100644 --- a/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.h +++ b/chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.h @@ -11,7 +11,9 @@ #ifndef COMMON_VIDEO_GENERIC_FRAME_DESCRIPTOR_GENERIC_FRAME_INFO_H_ #define COMMON_VIDEO_GENERIC_FRAME_DESCRIPTOR_GENERIC_FRAME_INFO_H_ +#include <bitset> #include <initializer_list> +#include <vector> #include "absl/container/inlined_vector.h" #include "absl/strings/string_view.h" @@ -31,17 +33,15 @@ struct CodecBufferUsage { }; struct GenericFrameInfo : public FrameDependencyTemplate { - static absl::InlinedVector<DecodeTargetIndication, 10> DecodeTargetInfo( - absl::string_view indication_symbols); - class Builder; GenericFrameInfo(); GenericFrameInfo(const GenericFrameInfo&); ~GenericFrameInfo(); - int64_t frame_id = 0; absl::InlinedVector<CodecBufferUsage, kMaxEncoderBuffers> encoder_buffers; + std::vector<bool> part_of_chain; + std::bitset<32> active_decode_targets = ~uint32_t{0}; }; class GenericFrameInfo::Builder { @@ -53,7 +53,6 @@ class GenericFrameInfo::Builder { Builder& T(int temporal_id); Builder& S(int spatial_id); Builder& Dtis(absl::string_view indication_symbols); - Builder& Fdiffs(std::initializer_list<int> frame_diffs); private: GenericFrameInfo info_; |