Add av1 structures for 3 spatial and/or 3 temporal layers

Bug: webrtc:11404
Change-Id: I2a2a40202b1dc8bec66baffc8883e59b9be9bade
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176518
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31478}
This commit is contained in:
Danil Chapovalov
2020-06-09 13:02:08 +02:00
committed by Commit Bot
parent 0c3062efcb
commit 0e2dd1271e
9 changed files with 692 additions and 0 deletions

View File

@ -20,11 +20,14 @@
#include "api/video/video_frame_type.h"
#include "modules/video_coding/chain_diff_calculator.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l1t2.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l1t3.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l2t1.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l2t1_key.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l2t2.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l2t2_key.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l2t2_key_shift.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l3t1.h"
#include "modules/video_coding/codecs/av1/scalability_structure_l3t3.h"
#include "modules/video_coding/codecs/av1/scalability_structure_s2t1.h"
#include "modules/video_coding/codecs/av1/scalable_video_controller.h"
#include "modules/video_coding/frame_dependencies_calculator.h"
@ -284,11 +287,17 @@ INSTANTIATE_TEST_SUITE_P(
ScalabilityStructureTest,
Values(SvcTestParam{"L1T2", std::make_unique<ScalabilityStructureL1T2>,
/*num_temporal_units=*/4},
SvcTestParam{"L1T3", std::make_unique<ScalabilityStructureL1T3>,
/*num_temporal_units=*/8},
SvcTestParam{"L2T1", std::make_unique<ScalabilityStructureL2T1>,
/*num_temporal_units=*/3},
SvcTestParam{"L2T1Key",
std::make_unique<ScalabilityStructureL2T1Key>,
/*num_temporal_units=*/3},
SvcTestParam{"L3T1", std::make_unique<ScalabilityStructureL3T1>,
/*num_temporal_units=*/3},
SvcTestParam{"L3T3", std::make_unique<ScalabilityStructureL3T3>,
/*num_temporal_units=*/8},
SvcTestParam{"S2T1", std::make_unique<ScalabilityStructureS2T1>,
/*num_temporal_units=*/3},
SvcTestParam{"L2T2", std::make_unique<ScalabilityStructureL2T2>,