aboutsummaryrefslogtreecommitdiff
path: root/common_video
diff options
context:
space:
mode:
authorDanil Chapovalov <danilchap@webrtc.org>2019-09-16 10:18:59 +0200
committerCommit Bot <commit-bot@chromium.org>2019-09-16 15:55:54 +0000
commitf5dec1c6af02647d669cf255527464ec58a8f03b (patch)
treecb169bfacc9295ecda422741e81dc8211a466342 /common_video
parentd9cc8c08dce8a95a63f07fd07c464d58ce514074 (diff)
downloadwebrtc-f5dec1c6af02647d669cf255527464ec58a8f03b.tar.gz
Implement Dependency Descriptor reader
Bug: webrtc:10342 Change-Id: I671bf57368016b633546966cc994646095433519 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152823 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29197}
Diffstat (limited to 'common_video')
-rw-r--r--common_video/generic_frame_descriptor/generic_frame_info.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/common_video/generic_frame_descriptor/generic_frame_info.h b/common_video/generic_frame_descriptor/generic_frame_info.h
index d54e53d9f1..3916530c73 100644
--- a/common_video/generic_frame_descriptor/generic_frame_info.h
+++ b/common_video/generic_frame_descriptor/generic_frame_info.h
@@ -12,6 +12,7 @@
#define COMMON_VIDEO_GENERIC_FRAME_DESCRIPTOR_GENERIC_FRAME_INFO_H_
#include <initializer_list>
+#include <memory>
#include <vector>
#include "absl/container/inlined_vector.h"
@@ -82,6 +83,9 @@ struct FrameDependencyStructure {
int structure_id = 0;
int num_decode_targets = 0;
int num_chains = 0;
+ // If chains are used (num_chains > 0), maps decode target index into index of
+ // the chain protecting that target or |num_chains| value if decode target is
+ // not protected by a chain.
absl::InlinedVector<int, 10> decode_target_protected_by_chain;
absl::InlinedVector<RenderResolution, 4> resolutions;
std::vector<FrameDependencyTemplate> templates;
@@ -90,10 +94,10 @@ struct FrameDependencyStructure {
struct DependencyDescriptor {
bool first_packet_in_frame = true;
bool last_packet_in_frame = true;
- bool has_structure_attached = false;
int frame_number = 0;
FrameDependencyTemplate frame_dependencies;
absl::optional<RenderResolution> resolution;
+ std::unique_ptr<FrameDependencyStructure> attached_structure;
};
// Describes how a certain encoder buffer was used when encoding a frame.