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

Side by Side Diff: webrtc/video/video_quality_test.h

Issue 2974903002: Add rtpdump and rtc log functionality to screenshare_loopback and video_loopback (Closed)
Patch Set: rebase Created 3 years, 5 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/video/video_loopback.cc ('k') | webrtc/video/video_quality_test.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) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 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 #ifndef WEBRTC_VIDEO_VIDEO_QUALITY_TEST_H_ 10 #ifndef WEBRTC_VIDEO_VIDEO_QUALITY_TEST_H_
(...skipping 16 matching lines...) Expand all
27 // Parameters are grouped into smaller structs to make it easier to set 27 // Parameters are grouped into smaller structs to make it easier to set
28 // the desired elements and skip unused, using aggregate initialization. 28 // the desired elements and skip unused, using aggregate initialization.
29 // Unfortunately, C++11 (as opposed to C11) doesn't support unnamed structs, 29 // Unfortunately, C++11 (as opposed to C11) doesn't support unnamed structs,
30 // which makes the implementation of VideoQualityTest a bit uglier. 30 // which makes the implementation of VideoQualityTest a bit uglier.
31 struct Params { 31 struct Params {
32 Params(); 32 Params();
33 ~Params(); 33 ~Params();
34 struct CallConfig { 34 struct CallConfig {
35 bool send_side_bwe; 35 bool send_side_bwe;
36 Call::Config::BitrateConfig call_bitrate_config; 36 Call::Config::BitrateConfig call_bitrate_config;
37 int num_thumbnails;
37 } call; 38 } call;
38 struct Video { 39 struct Video {
39 bool enabled; 40 bool enabled;
40 size_t width; 41 size_t width;
41 size_t height; 42 size_t height;
42 int32_t fps; 43 int32_t fps;
43 int min_bitrate_bps; 44 int min_bitrate_bps;
44 int target_bitrate_bps; 45 int target_bitrate_bps;
45 int max_bitrate_bps; 46 int max_bitrate_bps;
46 bool suspend_below_min_bitrate; 47 bool suspend_below_min_bitrate;
47 std::string codec; 48 std::string codec;
48 int num_temporal_layers; 49 int num_temporal_layers;
49 int selected_tl; 50 int selected_tl;
50 int min_transmit_bps; 51 int min_transmit_bps;
51 bool ulpfec; 52 bool ulpfec;
52 bool flexfec; 53 bool flexfec;
53 std::string encoded_frame_base_path;
54 std::string clip_name; // "Generator" to generate frames instead. 54 std::string clip_name; // "Generator" to generate frames instead.
55 size_t capture_device_index; 55 size_t capture_device_index;
56 } video; 56 } video;
57 struct Audio { 57 struct Audio {
58 bool enabled; 58 bool enabled;
59 bool sync_video; 59 bool sync_video;
60 bool dtx; 60 bool dtx;
61 } audio; 61 } audio;
62 struct Screenshare { 62 struct Screenshare {
63 bool enabled; 63 bool enabled;
64 int32_t slide_change_interval; 64 int32_t slide_change_interval;
65 int32_t scroll_duration; 65 int32_t scroll_duration;
66 std::vector<std::string> slides; 66 std::vector<std::string> slides;
67 } screenshare; 67 } screenshare;
68 struct Analyzer { 68 struct Analyzer {
69 std::string test_label; 69 std::string test_label;
70 double avg_psnr_threshold; // (*) 70 double avg_psnr_threshold; // (*)
71 double avg_ssim_threshold; // (*) 71 double avg_ssim_threshold; // (*)
72 int test_durations_secs; 72 int test_durations_secs;
73 std::string graph_data_output_filename; 73 std::string graph_data_output_filename;
74 std::string graph_title; 74 std::string graph_title;
75 } analyzer; 75 } analyzer;
76 FakeNetworkPipe::Config pipe; 76 FakeNetworkPipe::Config pipe;
77 bool logs;
78 struct SS { // Spatial scalability. 77 struct SS { // Spatial scalability.
79 std::vector<VideoStream> streams; // If empty, one stream is assumed. 78 std::vector<VideoStream> streams; // If empty, one stream is assumed.
80 size_t selected_stream; 79 size_t selected_stream;
81 int num_spatial_layers; 80 int num_spatial_layers;
82 int selected_sl; 81 int selected_sl;
83 // If empty, bitrates are generated in VP9Impl automatically. 82 // If empty, bitrates are generated in VP9Impl automatically.
84 std::vector<SpatialLayer> spatial_layers; 83 std::vector<SpatialLayer> spatial_layers;
85 // If set, default parameters will be used instead of |streams|. 84 // If set, default parameters will be used instead of |streams|.
86 bool infer_streams; 85 bool infer_streams;
87 } ss; 86 } ss;
88 int num_thumbnails; 87 struct Logging {
88 bool logs;
89 std::string rtc_event_log_name;
90 std::string rtp_dump_name;
91 std::string encoded_frame_base_path;
92 } logging;
89 }; 93 };
90 94
91 VideoQualityTest(); 95 VideoQualityTest();
92 void RunWithAnalyzer(const Params& params); 96 void RunWithAnalyzer(const Params& params);
93 void RunWithRenderers(const Params& params); 97 void RunWithRenderers(const Params& params);
94 98
95 static void FillScalabilitySettings( 99 static void FillScalabilitySettings(
96 Params* params, 100 Params* params,
97 const std::vector<std::string>& stream_descriptors, 101 const std::vector<std::string>& stream_descriptors,
98 int num_streams, 102 int num_streams,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 int send_logs_; 157 int send_logs_;
154 158
155 VideoSendStream::DegradationPreference degradation_preference_ = 159 VideoSendStream::DegradationPreference degradation_preference_ =
156 VideoSendStream::DegradationPreference::kMaintainFramerate; 160 VideoSendStream::DegradationPreference::kMaintainFramerate;
157 Params params_; 161 Params params_;
158 }; 162 };
159 163
160 } // namespace webrtc 164 } // namespace webrtc
161 165
162 #endif // WEBRTC_VIDEO_VIDEO_QUALITY_TEST_H_ 166 #endif // WEBRTC_VIDEO_VIDEO_QUALITY_TEST_H_
OLDNEW
« no previous file with comments | « webrtc/video/video_loopback.cc ('k') | webrtc/video/video_quality_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698