Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: webrtc/video/full_stack.cc

Issue 1691953004: Add VP9 to full stack tests. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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>
11 11
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "webrtc/video/video_quality_test.h" 13 #include "webrtc/video/video_quality_test.h"
14 14
15 namespace webrtc { 15 namespace webrtc {
16 16
17 static const int kFullStackTestDurationSecs = 60; 17 static const int kFullStackTestDurationSecs = 60;
18 18
19 class FullStackTest : public VideoQualityTest { 19 class FullStackTest : public VideoQualityTest {
20 public: 20 public:
21 void RunTest(const VideoQualityTest::Params &params) { 21 void RunTest(const VideoQualityTest::Params &params) {
22 RunWithAnalyzer(params); 22 RunWithAnalyzer(params);
23 } 23 }
24
25 void ParisQcifWithoutPacketLoss(std::string video_codec) {
26 VideoQualityTest::Params paris_qcif = {
27 {176, 144, 30, 300000, 300000, 300000, video_codec, 1},
28 {"paris_qcif"},
29 {},
30 {"net_delay_0_0_plr_0_" + video_codec, 36.0, 0.96,
31 kFullStackTestDurationSecs}};
32 RunTest(paris_qcif);
33 }
34
35 void ForemanCifWithoutPacketLoss(std::string video_codec) {
36 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
37 VideoQualityTest::Params foreman_cif = {
38 {352, 288, 30, 700000, 700000, 700000, video_codec, 1},
39 {"foreman_cif"},
40 {},
41 {"foreman_cif_net_delay_0_0_plr_0_" + video_codec, 0.0, 0.0,
42 kFullStackTestDurationSecs}};
43 RunTest(foreman_cif);
44 }
45
46 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.
47 VideoQualityTest::Params foreman_cif = {
48 {352, 288, 30, 30000, 500000, 2000000, video_codec, 1},
49 {"foreman_cif"},
50 {},
51 {"foreman_cif_delay_50_0_plr_5_" + video_codec, 0.0, 0.0,
52 kFullStackTestDurationSecs}};
53 foreman_cif.pipe.loss_percent = 5;
54 foreman_cif.pipe.queue_delay_ms = 50;
55 RunTest(foreman_cif);
56 }
57
58 void ForemanCif500kbps(std::string video_codec) {
59 VideoQualityTest::Params foreman_cif = {
60 {352, 288, 30, 30000, 500000, 2000000, video_codec, 1},
61 {"foreman_cif"},
62 {},
63 {"foreman_cif_500kbps_" + video_codec, 0.0, 0.0,
64 kFullStackTestDurationSecs}};
65 foreman_cif.pipe.queue_length_packets = 0;
66 foreman_cif.pipe.queue_delay_ms = 0;
67 foreman_cif.pipe.link_capacity_kbps = 500;
68 RunTest(foreman_cif);
69 }
70
71 void ForemanCif500kbpsLimitedQueue(std::string video_codec) {
72 VideoQualityTest::Params foreman_cif = {
73 {352, 288, 30, 30000, 500000, 2000000, video_codec, 1},
74 {"foreman_cif"},
75 {},
76 {"foreman_cif_500kbps_32pkts_queue_" + video_codec, 0.0, 0.0,
77 kFullStackTestDurationSecs}};
78 foreman_cif.pipe.queue_length_packets = 32;
79 foreman_cif.pipe.queue_delay_ms = 0;
80 foreman_cif.pipe.link_capacity_kbps = 500;
81 RunTest(foreman_cif);
82 }
83
84 void ForemanCif500kbps100ms(std::string video_codec) {
85 VideoQualityTest::Params foreman_cif = {
86 {352, 288, 30, 30000, 500000, 2000000, video_codec, 1},
87 {"foreman_cif"},
88 {},
89 {"foreman_cif_500kbps_100ms_" + video_codec, 0.0, 0.0,
90 kFullStackTestDurationSecs}};
91 foreman_cif.pipe.queue_length_packets = 0;
92 foreman_cif.pipe.queue_delay_ms = 100;
93 foreman_cif.pipe.link_capacity_kbps = 500;
94 RunTest(foreman_cif);
95 }
96
97 void ForemanCif500kbps100msLimitedQueue(std::string video_codec) {
98 VideoQualityTest::Params foreman_cif = {
99 {352, 288, 30, 30000, 500000, 2000000, video_codec, 1},
100 {"foreman_cif"},
101 {},
102 {"foreman_cif_500kbps_100ms_32pkts_queue_" + video_codec, 0.0, 0.0,
103 kFullStackTestDurationSecs}};
104 foreman_cif.pipe.queue_length_packets = 32;
105 foreman_cif.pipe.queue_delay_ms = 100;
106 foreman_cif.pipe.link_capacity_kbps = 500;
107 RunTest(foreman_cif);
108 }
109
110 void ForemanCif1000kbps100msLimitedQueue(std::string video_codec) {
111 VideoQualityTest::Params foreman_cif = {
112 {352, 288, 30, 30000, 2000000, 2000000, video_codec, 1},
113 {"foreman_cif"},
114 {},
115 {"foreman_cif_1000kbps_100ms_32pkts_queue_" + video_codec, 0.0, 0.0,
116 kFullStackTestDurationSecs}};
117 foreman_cif.pipe.queue_length_packets = 32;
118 foreman_cif.pipe.queue_delay_ms = 100;
119 foreman_cif.pipe.link_capacity_kbps = 1000;
120 RunTest(foreman_cif);
121 }
24 }; 122 };
25 123
26 // VideoQualityTest::Params params = { 124 // VideoQualityTest::Params params = {
27 // { ... }, // Common. 125 // { ... }, // Common.
28 // { ... }, // Video-specific settings. 126 // { ... }, // Video-specific settings.
29 // { ... }, // Screenshare-specific settings. 127 // { ... }, // Screenshare-specific settings.
30 // { ... }, // Analyzer settings. 128 // { ... }, // Analyzer settings.
31 // pipe, // FakeNetworkPipe::Config 129 // pipe, // FakeNetworkPipe::Config
32 // { ... }, // Spatial scalability. 130 // { ... }, // Spatial scalability.
33 // logs // bool 131 // logs // bool
34 // }; 132 // };
35 133
134 // Tests below now runs for both VP8 and VP9 with
135 // graph title: 'graph_title_VP8', 'graph_title_VP9'.
136 // TODO(asapersson): Keep tests below running VP8 (which do not have the codec
137 // name in the title ('graph_title')) until new tests have been running for some
138 // time.
36 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { 139 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) {
37 VideoQualityTest::Params paris_qcif = { 140 VideoQualityTest::Params paris_qcif = {
38 {176, 144, 30, 300000, 300000, 300000, "VP8", 1}, 141 {176, 144, 30, 300000, 300000, 300000, "VP8", 1},
39 {"paris_qcif"}, 142 {"paris_qcif"},
40 {}, 143 {},
41 {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; 144 {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}};
42 RunTest(paris_qcif); 145 RunTest(paris_qcif);
43 } 146 }
44 147
45 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { 148 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 {"foreman_cif"}, 223 {"foreman_cif"},
121 {}, 224 {},
122 {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0, 225 {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0,
123 kFullStackTestDurationSecs}}; 226 kFullStackTestDurationSecs}};
124 foreman_cif.pipe.queue_length_packets = 32; 227 foreman_cif.pipe.queue_length_packets = 32;
125 foreman_cif.pipe.queue_delay_ms = 100; 228 foreman_cif.pipe.queue_delay_ms = 100;
126 foreman_cif.pipe.link_capacity_kbps = 1000; 229 foreman_cif.pipe.link_capacity_kbps = 1000;
127 RunTest(foreman_cif); 230 RunTest(foreman_cif);
128 } 231 }
129 232
233 TEST_F(FullStackTest, ParisQcifWithoutPacketLossVp8) {
234 ParisQcifWithoutPacketLoss("VP8");
235 }
236
237 TEST_F(FullStackTest, ParisQcifWithoutPacketLossVp9) {
238 ParisQcifWithoutPacketLoss("VP9");
239 }
240
241 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp8) {
242 ForemanCifWithoutPacketLoss("VP8");
243 }
244
245 TEST_F(FullStackTest, ForemanCifWithoutPacketLossVp9) {
246 ForemanCifWithoutPacketLoss("VP9");
247 }
248
249 TEST_F(FullStackTest, ForemanCifPlr5Vp8) {
250 ForemanCifPlr5("VP8");
251 }
252
253 TEST_F(FullStackTest, ForemanCifPlr5Vp9) {
254 ForemanCifPlr5("VP9");
255 }
256
257 TEST_F(FullStackTest, ForemanCif500kbpsVp8) {
258 ForemanCif500kbps("VP8");
259 }
260
261 TEST_F(FullStackTest, ForemanCif500kbpsVp9) {
262 ForemanCif500kbps("VP9");
263 }
264
265 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueueVp8) {
266 ForemanCif500kbpsLimitedQueue("VP8");
267 }
268
269 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueueVp9) {
270 ForemanCif500kbpsLimitedQueue("VP9");
271 }
272
273 TEST_F(FullStackTest, ForemanCif500kbps100msVp8) {
274 ForemanCif500kbps100ms("VP8");
275 }
276
277 TEST_F(FullStackTest, ForemanCif500kbps100msVp9) {
278 ForemanCif500kbps100ms("VP9");
279 }
280
281 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueVp8) {
282 ForemanCif500kbps100msLimitedQueue("VP8");
283 }
284
285 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueueVp9) {
286 ForemanCif500kbps100msLimitedQueue("VP9");
287 }
288
289 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueueVp8) {
290 ForemanCif1000kbps100msLimitedQueue("VP8");
291 }
292
293 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueueVp9) {
294 ForemanCif1000kbps100msLimitedQueue("VP9");
295 }
296
130 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) { 297 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) {
131 VideoQualityTest::Params screenshare = { 298 VideoQualityTest::Params screenshare = {
132 {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 1, 400000}, 299 {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 1, 400000},
133 {}, 300 {},
134 {true, 10}, 301 {true, 10},
135 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; 302 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}};
136 RunTest(screenshare); 303 RunTest(screenshare);
137 } 304 }
138 305
139 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { 306 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 {1850, 1110, 5, 50000, 200000, 2000000, "VP9", 1, 0, 400000}, 341 {1850, 1110, 5, 50000, 200000, 2000000, "VP9", 1, 0, 400000},
175 {}, 342 {},
176 {true, 10}, 343 {true, 10},
177 {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs}, 344 {"screenshare_slides_vp9_2sl", 0.0, 0.0, kFullStackTestDurationSecs},
178 {}, 345 {},
179 false, 346 false,
180 {std::vector<VideoStream>(), 0, 2, 1}}; 347 {std::vector<VideoStream>(), 0, 2, 1}};
181 RunTest(screenshare); 348 RunTest(screenshare);
182 } 349 }
183 } // namespace webrtc 350 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698