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
@ -71,16 +71,28 @@ absl::optional<ScalabilityMode> ScalabilityModeFromString(
|
||||
|
||||
if (mode_string == "S2T1")
|
||||
return ScalabilityMode::kS2T1;
|
||||
if (mode_string == "S2T1h")
|
||||
return ScalabilityMode::kS2T1h;
|
||||
if (mode_string == "S2T2")
|
||||
return ScalabilityMode::kS2T2;
|
||||
if (mode_string == "S2T2h")
|
||||
return ScalabilityMode::kS2T2h;
|
||||
if (mode_string == "S2T3")
|
||||
return ScalabilityMode::kS2T3;
|
||||
if (mode_string == "S2T3h")
|
||||
return ScalabilityMode::kS2T3h;
|
||||
if (mode_string == "S3T1")
|
||||
return ScalabilityMode::kS3T1;
|
||||
if (mode_string == "S3T1h")
|
||||
return ScalabilityMode::kS3T1h;
|
||||
if (mode_string == "S3T2")
|
||||
return ScalabilityMode::kS3T2;
|
||||
if (mode_string == "S3T2h")
|
||||
return ScalabilityMode::kS3T2h;
|
||||
if (mode_string == "S3T3")
|
||||
return ScalabilityMode::kS3T3;
|
||||
if (mode_string == "S3T3h")
|
||||
return ScalabilityMode::kS3T3h;
|
||||
|
||||
return absl::nullopt;
|
||||
}
|
||||
@ -123,11 +135,17 @@ InterLayerPredMode ScalabilityModeToInterLayerPredMode(
|
||||
case ScalabilityMode::kL3T3_KEY:
|
||||
return InterLayerPredMode::kOnKeyPic;
|
||||
case ScalabilityMode::kS2T1:
|
||||
case ScalabilityMode::kS2T1h:
|
||||
case ScalabilityMode::kS2T2:
|
||||
case ScalabilityMode::kS2T2h:
|
||||
case ScalabilityMode::kS2T3:
|
||||
case ScalabilityMode::kS2T3h:
|
||||
case ScalabilityMode::kS3T1:
|
||||
case ScalabilityMode::kS3T1h:
|
||||
case ScalabilityMode::kS3T2:
|
||||
case ScalabilityMode::kS3T2h:
|
||||
case ScalabilityMode::kS3T3:
|
||||
case ScalabilityMode::kS3T3h:
|
||||
return InterLayerPredMode::kOff;
|
||||
}
|
||||
RTC_CHECK_NOTREACHED();
|
||||
@ -161,12 +179,18 @@ int ScalabilityModeToNumSpatialLayers(ScalabilityMode scalability_mode) {
|
||||
case ScalabilityMode::kL3T3_KEY:
|
||||
return 3;
|
||||
case ScalabilityMode::kS2T1:
|
||||
case ScalabilityMode::kS2T1h:
|
||||
case ScalabilityMode::kS2T2:
|
||||
case ScalabilityMode::kS2T2h:
|
||||
case ScalabilityMode::kS2T3:
|
||||
case ScalabilityMode::kS2T3h:
|
||||
return 2;
|
||||
case ScalabilityMode::kS3T1:
|
||||
case ScalabilityMode::kS3T1h:
|
||||
case ScalabilityMode::kS3T2:
|
||||
case ScalabilityMode::kS3T2h:
|
||||
case ScalabilityMode::kS3T3:
|
||||
case ScalabilityMode::kS3T3h:
|
||||
return 3;
|
||||
}
|
||||
RTC_CHECK_NOTREACHED();
|
||||
@ -206,13 +230,19 @@ int ScalabilityModeToNumTemporalLayers(ScalabilityMode scalability_mode) {
|
||||
case ScalabilityMode::kL3T3_KEY:
|
||||
return 3;
|
||||
case ScalabilityMode::kS2T1:
|
||||
case ScalabilityMode::kS2T1h:
|
||||
case ScalabilityMode::kS3T1:
|
||||
case ScalabilityMode::kS3T1h:
|
||||
return 1;
|
||||
case ScalabilityMode::kS2T2:
|
||||
case ScalabilityMode::kS2T2h:
|
||||
case ScalabilityMode::kS3T2:
|
||||
case ScalabilityMode::kS3T2h:
|
||||
return 2;
|
||||
case ScalabilityMode::kS2T3:
|
||||
case ScalabilityMode::kS2T3h:
|
||||
case ScalabilityMode::kS3T3:
|
||||
case ScalabilityMode::kS3T3h:
|
||||
return 3;
|
||||
}
|
||||
RTC_CHECK_NOTREACHED();
|
||||
@ -251,6 +281,12 @@ absl::optional<ScalabilityModeResolutionRatio> ScalabilityModeToResolutionRatio(
|
||||
case ScalabilityMode::kL3T1h:
|
||||
case ScalabilityMode::kL3T2h:
|
||||
case ScalabilityMode::kL3T3h:
|
||||
case ScalabilityMode::kS2T1h:
|
||||
case ScalabilityMode::kS2T2h:
|
||||
case ScalabilityMode::kS2T3h:
|
||||
case ScalabilityMode::kS3T1h:
|
||||
case ScalabilityMode::kS3T2h:
|
||||
case ScalabilityMode::kS3T3h:
|
||||
return ScalabilityModeResolutionRatio::kThreeToTwo;
|
||||
}
|
||||
RTC_CHECK_NOTREACHED();
|
||||
|
||||
Reference in New Issue
Block a user