| 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;
|
|
|