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
@ -43,9 +43,11 @@ constexpr int ScalabilityStructureSimulcast::kMaxNumTemporalLayers;
|
||||
|
||||
ScalabilityStructureSimulcast::ScalabilityStructureSimulcast(
|
||||
int num_spatial_layers,
|
||||
int num_temporal_layers)
|
||||
int num_temporal_layers,
|
||||
ScalingFactor resolution_factor)
|
||||
: num_spatial_layers_(num_spatial_layers),
|
||||
num_temporal_layers_(num_temporal_layers),
|
||||
resolution_factor_(resolution_factor),
|
||||
active_decode_targets_(
|
||||
(uint32_t{1} << (num_spatial_layers * num_temporal_layers)) - 1) {
|
||||
RTC_DCHECK_LE(num_spatial_layers, kMaxNumSpatialLayers);
|
||||
@ -62,8 +64,10 @@ ScalabilityStructureSimulcast::StreamConfig() const {
|
||||
result.scaling_factor_num[num_spatial_layers_ - 1] = 1;
|
||||
result.scaling_factor_den[num_spatial_layers_ - 1] = 1;
|
||||
for (int sid = num_spatial_layers_ - 1; sid > 0; --sid) {
|
||||
result.scaling_factor_num[sid - 1] = 1;
|
||||
result.scaling_factor_den[sid - 1] = 2 * result.scaling_factor_den[sid];
|
||||
result.scaling_factor_num[sid - 1] =
|
||||
resolution_factor_.num * result.scaling_factor_num[sid];
|
||||
result.scaling_factor_den[sid - 1] =
|
||||
resolution_factor_.den * result.scaling_factor_den[sid];
|
||||
}
|
||||
result.uses_reference_scaling = false;
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user