From 12abf671fd2028ca249e95bdf0456b15a48136f8 Mon Sep 17 00:00:00 2001 From: Ilya Nikolaevskiy Date: Fri, 8 Mar 2019 08:47:01 +0000 Subject: [PATCH] Reland "Tune vp9 screenshare bitrate and framerate of spatial layers" This is a reland without any changes as it seems problems with webrtc-in-chrome importer were flakes or caused by some issues within chrome codebase. Tune vp9 screenshare bitrate and framerate of spatial layers VP9 screenshare is not used currently, and with these values according to local testing with screenshare_loopback, we get performance not worse than current vp8 settings for similar uplink and downlink values. Original Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126226 Bug: webrtc:10257 Change-Id: Ie819d8bbab4f14877daac733d162e5ae7ebf2a8e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126460 Reviewed-by: Johannes Kron Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/master@{#27036} --- modules/video_coding/codecs/vp9/svc_config.cc | 8 ++++---- modules/video_coding/codecs/vp9/svc_config_unittest.cc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/video_coding/codecs/vp9/svc_config.cc b/modules/video_coding/codecs/vp9/svc_config.cc index 138822ab92..a3bf56d90c 100644 --- a/modules/video_coding/codecs/vp9/svc_config.cc +++ b/modules/video_coding/codecs/vp9/svc_config.cc @@ -23,10 +23,10 @@ namespace { const size_t kMinVp9SvcBitrateKbps = 30; const size_t kMaxNumLayersForScreenSharing = 3; -const float kMaxScreenSharingLayerFramerateFps[] = {5.0, 5.0, 30.0}; -const size_t kMinScreenSharingLayerBitrateKbps[] = {30, 150, 500}; -const size_t kTargetScreenSharingLayerBitrateKbps[] = {150, 350, 1000}; -const size_t kMaxScreenSharingLayerBitrateKbps[] = {200, 500, 1000}; +const float kMaxScreenSharingLayerFramerateFps[] = {5.0, 10.0, 30.0}; +const size_t kMinScreenSharingLayerBitrateKbps[] = {30, 200, 500}; +const size_t kTargetScreenSharingLayerBitrateKbps[] = {150, 350, 950}; +const size_t kMaxScreenSharingLayerBitrateKbps[] = {250, 500, 950}; } // namespace diff --git a/modules/video_coding/codecs/vp9/svc_config_unittest.cc b/modules/video_coding/codecs/vp9/svc_config_unittest.cc index 05802eb5b0..489f1b0cd8 100644 --- a/modules/video_coding/codecs/vp9/svc_config_unittest.cc +++ b/modules/video_coding/codecs/vp9/svc_config_unittest.cc @@ -54,7 +54,7 @@ TEST(SvcConfig, ScreenSharing) { const SpatialLayer& layer = spatial_layers[i]; EXPECT_EQ(layer.width, 1920); EXPECT_EQ(layer.height, 1080); - EXPECT_EQ(layer.maxFramerate, (i < 2) ? 5 : 30); + EXPECT_EQ(layer.maxFramerate, (i < 1) ? 5 : (i < 2 ? 10 : 30)); EXPECT_EQ(layer.numberOfTemporalLayers, 1); EXPECT_LE(layer.minBitrate, layer.maxBitrate); EXPECT_LE(layer.minBitrate, layer.targetBitrate);