diff options
author | Danil Chapovalov <danilchap@webrtc.org> | 2019-09-16 10:18:59 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-09-16 15:55:54 +0000 |
commit | f5dec1c6af02647d669cf255527464ec58a8f03b (patch) | |
tree | cb169bfacc9295ecda422741e81dc8211a466342 /common_video | |
parent | d9cc8c08dce8a95a63f07fd07c464d58ce514074 (diff) | |
download | webrtc-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.h | 6 |
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. |