Index: video/full_stack_tests.cc |
diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc |
index ea1e37f9f050988ff4aed816a9b5002a07a2b520..2addfbe6c3a35a9a63eca5c57d9b2d34591b8469 100644 |
--- a/video/full_stack_tests.cc |
+++ b/video/full_stack_tests.cc |
@@ -9,6 +9,8 @@ |
*/ |
#include <stdio.h> |
+#include <string> |
+ |
#include "modules/pacing/alr_detector.h" |
#include "test/field_trial.h" |
#include "test/gtest.h" |
@@ -49,8 +51,9 @@ |
// TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
- "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 700000, 700000, |
+ 700000, false, "VP9", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_VP9", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
RunTest(foreman_cif); |
@@ -59,8 +62,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP9", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP9", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_VP9", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -72,8 +76,9 @@ |
TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
VideoQualityTest::Params paris_qcif; |
paris_qcif.call.send_side_bwe = true; |
- paris_qcif.video = {true, 176, 144, 30, 300000, 300000, 300000, false, |
- "VP8", 1, 0, 0, false, false, "paris_qcif"}; |
+ paris_qcif.video = {true, 176, 144, 30, 300000, 300000, |
+ 300000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "paris_qcif"}; |
paris_qcif.analyzer = {"net_delay_0_0_plr_0", 36.0, 0.96, |
kFullStackTestDurationSecs}; |
RunTest(paris_qcif); |
@@ -83,8 +88,9 @@ |
// TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 700000, 700000, 700000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 700000, 700000, |
+ 700000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
RunTest(foreman_cif); |
@@ -93,8 +99,9 @@ |
TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketLoss) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 10, 30000, 30000, |
+ 30000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
RunTest(foreman_cif); |
@@ -103,8 +110,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -115,8 +123,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5Ulpfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, true, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_ulpfec", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -127,8 +136,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5Flexfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, true, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_flexfec", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -139,8 +149,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbpsPlr3Flexfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, true, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, true, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_flexfec", 0.0, |
0.0, kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 3; |
@@ -152,8 +163,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbpsPlr3Ulpfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, true, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, true, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_delay_50_0_plr_3_ulpfec", 0.0, |
0.0, kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 3; |
@@ -167,9 +179,9 @@ |
// TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 700000, |
- 700000, 700000, false, "H264", 1, |
- 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 700000, 700000, |
+ 700000, false, "H264", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_net_delay_0_0_plr_0_H264", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
RunTest(foreman_cif); |
@@ -178,8 +190,9 @@ |
TEST_F(FullStackTest, ForemanCif30kbpsWithoutPacketlossH264) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 10, 30000, 30000, 30000, false, |
- "H264", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 10, 30000, 30000, |
+ 30000, false, "H264", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_30kbps_net_delay_0_0_plr_0_H264", 0.0, |
0.0, kFullStackTestDurationSecs}; |
RunTest(foreman_cif); |
@@ -188,8 +201,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5H264) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "H264", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "H264", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
std::string fec_description; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -202,8 +216,9 @@ |
TEST_F(FullStackTest, ForemanCifPlr5H264Flexfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "H264", 1, 0, 0, false, true, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "H264", false, false, 1, |
+ 0, 0, false, true, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_flexfec", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -216,8 +231,9 @@ |
TEST_F(FullStackTest, DISABLED_ForemanCifPlr5H264Ulpfec) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "H264", 1, 0, 0, true, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "H264", false, false, 1, |
+ 0, 0, true, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_delay_50_0_plr_5_H264_ulpfec", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.loss_percent = 5; |
@@ -229,8 +245,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbps) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 0; |
@@ -239,11 +256,79 @@ |
RunTest(foreman_cif); |
} |
+TEST_F(FullStackTest, ForemanSqcif30kbpsLibvpx) { |
+ VideoQualityTest::Params foreman_sqcif; |
+ foreman_sqcif.call.send_side_bwe = true; |
+ foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_128x96"}; |
+ foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_libvpx", 0.0, 0.0, |
+ kFullStackTestDurationSecs}; |
+ foreman_sqcif.pipe.link_capacity_kbps = 30; |
+ RunTest(foreman_sqcif); |
+} |
+ |
+TEST_F(FullStackTest, Foreman240p100kbpsLibvpx) { |
+ VideoQualityTest::Params foreman_240p; |
+ foreman_240p.call.send_side_bwe = true; |
+ foreman_240p.video = { |
+ true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", false, |
+ false, 1, 0, 0, false, false, "foreman_320x240"}; |
+ foreman_240p.analyzer = {"foreman_240p_100kbps_libvpx", 0.0, 0.0, |
+ kFullStackTestDurationSecs}; |
+ foreman_240p.pipe.link_capacity_kbps = 100; |
+ RunTest(foreman_240p); |
+} |
+ |
+#if defined(WEBRTC_ANDROID) |
+TEST_F(FullStackTest, ForemanSqcif30kbpsMediaCodec) { |
+ VideoQualityTest::Params foreman_sqcif; |
+ foreman_sqcif.call.send_side_bwe = true; |
+ foreman_sqcif.video = {true, 128, 96, 7, 30000, 30000, |
+ 2000000, false, "VP8", true, false, 1, |
+ 0, 0, false, false, "foreman_128x96"}; |
+ foreman_sqcif.analyzer = {"foreman_sqcif_30kbps_mediacodec", 0.0, 0.0, |
+ kFullStackTestDurationSecs}; |
+ foreman_sqcif.pipe.link_capacity_kbps = 30; |
+ RunTest(foreman_sqcif); |
+} |
+ |
+TEST_F(FullStackTest, Foreman240p100kbpsMediaCodec) { |
+ VideoQualityTest::Params foreman_240p; |
+ foreman_240p.call.send_side_bwe = true; |
+ foreman_240p.video = { |
+ true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, |
+ false, 1, 0, 0, false, false, "foreman_320x240"}; |
+ foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec", 0.0, 0.0, |
+ kFullStackTestDurationSecs}; |
+ foreman_240p.pipe.link_capacity_kbps = 100; |
+ RunTest(foreman_240p); |
+} |
+ |
+TEST_F(FullStackTest, Foreman240p100kbpsMediaCodecWithForcedSwFallback) { |
+ std::string field_trial = |
+ "WebRTC-VP8-Forced-Fallback-Encoder/Enabled-150,175," + |
+ std::to_string(1000 * kFullStackTestDurationSecs / 2) + ",19200/"; |
+ test::ScopedFieldTrials override_field_trials(field_trial); |
+ |
+ VideoQualityTest::Params foreman_240p; |
+ foreman_240p.call.send_side_bwe = true; |
+ foreman_240p.video = { |
+ true, 320, 240, 10, 30000, 100000, 2000000, false, "VP8", true, |
+ true, 1, 0, 0, false, false, "foreman_320x240"}; |
+ foreman_240p.analyzer = {"foreman_240p_100kbps_mediacodec_sw_fallback", 0.0, |
+ 0.0, kFullStackTestDurationSecs}; |
+ foreman_240p.pipe.link_capacity_kbps = 100; |
+ RunTest(foreman_240p); |
+} |
+#endif // defined(WEBRTC_ANDROID) |
+ |
TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 32; |
@@ -255,8 +340,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbps100ms) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_100ms", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 0; |
@@ -268,8 +354,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 32; |
@@ -281,8 +368,9 @@ |
TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = false; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 500000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 500000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_500kbps_100ms_32pkts_queue_recv_bwe", |
0.0, 0.0, kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 32; |
@@ -294,8 +382,9 @@ |
TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
VideoQualityTest::Params foreman_cif; |
foreman_cif.call.send_side_bwe = true; |
- foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, 2000000, false, |
- "VP8", 1, 0, 0, false, false, "foreman_cif"}; |
+ foreman_cif.video = {true, 352, 288, 30, 30000, 2000000, |
+ 2000000, false, "VP8", false, false, 1, |
+ 0, 0, false, false, "foreman_cif"}; |
foreman_cif.analyzer = {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
foreman_cif.pipe.queue_length_packets = 32; |
@@ -308,10 +397,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 1, |
- 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 1, |
+ 0, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_2000kbps_100ms_32pkts_queue", |
0.0, 0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 32; |
@@ -323,10 +425,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd1TLModerateLimits) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 1, |
- -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 1, |
+ -1, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_1tl_moderate_limits", 0.0, |
0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 50; |
@@ -339,10 +454,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd2TLModerateLimits) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 2, |
- -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 2, |
+ -1, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_2tl_moderate_limits", 0.0, |
0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 50; |
@@ -355,10 +483,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd3TLModerateLimits) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 3, |
- -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 3, |
+ -1, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_3tl_moderate_limits", 0.0, |
0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 50; |
@@ -371,10 +512,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd4TLModerateLimits) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 4, |
- -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 4, |
+ -1, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_4tl_moderate_limits", 0.0, |
0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 50; |
@@ -388,10 +542,23 @@ |
test::ScopedFieldTrials field_trial("WebRTC-UseShortVP8TL3Pattern/Enabled/"); |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP8", 3, |
- -1, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 3, |
+ -1, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = {"conference_motion_hd_3tl_alt_moderate_limits", |
0.0, 0.0, kFullStackTestDurationSecs}; |
conf_motion_hd.pipe.queue_length_packets = 50; |
@@ -405,10 +572,23 @@ |
TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueueVP9) { |
VideoQualityTest::Params conf_motion_hd; |
conf_motion_hd.call.send_side_bwe = true; |
- conf_motion_hd.video = { |
- true, 1280, 720, 50, 30000, |
- 3000000, 3000000, false, "VP9", 1, |
- 0, 0, false, false, "ConferenceMotion_1280_720_50"}; |
+ conf_motion_hd.video = {true, |
+ 1280, |
+ 720, |
+ 50, |
+ 30000, |
+ 3000000, |
+ 3000000, |
+ false, |
+ "VP9", |
+ false, |
+ false, |
+ 1, |
+ 0, |
+ 0, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
conf_motion_hd.analyzer = { |
"conference_motion_hd_2000kbps_100ms_32pkts_queue_vp9", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -422,8 +602,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -435,19 +616,19 @@ |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
screenshare.screenshare = {true, false, 10}; |
- screenshare.video = {true, 1850, 1110, 5, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 2, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, |
+ 2500000, false, "VP8", false, false, 3, |
+ 2, 400000, false, false, ""}; |
screenshare.analyzer = {"screenshare_slides_simulcast", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
VideoQualityTest::Params screenshare_params_high; |
- screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 0, 400000, false, false, ""}; |
+ screenshare_params_high.video = { |
+ true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", |
+ false, false, 3, 0, 400000, false, false, ""}; |
VideoQualityTest::Params screenshare_params_low; |
- screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
- 200000, 2000000, false, "VP8", 2, |
- 0, 400000, false, false, ""}; |
+ screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 0, 400000, false, false, ""}; |
std::vector<VideoStream> streams = { |
DefaultVideoStream(screenshare_params_low), |
@@ -459,8 +640,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |
VideoQualityTest::Params config; |
config.call.send_side_bwe = true; |
- config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
config.screenshare = {true, false, 10, 2}; |
config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -470,8 +652,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_lossy_net", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -484,8 +667,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_very_lossy", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -498,8 +682,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNetRestrictedQueue) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_lossy_limited", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -513,8 +698,9 @@ |
TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_ModeratelyRestricted) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_moderately_restricted", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -530,8 +716,9 @@ |
test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_lossy_limited_ALR", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -546,8 +733,9 @@ |
test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_ALR", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -558,8 +746,9 @@ |
test::ScopedFieldTrials field_trial(kAlrProbingExperiment); |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP8", 2, 1, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 1, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_moderately_restricted_ALR", 0.0, |
0.0, kFullStackTestDurationSecs}; |
@@ -576,19 +765,19 @@ |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
screenshare.screenshare = {true, false, 10}; |
- screenshare.video = {true, 1850, 1110, 5, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 2, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 800000, 2500000, |
+ 2500000, false, "VP8", false, false, 3, |
+ 2, 400000, false, false, ""}; |
screenshare.analyzer = {"screenshare_slides_simulcast_alr", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
VideoQualityTest::Params screenshare_params_high; |
- screenshare_params_high.video = {true, 1850, 1110, 5, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 0, 400000, false, false, ""}; |
+ screenshare_params_high.video = { |
+ true, 1850, 1110, 5, 800000, 2500000, 2500000, false, "VP8", |
+ false, false, 3, 0, 400000, false, false, ""}; |
VideoQualityTest::Params screenshare_params_low; |
- screenshare_params_low.video = {true, 1850, 1110, 5, 50000, |
- 200000, 2000000, false, "VP8", 2, |
- 0, 400000, false, false, ""}; |
+ screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP8", false, false, 2, |
+ 0, 400000, false, false, ""}; |
std::vector<VideoStream> streams = { |
DefaultVideoStream(screenshare_params_low), |
@@ -598,31 +787,88 @@ |
} |
const VideoQualityTest::Params::Video kSvcVp9Video = { |
- true, 1280, 720, 30, 800000, |
- 2500000, 2500000, false, "VP9", 3, |
- 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
+ true, |
+ 1280, |
+ 720, |
+ 30, |
+ 800000, |
+ 2500000, |
+ 2500000, |
+ false, |
+ "VP9", |
+ false, |
+ false, |
+ 3, |
+ 2, |
+ 400000, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
const VideoQualityTest::Params::Video kSimulcastVp8VideoHigh = { |
- true, 1280, 720, 30, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
+ true, |
+ 1280, |
+ 720, |
+ 30, |
+ 800000, |
+ 2500000, |
+ 2500000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 3, |
+ 2, |
+ 400000, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
const VideoQualityTest::Params::Video kSimulcastVp8VideoMedium = { |
- true, 640, 360, 30, 150000, |
- 500000, 700000, false, "VP8", 3, |
- 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
+ true, |
+ 640, |
+ 360, |
+ 30, |
+ 150000, |
+ 500000, |
+ 700000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 3, |
+ 2, |
+ 400000, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
const VideoQualityTest::Params::Video kSimulcastVp8VideoLow = { |
- true, 320, 180, 30, 30000, |
- 150000, 200000, false, "VP8", 3, |
- 2, 400000, false, false, "ConferenceMotion_1280_720_50"}; |
+ true, |
+ 320, |
+ 180, |
+ 30, |
+ 30000, |
+ 150000, |
+ 200000, |
+ false, |
+ "VP8", |
+ false, |
+ false, |
+ 3, |
+ 2, |
+ 400000, |
+ false, |
+ false, |
+ "ConferenceMotion_1280_720_50"}; |
#if !defined(RTC_DISABLE_VP9) |
TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |
VideoQualityTest::Params screenshare; |
screenshare.call.send_side_bwe = true; |
- screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, |
- "VP9", 1, 0, 400000, false, false, ""}; |
+ screenshare.video = {true, 1850, 1110, 5, 50000, 200000, |
+ 2000000, false, "VP9", false, false, 1, |
+ 0, 400000, false, false, ""}; |
screenshare.screenshare = {true, false, 10}; |
screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
@@ -674,9 +920,9 @@ |
TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) { |
VideoQualityTest::Params simulcast; |
simulcast.call.send_side_bwe = true; |
- simulcast.video = {true, 1920, 1080, 30, 800000, |
- 2500000, 2500000, false, "VP8", 3, |
- 2, 400000, false, false, "Generator"}; |
+ simulcast.video = {true, 1920, 1080, 30, 800000, 2500000, |
+ 2500000, false, "VP8", false, false, 3, |
+ 2, 400000, false, false, "Generator"}; |
simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0, |
kFullStackTestDurationSecs}; |
simulcast.pipe.loss_percent = 0; |