Chromium Code Reviews| Index: webrtc/video/full_stack.cc |
| diff --git a/webrtc/video/full_stack.cc b/webrtc/video/full_stack.cc |
| index e870c1ff14f2cd6def267d5bacb68f025fb2bad3..6df2455fa19db575a060c7c5aa1bd656f15c07d9 100644 |
| --- a/webrtc/video/full_stack.cc |
| +++ b/webrtc/video/full_stack.cc |
| @@ -21,6 +21,104 @@ class FullStackTest : public VideoQualityTest { |
| void RunTest(const VideoQualityTest::Params ¶ms) { |
| RunWithAnalyzer(params); |
| } |
| + |
| + void ParisQcifWithoutPacketLoss(std::string video_codec) { |
| + VideoQualityTest::Params paris_qcif = { |
| + {176, 144, 30, 300000, 300000, 300000, video_codec, 1}, |
| + {"paris_qcif"}, |
| + {}, |
| + {"net_delay_0_0_plr_0_" + video_codec, 36.0, 0.96, |
| + kFullStackTestDurationSecs}}; |
| + RunTest(paris_qcif); |
| + } |
| + |
| + void ForemanCifWithoutPacketLoss(std::string video_codec) { |
| + // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 700000, 700000, 700000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCifPlr5(std::string video_codec) { |
|
pbos-webrtc
2016/02/12 10:47:56
const std::string& here and elsewhere
åsapersson
2016/02/12 10:52:56
Done.
|
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 500000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.loss_percent = 5; |
| + foreman_cif.pipe.queue_delay_ms = 50; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCif500kbps(std::string video_codec) { |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 500000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_500kbps_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.queue_length_packets = 0; |
| + foreman_cif.pipe.queue_delay_ms = 0; |
| + foreman_cif.pipe.link_capacity_kbps = 500; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCif500kbpsLimitedQueue(std::string video_codec) { |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 500000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_500kbps_32pkts_queue_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.queue_length_packets = 32; |
| + foreman_cif.pipe.queue_delay_ms = 0; |
| + foreman_cif.pipe.link_capacity_kbps = 500; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCif500kbps100ms(std::string video_codec) { |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 500000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_500kbps_100ms_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.queue_length_packets = 0; |
| + foreman_cif.pipe.queue_delay_ms = 100; |
| + foreman_cif.pipe.link_capacity_kbps = 500; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCif500kbps100msLimitedQueue(std::string video_codec) { |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 500000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_500kbps_100ms_32pkts_queue_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.queue_length_packets = 32; |
| + foreman_cif.pipe.queue_delay_ms = 100; |
| + foreman_cif.pipe.link_capacity_kbps = 500; |
| + RunTest(foreman_cif); |
| + } |
| + |
| + void ForemanCif1000kbps100msLimitedQueue(std::string video_codec) { |
| + VideoQualityTest::Params foreman_cif = { |
| + {352, 288, 30, 30000, 2000000, 2000000, video_codec, 1}, |
| + {"foreman_cif"}, |
| + {}, |
| + {"foreman_cif_1000kbps_100ms_32pkts_queue_" + video_codec, 0.0, 0.0, |
| + kFullStackTestDurationSecs}}; |
| + foreman_cif.pipe.queue_length_packets = 32; |
| + foreman_cif.pipe.queue_delay_ms = 100; |
| + foreman_cif.pipe.link_capacity_kbps = 1000; |
| + RunTest(foreman_cif); |
| + } |
| }; |
| // VideoQualityTest::Params params = { |
| @@ -33,6 +131,11 @@ class FullStackTest : public VideoQualityTest { |
| // logs // bool |
| // }; |
| +// Tests below now runs for both VP8 and VP9 with |
| +// graph title: 'graph_title_VP8', 'graph_title_VP9'. |
| +// TODO(asapersson): Keep tests below running VP8 (which do not have the codec |
| +// name in the title ('graph_title')) until new tests have been running for some |
| +// time. |
| TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |
| VideoQualityTest::Params paris_qcif = { |
| {176, 144, 30, 300000, 300000, 300000, "VP8", 1}, |
| @@ -127,6 +230,70 @@ TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |
| RunTest(foreman_cif); |
| } |
| +TEST_F(FullStackTest, ParisQcifWithoutPacketLossVp8) { |
| + ParisQcifWithoutPacketLoss("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ParisQcifWithoutPacketLossVp9) { |
| + ParisQcifWithoutPacketLoss("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp8) { |
| + ForemanCifWithoutPacketLoss("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) { |
| + ForemanCifWithoutPacketLoss("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCifPlr5Vp8) { |
| + ForemanCifPlr5("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |
| + ForemanCifPlr5("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbpsVp8) { |
| + ForemanCif500kbps("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbpsVp9) { |
| + ForemanCif500kbps("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueueVp8) { |
| + ForemanCif500kbpsLimitedQueue("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueueVp9) { |
| + ForemanCif500kbpsLimitedQueue("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbps100msVp8) { |
| + ForemanCif500kbps100ms("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbps100msVp9) { |
| + ForemanCif500kbps100ms("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueVp8) { |
| + ForemanCif500kbps100msLimitedQueue("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueVp9) { |
| + ForemanCif500kbps100msLimitedQueue("VP9"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueueVp8) { |
| + ForemanCif1000kbps100msLimitedQueue("VP8"); |
| +} |
| + |
| +TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueueVp9) { |
| + ForemanCif1000kbps100msLimitedQueue("VP9"); |
| +} |
| + |
| TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |
| VideoQualityTest::Params screenshare = { |
| {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 1, 400000}, |