Add support for VP9 configuration through scalability mode.

Bug: webrtc:13960
Change-Id: Ia930647b15f624a4d10d8d335519b69ffdae6636
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260983
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36919}
This commit is contained in:
Asa Persson
2022-05-16 22:37:34 +02:00
committed by WebRTC LUCI CQ
parent 15a73be295
commit cde992ddad
12 changed files with 435 additions and 83 deletions

View File

@ -231,6 +231,11 @@ VideoCodec VideoCodecInitializer::VideoEncoderConfigToVideoCodec(
if (!config.spatial_layers.empty()) {
// Layering is set explicitly.
spatial_layers = config.spatial_layers;
} else if (scalability_mode.has_value()) {
// Layering is set via scalability mode.
spatial_layers = GetVp9SvcConfig(video_codec);
if (spatial_layers.empty())
break;
} else {
size_t first_active_layer = 0;
for (size_t spatial_idx = 0;