Embed FrameDependencyTemplate builder helpers directly into the struct

Bug: None
Change-Id: I4c13bdabd08dd6a6011cb534c765c1dd09f218d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176843
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31500}
This commit is contained in:
Danil Chapovalov
2020-06-11 13:23:45 +02:00
committed by Commit Bot
parent f4a9991cce
commit 24263f4ffb
24 changed files with 242 additions and 316 deletions

View File

@ -48,31 +48,18 @@ ScalabilityStructureL2T2::StreamConfig() const {
}
FrameDependencyStructure ScalabilityStructureL2T2::DependencyStructure() const {
using Builder = GenericFrameInfo::Builder;
FrameDependencyStructure structure;
structure.num_decode_targets = 4;
structure.num_chains = 2;
structure.decode_target_protected_by_chain = {0, 0, 1, 1};
structure.templates = {
Builder().S(0).T(0).Dtis("SSSS").ChainDiffs({0, 0}).Build(),
Builder().S(0).T(0).Dtis("SSRR").Fdiffs({4}).ChainDiffs({4, 3}).Build(),
Builder().S(0).T(1).Dtis("-D-R").Fdiffs({2}).ChainDiffs({2, 1}).Build(),
Builder().S(1).T(0).Dtis("--SS").Fdiffs({1}).ChainDiffs({1, 1}).Build(),
Builder()
.S(1)
.T(0)
.Dtis("--SS")
.Fdiffs({4, 1})
.ChainDiffs({1, 1})
.Build(),
Builder()
.S(1)
.T(1)
.Dtis("---D")
.Fdiffs({2, 1})
.ChainDiffs({3, 2})
.Build(),
};
structure.templates.resize(6);
auto& templates = structure.templates;
templates[0].S(0).T(0).Dtis("SSSS").ChainDiffs({0, 0});
templates[1].S(0).T(0).Dtis("SSRR").ChainDiffs({4, 3}).FrameDiffs({4});
templates[2].S(0).T(1).Dtis("-D-R").ChainDiffs({2, 1}).FrameDiffs({2});
templates[3].S(1).T(0).Dtis("--SS").ChainDiffs({1, 1}).FrameDiffs({1});
templates[4].S(1).T(0).Dtis("--SS").ChainDiffs({1, 1}).FrameDiffs({4, 1});
templates[5].S(1).T(1).Dtis("---D").ChainDiffs({3, 2}).FrameDiffs({2, 1});
return structure;
}