In screenshare mode, suppress VP8 bitrate overshoot and increase quality
This change includes several improvements: * VP8 configured with new rate control * Detection of frame dropping, with qp bump for next frame * Increased target and TL0 bitrates * Reworked rate control (TL allocation) in screenshare_layers A note on performance: PSNR and SSIM is expected to get slightly worse with this cl. Frame drops and delays should however improve. BUG=4171 R=pbos@webrtc.org, stefan@webrtc.org Review URL: https://codereview.webrtc.org/1193513006. Cr-Commit-Position: refs/heads/master@{#9495}
This commit is contained in:
@@ -411,7 +411,7 @@ void LogSimulcastSubstreams(const webrtc::VideoCodec& codec) {
|
||||
|
||||
static const int kScreenshareMinBitrateKbps = 50;
|
||||
static const int kScreenshareMaxBitrateKbps = 6000;
|
||||
static const int kScreenshareDefaultTl0BitrateKbps = 100;
|
||||
static const int kScreenshareDefaultTl0BitrateKbps = 200;
|
||||
static const int kScreenshareDefaultTl1BitrateKbps = 1000;
|
||||
|
||||
static const char* kScreencastLayerFieldTrialName =
|
||||
|
||||
@@ -1438,7 +1438,8 @@ TEST_F(WebRtcVideoChannel2Test, UsesCorrectSettingsForScreencast) {
|
||||
|
||||
TEST_F(WebRtcVideoChannel2Test,
|
||||
ConferenceModeScreencastConfiguresTemporalLayer) {
|
||||
static const int kConferenceScreencastTemporalBitrateBps = 100000;
|
||||
static const int kConferenceScreencastTemporalBitrateBps =
|
||||
ScreenshareLayerConfig::GetDefault().tl0_bitrate_kbps * 1000;
|
||||
VideoOptions options;
|
||||
options.conference_mode.Set(true);
|
||||
channel_->SetOptions(options);
|
||||
|
||||
Reference in New Issue
Block a user