summaryrefslogtreecommitdiff
path: root/chromium/third_party/webrtc/common_video
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/webrtc/common_video')
-rw-r--r--chromium/third_party/webrtc/common_video/BUILD.gn3
-rw-r--r--chromium/third_party/webrtc/common_video/generic_frame_descriptor/BUILD.gn2
-rw-r--r--chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.cc37
-rw-r--r--chromium/third_party/webrtc/common_video/generic_frame_descriptor/generic_frame_info.h9
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_;