Add support for more scalability modes (1.5:1 resolution ratio).
Added modes: - S2T1h - S2T2h - S2T3h - S3T1h - S3T2h - S3T3h Bug: webrtc:13960 Change-Id: I618a30c68b0ce1609847ee33a2298fe8fa0720c9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273664 Reviewed-by: Florent Castelli <orphis@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37968}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
74195b2b44
commit
ecfe8da46b
@ -148,6 +148,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS2T1 = {
|
||||
{1, 1},
|
||||
{2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T1h = {
|
||||
/*num_spatial_layers=*/2,
|
||||
/*num_temporal_layers=*/1,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{2, 1},
|
||||
{3, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T2 = {
|
||||
/*num_spatial_layers=*/2,
|
||||
/*num_temporal_layers=*/2,
|
||||
@ -155,6 +162,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS2T2 = {
|
||||
{1, 1},
|
||||
{2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T2h = {
|
||||
/*num_spatial_layers=*/2,
|
||||
/*num_temporal_layers=*/2,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{2, 1},
|
||||
{3, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T3 = {
|
||||
/*num_spatial_layers=*/2,
|
||||
/*num_temporal_layers=*/3,
|
||||
@ -162,6 +176,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS2T3 = {
|
||||
{1, 1},
|
||||
{2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS2T3h = {
|
||||
/*num_spatial_layers=*/2,
|
||||
/*num_temporal_layers=*/3,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{2, 1},
|
||||
{3, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T1 = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/1,
|
||||
@ -169,6 +190,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS3T1 = {
|
||||
{1, 1, 1},
|
||||
{4, 2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T1h = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/1,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{4, 2, 1},
|
||||
{9, 3, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T2 = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/2,
|
||||
@ -176,6 +204,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS3T2 = {
|
||||
{1, 1, 1},
|
||||
{4, 2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T2h = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/2,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{4, 2, 1},
|
||||
{9, 3, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T3 = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/3,
|
||||
@ -183,6 +218,13 @@ constexpr ScalableVideoController::StreamLayersConfig kConfigS3T3 = {
|
||||
{1, 1, 1},
|
||||
{4, 2, 1}};
|
||||
|
||||
constexpr ScalableVideoController::StreamLayersConfig kConfigS3T3h = {
|
||||
/*num_spatial_layers=*/3,
|
||||
/*num_temporal_layers=*/3,
|
||||
/*uses_reference_scaling=*/false,
|
||||
{4, 2, 1},
|
||||
{9, 3, 1}};
|
||||
|
||||
constexpr NamedStructureFactory kFactories[] = {
|
||||
{ScalabilityMode::kL1T1, Create<ScalableVideoControllerNoLayering>,
|
||||
kConfigL1T1},
|
||||
@ -215,11 +257,17 @@ constexpr NamedStructureFactory kFactories[] = {
|
||||
{ScalabilityMode::kL3T3_KEY, Create<ScalabilityStructureL3T3Key>,
|
||||
kConfigL3T3},
|
||||
{ScalabilityMode::kS2T1, Create<ScalabilityStructureS2T1>, kConfigS2T1},
|
||||
{ScalabilityMode::kS2T1h, CreateH<ScalabilityStructureS2T1>, kConfigS2T1h},
|
||||
{ScalabilityMode::kS2T2, Create<ScalabilityStructureS2T2>, kConfigS2T2},
|
||||
{ScalabilityMode::kS2T2h, CreateH<ScalabilityStructureS2T2>, kConfigS2T2h},
|
||||
{ScalabilityMode::kS2T3, Create<ScalabilityStructureS2T3>, kConfigS2T3},
|
||||
{ScalabilityMode::kS2T3h, CreateH<ScalabilityStructureS2T3>, kConfigS2T3h},
|
||||
{ScalabilityMode::kS3T1, Create<ScalabilityStructureS3T1>, kConfigS3T1},
|
||||
{ScalabilityMode::kS3T1h, CreateH<ScalabilityStructureS3T1>, kConfigS3T1h},
|
||||
{ScalabilityMode::kS3T2, Create<ScalabilityStructureS3T2>, kConfigS3T2},
|
||||
{ScalabilityMode::kS3T2h, CreateH<ScalabilityStructureS3T2>, kConfigS3T2h},
|
||||
{ScalabilityMode::kS3T3, Create<ScalabilityStructureS3T3>, kConfigS3T3},
|
||||
{ScalabilityMode::kS3T3h, CreateH<ScalabilityStructureS3T3>, kConfigS3T3h},
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
Reference in New Issue
Block a user