Add support for scalability modes S2T2, S3T1, S3T2.

Bug: webrtc:13960
Change-Id: Icafd3a5a3f8889777d65da5313b24e56a57af4d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273301
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37943}
This commit is contained in:
Åsa Persson
2022-08-29 09:05:00 +02:00
committed by WebRTC LUCI CQ
parent 11093b2ca3
commit 6d0516412e
9 changed files with 140 additions and 0 deletions

View File

@ -113,6 +113,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS2T1 = {
{1, 1},
{2, 1}};
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T2 = {
/*num_spatial_layers=*/2,
/*num_temporal_layers=*/2,
/*uses_reference_scaling=*/false,
{1, 1},
{2, 1}};
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T3 = {
/*num_spatial_layers=*/2,
/*num_temporal_layers=*/3,
@ -120,6 +127,20 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS2T3 = {
{1, 1},
{2, 1}};
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T1 = {
/*num_spatial_layers=*/3,
/*num_temporal_layers=*/1,
/*uses_reference_scaling=*/false,
{1, 1, 1},
{4, 2, 1}};
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T2 = {
/*num_spatial_layers=*/3,
/*num_temporal_layers=*/2,
/*uses_reference_scaling=*/false,
{1, 1, 1},
{4, 2, 1}};
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T3 = {
/*num_spatial_layers=*/3,
/*num_temporal_layers=*/3,
@ -154,7 +175,10 @@ constexpr NamedStructureFactory kFactories[] = {
{ScalabilityMode::kL3T3_KEY, Create<ScalabilityStructureL3T3Key>,
kConfigL3T3},
{ScalabilityMode::kS2T1, Create<ScalabilityStructureS2T1>, kConfigS2T1},
{ScalabilityMode::kS2T2, Create<ScalabilityStructureS2T2>, kConfigS2T2},
{ScalabilityMode::kS2T3, Create<ScalabilityStructureS2T3>, kConfigS2T3},
{ScalabilityMode::kS3T1, Create<ScalabilityStructureS3T1>, kConfigS3T1},
{ScalabilityMode::kS3T2, Create<ScalabilityStructureS3T2>, kConfigS3T2},
{ScalabilityMode::kS3T3, Create<ScalabilityStructureS3T3>, kConfigS3T3},
};