| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |    2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10 #include <stdio.h> |   10 #include <stdio.h> | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   61   ForemanCifWithoutPacketLoss("VP9"); |   61   ForemanCifWithoutPacketLoss("VP9"); | 
|   62 } |   62 } | 
|   63  |   63  | 
|   64 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { |   64 TEST_F(FullStackTest, ForemanCifPlr5Vp9) { | 
|   65   ForemanCifPlr5("VP9"); |   65   ForemanCifPlr5("VP9"); | 
|   66 } |   66 } | 
|   67 #endif  // !defined(RTC_DISABLE_VP9) |   67 #endif  // !defined(RTC_DISABLE_VP9) | 
|   68  |   68  | 
|   69 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { |   69 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { | 
|   70   VideoQualityTest::Params paris_qcif = { |   70   VideoQualityTest::Params paris_qcif = { | 
|   71       {176, 144, 30, 300000, 300000, 300000, false, "VP8", 1}, |   71       {176, 144, 30, 300000, 300000, 300000, false, "VP8", 1, 0, 0, true}, | 
|   72       {"paris_qcif"}, |   72       {"paris_qcif"}, | 
|   73       {}, |   73       {}, | 
|   74       {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; |   74       {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; | 
|   75   RunTest(paris_qcif); |   75   RunTest(paris_qcif); | 
|   76 } |   76 } | 
|   77  |   77  | 
|   78 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { |   78 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { | 
|   79   // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. |   79   // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. | 
|   80   VideoQualityTest::Params foreman_cif = { |   80   VideoQualityTest::Params foreman_cif = { | 
|   81       {352, 288, 30, 700000, 700000, 700000, false, "VP8", 1}, |   81       {352, 288, 30, 700000, 700000, 700000, false, "VP8", 1, 0, 0, true}, | 
|   82       {"foreman_cif"}, |   82       {"foreman_cif"}, | 
|   83       {}, |   83       {}, | 
|   84       {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, kFullStackTestDurationSecs} |   84       {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, | 
|   85   }; |   85        kFullStackTestDurationSecs}}; | 
|   86   RunTest(foreman_cif); |   86   RunTest(foreman_cif); | 
|   87 } |   87 } | 
|   88  |   88  | 
|   89 TEST_F(FullStackTest, ForemanCifPlr5) { |   89 TEST_F(FullStackTest, ForemanCifPlr5) { | 
|   90   VideoQualityTest::Params foreman_cif = { |   90   VideoQualityTest::Params foreman_cif = { | 
|   91       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1}, |   91       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|   92       {"foreman_cif"}, |   92       {"foreman_cif"}, | 
|   93       {}, |   93       {}, | 
|   94       {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}}; |   94       {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|   95   foreman_cif.pipe.loss_percent = 5; |   95   foreman_cif.pipe.loss_percent = 5; | 
|   96   foreman_cif.pipe.queue_delay_ms = 50; |   96   foreman_cif.pipe.queue_delay_ms = 50; | 
|   97   RunTest(foreman_cif); |   97   RunTest(foreman_cif); | 
|   98 } |   98 } | 
|   99  |   99  | 
|  100 TEST_F(FullStackTest, ForemanCif500kbps) { |  100 TEST_F(FullStackTest, ForemanCif500kbps) { | 
|  101   VideoQualityTest::Params foreman_cif = { |  101   VideoQualityTest::Params foreman_cif = { | 
|  102       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1}, |  102       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|  103       {"foreman_cif"}, |  103       {"foreman_cif"}, | 
|  104       {}, |  104       {}, | 
|  105       {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}}; |  105       {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  106   foreman_cif.pipe.queue_length_packets = 0; |  106   foreman_cif.pipe.queue_length_packets = 0; | 
|  107   foreman_cif.pipe.queue_delay_ms = 0; |  107   foreman_cif.pipe.queue_delay_ms = 0; | 
|  108   foreman_cif.pipe.link_capacity_kbps = 500; |  108   foreman_cif.pipe.link_capacity_kbps = 500; | 
|  109   RunTest(foreman_cif); |  109   RunTest(foreman_cif); | 
|  110 } |  110 } | 
|  111  |  111  | 
|  112 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { |  112 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) { | 
|  113   VideoQualityTest::Params foreman_cif = { |  113   VideoQualityTest::Params foreman_cif = { | 
|  114       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1}, |  114       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|  115       {"foreman_cif"}, |  115       {"foreman_cif"}, | 
|  116       {}, |  116       {}, | 
|  117       {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, kFullStackTestDurationSecs} |  117       {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, | 
|  118   }; |  118        kFullStackTestDurationSecs}}; | 
|  119   foreman_cif.pipe.queue_length_packets = 32; |  119   foreman_cif.pipe.queue_length_packets = 32; | 
|  120   foreman_cif.pipe.queue_delay_ms = 0; |  120   foreman_cif.pipe.queue_delay_ms = 0; | 
|  121   foreman_cif.pipe.link_capacity_kbps = 500; |  121   foreman_cif.pipe.link_capacity_kbps = 500; | 
|  122   RunTest(foreman_cif); |  122   RunTest(foreman_cif); | 
|  123 } |  123 } | 
|  124  |  124  | 
|  125 TEST_F(FullStackTest, ForemanCif500kbps100ms) { |  125 TEST_F(FullStackTest, ForemanCif500kbps100ms) { | 
|  126   VideoQualityTest::Params foreman_cif = { |  126   VideoQualityTest::Params foreman_cif = { | 
|  127       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1}, |  127       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|  128       {"foreman_cif"}, |  128       {"foreman_cif"}, | 
|  129       {}, |  129       {}, | 
|  130       {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}}; |  130       {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  131   foreman_cif.pipe.queue_length_packets = 0; |  131   foreman_cif.pipe.queue_length_packets = 0; | 
|  132   foreman_cif.pipe.queue_delay_ms = 100; |  132   foreman_cif.pipe.queue_delay_ms = 100; | 
|  133   foreman_cif.pipe.link_capacity_kbps = 500; |  133   foreman_cif.pipe.link_capacity_kbps = 500; | 
|  134   RunTest(foreman_cif); |  134   RunTest(foreman_cif); | 
|  135 } |  135 } | 
|  136  |  136  | 
|  137 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { |  137 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) { | 
|  138   VideoQualityTest::Params foreman_cif = { |  138   VideoQualityTest::Params foreman_cif = { | 
|  139       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1}, |  139       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|  140       {"foreman_cif"}, |  140       {"foreman_cif"}, | 
|  141       {}, |  141       {}, | 
|  142       {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, |  142       {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 
|  143         kFullStackTestDurationSecs}}; |  143        kFullStackTestDurationSecs}}; | 
|  144   foreman_cif.pipe.queue_length_packets = 32; |  144   foreman_cif.pipe.queue_length_packets = 32; | 
|  145   foreman_cif.pipe.queue_delay_ms = 100; |  145   foreman_cif.pipe.queue_delay_ms = 100; | 
|  146   foreman_cif.pipe.link_capacity_kbps = 500; |  146   foreman_cif.pipe.link_capacity_kbps = 500; | 
 |  147   RunTest(foreman_cif); | 
 |  148 } | 
 |  149  | 
 |  150 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueRecvBwe) { | 
 |  151   VideoQualityTest::Params foreman_cif = { | 
 |  152       {352, 288, 30, 30000, 500000, 2000000, false, "VP8", 1, 0, 0, false}, | 
 |  153       {"foreman_cif"}, | 
 |  154       {}, | 
 |  155       {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0, | 
 |  156        kFullStackTestDurationSecs}}; | 
 |  157   foreman_cif.pipe.queue_length_packets = 32; | 
 |  158   foreman_cif.pipe.queue_delay_ms = 100; | 
 |  159   foreman_cif.pipe.link_capacity_kbps = 500; | 
|  147   RunTest(foreman_cif); |  160   RunTest(foreman_cif); | 
|  148 } |  161 } | 
|  149  |  162  | 
|  150 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { |  163 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) { | 
|  151   VideoQualityTest::Params foreman_cif = { |  164   VideoQualityTest::Params foreman_cif = { | 
|  152       {352, 288, 30, 30000, 2000000, 2000000, false, "VP8", 1}, |  165       {352, 288, 30, 30000, 2000000, 2000000, false, "VP8", 1, 0, 0, true}, | 
|  153       {"foreman_cif"}, |  166       {"foreman_cif"}, | 
|  154       {}, |  167       {}, | 
|  155       {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, |  168       {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, | 
|  156         kFullStackTestDurationSecs}}; |  169        kFullStackTestDurationSecs}}; | 
|  157   foreman_cif.pipe.queue_length_packets = 32; |  170   foreman_cif.pipe.queue_length_packets = 32; | 
|  158   foreman_cif.pipe.queue_delay_ms = 100; |  171   foreman_cif.pipe.queue_delay_ms = 100; | 
|  159   foreman_cif.pipe.link_capacity_kbps = 1000; |  172   foreman_cif.pipe.link_capacity_kbps = 1000; | 
|  160   RunTest(foreman_cif); |  173   RunTest(foreman_cif); | 
|  161 } |  174 } | 
|  162  |  175  | 
 |  176 TEST_F(FullStackTest, ConferenceMotionHd2000kbps100msLimitedQueue) { | 
 |  177   VideoQualityTest::Params conf_motion_hd = { | 
 |  178       {1280, 720, 50, 30000, 3000000, 3000000, false, "VP8", 1, 0, 0, true}, | 
 |  179       {"ConferenceMotion_1280_720_50"}, | 
 |  180       {}, | 
 |  181       {"conference_motion_hd_2000kbps_100ms_32pkts_queue", 0.0, 0.0, | 
 |  182        kFullStackTestDurationSecs}}; | 
 |  183   conf_motion_hd.pipe.queue_length_packets = 32; | 
 |  184   conf_motion_hd.pipe.queue_delay_ms = 100; | 
 |  185   conf_motion_hd.pipe.link_capacity_kbps = 2000; | 
 |  186   RunTest(conf_motion_hd); | 
 |  187 } | 
 |  188  | 
|  163 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { |  189 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { | 
|  164   VideoQualityTest::Params screenshare = { |  190   VideoQualityTest::Params screenshare = { | 
|  165       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000}, |  191       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, | 
|  166       {}, |  192       {}, | 
|  167       {true, 10}, |  193       {true, 10}, | 
|  168       {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; |  194       {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  169   RunTest(screenshare); |  195   RunTest(screenshare); | 
|  170 } |  196 } | 
|  171  |  197  | 
|  172 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { |  198 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { | 
|  173   VideoQualityTest::Params config = { |  199   VideoQualityTest::Params config = { | 
|  174       {1850, 1110 / 2, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000}, |  200       {1850, 1110 / 2, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, | 
 |  201        true}, | 
|  175       {}, |  202       {}, | 
|  176       {true, 10, 2}, |  203       {true, 10, 2}, | 
|  177       {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}}; |  204       {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  178   RunTest(config); |  205   RunTest(config); | 
|  179 } |  206 } | 
|  180  |  207  | 
|  181 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { |  208 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_LossyNet) { | 
|  182   VideoQualityTest::Params screenshare = { |  209   VideoQualityTest::Params screenshare = { | 
|  183       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000}, |  210       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, | 
|  184       {},          // Video-specific. |  211       {},          // Video-specific. | 
|  185       {true, 10},  // Screenshare-specific. |  212       {true, 10},  // Screenshare-specific. | 
|  186       {"screenshare_slides_lossy_net", 0.0, 0.0, kFullStackTestDurationSecs}}; |  213       {"screenshare_slides_lossy_net", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  187   screenshare.pipe.loss_percent = 5; |  214   screenshare.pipe.loss_percent = 5; | 
|  188   screenshare.pipe.queue_delay_ms = 200; |  215   screenshare.pipe.queue_delay_ms = 200; | 
|  189   screenshare.pipe.link_capacity_kbps = 500; |  216   screenshare.pipe.link_capacity_kbps = 500; | 
|  190   RunTest(screenshare); |  217   RunTest(screenshare); | 
|  191 } |  218 } | 
|  192  |  219  | 
|  193 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { |  220 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_VeryLossyNet) { | 
|  194   VideoQualityTest::Params screenshare = { |  221   VideoQualityTest::Params screenshare = { | 
|  195       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000}, |  222       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP8", 2, 1, 400000, true}, | 
|  196       {},          // Video-specific. |  223       {},          // Video-specific. | 
|  197       {true, 10},  // Screenshare-specific. |  224       {true, 10},  // Screenshare-specific. | 
|  198       {"screenshare_slides_very_lossy", 0.0, 0.0, kFullStackTestDurationSecs}}; |  225       {"screenshare_slides_very_lossy", 0.0, 0.0, kFullStackTestDurationSecs}}; | 
|  199   screenshare.pipe.loss_percent = 10; |  226   screenshare.pipe.loss_percent = 10; | 
|  200   screenshare.pipe.queue_delay_ms = 200; |  227   screenshare.pipe.queue_delay_ms = 200; | 
|  201   screenshare.pipe.link_capacity_kbps = 500; |  228   screenshare.pipe.link_capacity_kbps = 500; | 
|  202   RunTest(screenshare); |  229   RunTest(screenshare); | 
|  203 } |  230 } | 
|  204  |  231  | 
|  205 #if !defined(RTC_DISABLE_VP9) |  232 #if !defined(RTC_DISABLE_VP9) | 
|  206 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { |  233 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { | 
|  207   VideoQualityTest::Params screenshare = { |  234   VideoQualityTest::Params screenshare = { | 
|  208       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP9", 1, 0, 400000}, |  235       {1850, 1110, 5, 50000, 200000, 2000000, false, "VP9", 1, 0, 400000, true}, | 
|  209       {}, |  236       {}, | 
|  210       {true, 10}, |  237       {true, 10}, | 
|  211       {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs}, |  238       {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs}, | 
|  212       {}, |  239       {}, | 
|  213       false, |  240       false, | 
|  214       {std::vector<VideoStream>(), 0, 2, 1}}; |  241       {std::vector<VideoStream>(), 0, 2, 1}}; | 
|  215   RunTest(screenshare); |  242   RunTest(screenshare); | 
|  216 } |  243 } | 
|  217 #endif  // !defined(RTC_DISABLE_VP9) |  244 #endif  // !defined(RTC_DISABLE_VP9) | 
|  218 }  // namespace webrtc |  245 }  // namespace webrtc | 
| OLD | NEW |