Tweak libvpx vp8/vp9 encoder rc settings based on network headroom.
This CL adds an experiment where aggressiveness of the rate controller
is tuned based on if the application is network constrained or not.
Bug: webrtc:10155
Change-Id: I6c8cd116f57321c5b36cf5a69840913936091aaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132786
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27615}
diff --git a/rtc_base/experiments/rate_control_settings.h b/rtc_base/experiments/rate_control_settings.h
index 0898f9b..c907b33 100644
--- a/rtc_base/experiments/rate_control_settings.h
+++ b/rtc_base/experiments/rate_control_settings.h
@@ -42,7 +42,9 @@
bool LibvpxVp8TrustedRateController() const;
bool Vp8BoostBaseLayerQuality() const;
+ bool Vp8DynamicRateSettings() const;
bool LibvpxVp9TrustedRateController() const;
+ bool Vp9DynamicRateSettings() const;
// TODO(bugs.webrtc.org/10272): Remove one of these when we have merged
// VideoCodecMode and VideoEncoderConfig::ContentType.
@@ -71,6 +73,8 @@
FieldTrialParameter<bool> probe_max_allocation_;
FieldTrialParameter<bool> bitrate_adjuster_;
FieldTrialParameter<bool> vp8_s0_boost_;
+ FieldTrialParameter<bool> vp8_dynamic_rate_;
+ FieldTrialParameter<bool> vp9_dynamic_rate_;
};
} // namespace webrtc