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

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

Issue 1371113004: Debugging perf regression after refactoring (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Adding analyze_results.py Created 5 years, 2 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 | « webrtc/analyze_results.py ('k') | webrtc/video/full_stack_before.cc » ('j') | 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 }; 24 };
25 25
26 26
27 TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) { 27 // TEST_F(FullStackTest, ParisQcifWithoutPacketLoss) {
28 VideoQualityTest::Params paris_qcif = { 28 // VideoQualityTest::Params paris_qcif = {
29 {176, 144, 30, 300000, 300000, 300000, "VP8", 1}, 29 // {176, 144, 30, 300000, 300000, 300000, "VP8", 1},
30 {"paris_qcif"}, 30 // {"paris_qcif"},
31 {}, 31 // {},
32 {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}}; 32 // {"net_delay_0_0_plr_0", 36.0, 0.96, kFullStackTestDurationSecs}};
33 RunTest(paris_qcif); 33 // RunTest(paris_qcif);
34 // }
35 //
36 // TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) {
37 // // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif.
38 // VideoQualityTest::Params foreman_cif = {
39 // {352, 288, 30, 700000, 700000, 700000, "VP8", 1},
40 // {"foreman_cif"},
41 // {},
42 // {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, kFullStackTestDurationSec s}
43 // };
44 // RunTest(foreman_cif);
45 // }
46 //
47 // TEST_F(FullStackTest, ForemanCifPlr5) {
48 // VideoQualityTest::Params foreman_cif = {
49 // {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
50 // {"foreman_cif"},
51 // {},
52 // {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}} ;
53 // foreman_cif.pipe.loss_percent = 5;
54 // foreman_cif.pipe.queue_delay_ms = 50;
55 // RunTest(foreman_cif);
56 // }
57 //
58 // TEST_F(FullStackTest, ForemanCif500kbps) {
59 // VideoQualityTest::Params foreman_cif = {
60 // {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
61 // {"foreman_cif"},
62 // {},
63 // {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}};
64 // foreman_cif.pipe.queue_length_packets = 0;
65 // foreman_cif.pipe.queue_delay_ms = 0;
66 // foreman_cif.pipe.link_capacity_kbps = 500;
67 // RunTest(foreman_cif);
68 // }
69 //
70 // TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) {
71 // VideoQualityTest::Params foreman_cif = {
72 // {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
73 // {"foreman_cif"},
74 // {},
75 // {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, kFullStackTestDurationSe cs}
76 // };
77 // foreman_cif.pipe.queue_length_packets = 32;
78 // foreman_cif.pipe.queue_delay_ms = 0;
79 // foreman_cif.pipe.link_capacity_kbps = 500;
80 // RunTest(foreman_cif);
81 // }
82 //
83 // TEST_F(FullStackTest, ForemanCif500kbps100ms) {
84 // VideoQualityTest::Params foreman_cif = {
85 // {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
86 // {"foreman_cif"},
87 // {},
88 // {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}};
89 // foreman_cif.pipe.queue_length_packets = 0;
90 // foreman_cif.pipe.queue_delay_ms = 100;
91 // foreman_cif.pipe.link_capacity_kbps = 500;
92 // RunTest(foreman_cif);
93 // }
94 //
95 // TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) {
96 // VideoQualityTest::Params foreman_cif = {
97 // {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
98 // {"foreman_cif"},
99 // {},
100 // {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0,
101 // kFullStackTestDurationSecs}};
102 // foreman_cif.pipe.queue_length_packets = 32;
103 // foreman_cif.pipe.queue_delay_ms = 100;
104 // foreman_cif.pipe.link_capacity_kbps = 500;
105 // RunTest(foreman_cif);
106 // }
107 //
108 // TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) {
109 // VideoQualityTest::Params foreman_cif = {
110 // {352, 288, 30, 30000, 2000000, 2000000, "VP8", 1},
111 // {"foreman_cif"},
112 // {},
113 // {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0,
114 // kFullStackTestDurationSecs}};
115 // foreman_cif.pipe.queue_length_packets = 32;
116 // foreman_cif.pipe.queue_delay_ms = 100;
117 // foreman_cif.pipe.link_capacity_kbps = 1000;
118 // RunTest(foreman_cif);
119 // }
120 //
121 // // Temporarily disabled on Android due to low test timeouts.
122 // // https://code.google.com/p/chromium/issues/detail?id=513170
123 // #include "webrtc/test/testsupport/gtest_disable.h"
124 // TEST_F(FullStackTest, DISABLED_ON_ANDROID(ScreenshareSlidesVP8_2TL)) {
125 // VideoQualityTest::Params screenshare = {
126 // {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 400000},
127 // {}, // Video-specific.
128 // {true, 10}, // Screenshare-specific.
129 // {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}};
130 // RunTest(screenshare);
131 // }
132 //
133 // TEST_F(FullStackTest, DISABLED_ON_ANDROID(ScreenshareSlidesVP8_2TL_Scroll)) {
134 // VideoQualityTest::Params config = {
135 // {1850, 1110 / 2, 5, 50000, 200000, 2000000, "VP8", 2, 400000},
136 // {},
137 // {true, 10, 2},
138 // {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}} ;
139 // RunTest(config);
140 // }
141
142 #define SCREENSHARE_VP8_2TL { \
143 VideoQualityTest::Params screenshare = { \
144 {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 400000}, \
145 {}, \
146 {true, 10}, \
147 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}}; \
148 RunTest(screenshare); \
34 } 149 }
35 150
36 TEST_F(FullStackTest, ForemanCifWithoutPacketLoss) { 151 #define SCREENSHARE_VP9_2TL { \
37 // TODO(pbos): Decide on psnr/ssim thresholds for foreman_cif. 152 VideoQualityTest::Params screenshare = { \
38 VideoQualityTest::Params foreman_cif = { 153 {1850, 1110, 5, 50000, 200000, 2000000, "VP9", 2, 400000}, \
39 {352, 288, 30, 700000, 700000, 700000, "VP8", 1}, 154 {}, \
40 {"foreman_cif"}, 155 {true, 10}, \
41 {}, 156 {"screenshare_slides_vp9_2tl", 0.0, 0.0, kFullStackTestDurationSecs}}; \
42 {"foreman_cif_net_delay_0_0_plr_0", 0.0, 0.0, kFullStackTestDurationSecs} 157 RunTest(screenshare); \
43 };
44 RunTest(foreman_cif);
45 } 158 }
46 159
47 TEST_F(FullStackTest, ForemanCifPlr5) { 160 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_0) SCREENSHARE_VP8_2TL;
48 VideoQualityTest::Params foreman_cif = { 161 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_1) SCREENSHARE_VP8_2TL;
49 {352, 288, 30, 30000, 500000, 2000000, "VP8", 1}, 162 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_2) SCREENSHARE_VP8_2TL;
50 {"foreman_cif"}, 163 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_3) SCREENSHARE_VP8_2TL;
51 {}, 164 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_4) SCREENSHARE_VP8_2TL;
52 {"foreman_cif_delay_50_0_plr_5", 0.0, 0.0, kFullStackTestDurationSecs}}; 165 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_5) SCREENSHARE_VP8_2TL;
53 foreman_cif.pipe.loss_percent = 5; 166 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_6) SCREENSHARE_VP8_2TL;
54 foreman_cif.pipe.queue_delay_ms = 50; 167 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_7) SCREENSHARE_VP8_2TL;
55 RunTest(foreman_cif); 168 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_8) SCREENSHARE_VP8_2TL;
56 } 169 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Master_9) SCREENSHARE_VP8_2TL;
57 170
58 TEST_F(FullStackTest, ForemanCif500kbps) {
59 VideoQualityTest::Params foreman_cif = {
60 {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
61 {"foreman_cif"},
62 {},
63 {"foreman_cif_500kbps", 0.0, 0.0, kFullStackTestDurationSecs}};
64 foreman_cif.pipe.queue_length_packets = 0;
65 foreman_cif.pipe.queue_delay_ms = 0;
66 foreman_cif.pipe.link_capacity_kbps = 500;
67 RunTest(foreman_cif);
68 }
69
70 TEST_F(FullStackTest, ForemanCif500kbpsLimitedQueue) {
71 VideoQualityTest::Params foreman_cif = {
72 {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
73 {"foreman_cif"},
74 {},
75 {"foreman_cif_500kbps_32pkts_queue", 0.0, 0.0, kFullStackTestDurationSecs}
76 };
77 foreman_cif.pipe.queue_length_packets = 32;
78 foreman_cif.pipe.queue_delay_ms = 0;
79 foreman_cif.pipe.link_capacity_kbps = 500;
80 RunTest(foreman_cif);
81 }
82
83 TEST_F(FullStackTest, ForemanCif500kbps100ms) {
84 VideoQualityTest::Params foreman_cif = {
85 {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
86 {"foreman_cif"},
87 {},
88 {"foreman_cif_500kbps_100ms", 0.0, 0.0, kFullStackTestDurationSecs}};
89 foreman_cif.pipe.queue_length_packets = 0;
90 foreman_cif.pipe.queue_delay_ms = 100;
91 foreman_cif.pipe.link_capacity_kbps = 500;
92 RunTest(foreman_cif);
93 }
94
95 TEST_F(FullStackTest, ForemanCif500kbps100msLimitedQueue) {
96 VideoQualityTest::Params foreman_cif = {
97 {352, 288, 30, 30000, 500000, 2000000, "VP8", 1},
98 {"foreman_cif"},
99 {},
100 {"foreman_cif_500kbps_100ms_32pkts_queue", 0.0, 0.0,
101 kFullStackTestDurationSecs}};
102 foreman_cif.pipe.queue_length_packets = 32;
103 foreman_cif.pipe.queue_delay_ms = 100;
104 foreman_cif.pipe.link_capacity_kbps = 500;
105 RunTest(foreman_cif);
106 }
107
108 TEST_F(FullStackTest, ForemanCif1000kbps100msLimitedQueue) {
109 VideoQualityTest::Params foreman_cif = {
110 {352, 288, 30, 30000, 2000000, 2000000, "VP8", 1},
111 {"foreman_cif"},
112 {},
113 {"foreman_cif_1000kbps_100ms_32pkts_queue", 0.0, 0.0,
114 kFullStackTestDurationSecs}};
115 foreman_cif.pipe.queue_length_packets = 32;
116 foreman_cif.pipe.queue_delay_ms = 100;
117 foreman_cif.pipe.link_capacity_kbps = 1000;
118 RunTest(foreman_cif);
119 }
120
121 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL) {
122 VideoQualityTest::Params screenshare = {
123 {1850, 1110, 5, 50000, 200000, 2000000, "VP8", 2, 400000},
124 {}, // Video-specific.
125 {true, 10}, // Screenshare-specific.
126 {"screenshare_slides", 0.0, 0.0, kFullStackTestDurationSecs}};
127 RunTest(screenshare);
128 }
129
130 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
131 VideoQualityTest::Params config = {
132 {1850, 1110 / 2, 5, 50000, 200000, 2000000, "VP8", 2, 400000},
133 {},
134 {true, 10, 2},
135 {"screenshare_slides_scrolling", 0.0, 0.0, kFullStackTestDurationSecs}};
136 RunTest(config);
137 }
138
139 TEST_F(FullStackTest, ScreenshareSlidesVP9_2TL) {
140 VideoQualityTest::Params screenshare = {
141 {1850, 1110, 5, 50000, 200000, 2000000, "VP9", 2, 400000},
142 {},
143 {true, 10},
144 {"screenshare_slides_vp9_2tl", 0.0, 0.0, kFullStackTestDurationSecs}};
145 RunTest(screenshare);
146 }
147 } // namespace webrtc 171 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/analyze_results.py ('k') | webrtc/video/full_stack_before.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698