Enable Vp8VariableFramerateScreenshare by default
Bug: webrtc:10310,chromium:949112 Change-Id: I3ed54c0571bdb8be026dee82ca3578dd5c0f9158 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182182 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31979}
This commit is contained in:

committed by
Commit Bot

parent
bce19cd0ee
commit
fbb49b4f7f
@ -1310,14 +1310,14 @@ int LibvpxVp8Encoder::RegisterEncodeCompleteCallback(
|
|||||||
// static
|
// static
|
||||||
LibvpxVp8Encoder::VariableFramerateExperiment
|
LibvpxVp8Encoder::VariableFramerateExperiment
|
||||||
LibvpxVp8Encoder::ParseVariableFramerateConfig(std::string group_name) {
|
LibvpxVp8Encoder::ParseVariableFramerateConfig(std::string group_name) {
|
||||||
FieldTrialFlag enabled = FieldTrialFlag("Enabled");
|
FieldTrialFlag disabled = FieldTrialFlag("Disabled");
|
||||||
FieldTrialParameter<double> framerate_limit("min_fps", 5.0);
|
FieldTrialParameter<double> framerate_limit("min_fps", 5.0);
|
||||||
FieldTrialParameter<int> qp("min_qp", 15);
|
FieldTrialParameter<int> qp("min_qp", 15);
|
||||||
FieldTrialParameter<int> undershoot_percentage("undershoot", 30);
|
FieldTrialParameter<int> undershoot_percentage("undershoot", 30);
|
||||||
ParseFieldTrial({&enabled, &framerate_limit, &qp, &undershoot_percentage},
|
ParseFieldTrial({&disabled, &framerate_limit, &qp, &undershoot_percentage},
|
||||||
field_trial::FindFullName(group_name));
|
field_trial::FindFullName(group_name));
|
||||||
VariableFramerateExperiment config;
|
VariableFramerateExperiment config;
|
||||||
config.enabled = enabled.Get();
|
config.enabled = !disabled.Get();
|
||||||
config.framerate_limit = framerate_limit.Get();
|
config.framerate_limit = framerate_limit.Get();
|
||||||
config.steady_state_qp = qp.Get();
|
config.steady_state_qp = qp.Get();
|
||||||
config.steady_state_undershoot_percentage = undershoot_percentage.Get();
|
config.steady_state_undershoot_percentage = undershoot_percentage.Get();
|
||||||
|
@ -1230,40 +1230,6 @@ TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast) {
|
|||||||
#if !defined(WEBRTC_MAC)
|
#if !defined(WEBRTC_MAC)
|
||||||
// TODO(bugs.webrtc.org/9840): Investigate why is this test flaky on Win/Mac.
|
// TODO(bugs.webrtc.org/9840): Investigate why is this test flaky on Win/Mac.
|
||||||
#if !defined(WEBRTC_WIN)
|
#if !defined(WEBRTC_WIN)
|
||||||
const char kScreenshareSimulcastVariableFramerateExperiment[] =
|
|
||||||
"WebRTC-VP8VariableFramerateScreenshare/"
|
|
||||||
"Enabled,min_fps:5.0,min_qp:15,undershoot:30/";
|
|
||||||
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
|
||||||
TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast_Variable_Framerate) {
|
|
||||||
test::ScopedFieldTrials field_trial(
|
|
||||||
AppendFieldTrials(kScreenshareSimulcastVariableFramerateExperiment));
|
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
|
||||||
ParamsWithLogging screenshare;
|
|
||||||
screenshare.call.send_side_bwe = true;
|
|
||||||
screenshare.screenshare[0] = {true, false, 10};
|
|
||||||
screenshare.video[0] = {true, 1850, 1110, 30, 800000, 2500000,
|
|
||||||
2500000, false, "VP8", 2, 1, 400000,
|
|
||||||
false, false, false, ""};
|
|
||||||
screenshare.analyzer = {"screenshare_slides_simulcast_variable_framerate",
|
|
||||||
0.0, 0.0, kTestDurationSec};
|
|
||||||
ParamsWithLogging screenshare_params_high;
|
|
||||||
screenshare_params_high.video[0] = {
|
|
||||||
true, 1850, 1110, 60, 600000, 1250000, 1250000, false,
|
|
||||||
"VP8", 2, 0, 400000, false, false, false, ""};
|
|
||||||
VideoQualityTest::Params screenshare_params_low;
|
|
||||||
screenshare_params_low.video[0] = {true, 1850, 1110, 5, 30000, 200000,
|
|
||||||
1000000, false, "VP8", 2, 0, 400000,
|
|
||||||
false, false, false, ""};
|
|
||||||
|
|
||||||
std::vector<VideoStream> streams = {
|
|
||||||
VideoQualityTest::DefaultVideoStream(screenshare_params_low, 0),
|
|
||||||
VideoQualityTest::DefaultVideoStream(screenshare_params_high, 0)};
|
|
||||||
screenshare.ss[0] = {
|
|
||||||
streams, 1, 1, 0, InterLayerPredMode::kOn, std::vector<SpatialLayer>(),
|
|
||||||
false};
|
|
||||||
fixture->RunWithAnalyzer(screenshare);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
// TODO(bugs.webrtc.org/10639) requires simulcast/SVC support in PC framework
|
||||||
TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast_low) {
|
TEST(PCFullStackTest, ScreenshareSlidesVP8_2TL_Simulcast_low) {
|
||||||
auto fixture = CreateVideoQualityTestFixture();
|
auto fixture = CreateVideoQualityTestFixture();
|
||||||
|
Reference in New Issue
Block a user