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

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

Issue 1870043002: Add histogram stats for average QP per frame for VP9 (for sent video streams): (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 8 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
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 10
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 int Fraction(int min_required_samples, float multiplier) const; 119 int Fraction(int min_required_samples, float multiplier) const;
120 int sum; 120 int sum;
121 int num_samples; 121 int num_samples;
122 }; 122 };
123 struct StatsUpdateTimes { 123 struct StatsUpdateTimes {
124 StatsUpdateTimes() : resolution_update_ms(0), bitrate_update_ms(0) {} 124 StatsUpdateTimes() : resolution_update_ms(0), bitrate_update_ms(0) {}
125 int64_t resolution_update_ms; 125 int64_t resolution_update_ms;
126 int64_t bitrate_update_ms; 126 int64_t bitrate_update_ms;
127 }; 127 };
128 struct QpCounters { 128 struct QpCounters {
129 SampleCounter vp8; 129 SampleCounter vp8; // QP range: 0-127
130 SampleCounter vp9; // QP range: 0-255
130 }; 131 };
131 void PurgeOldStats() EXCLUSIVE_LOCKS_REQUIRED(crit_); 132 void PurgeOldStats() EXCLUSIVE_LOCKS_REQUIRED(crit_);
132 VideoSendStream::StreamStats* GetStatsEntry(uint32_t ssrc) 133 VideoSendStream::StreamStats* GetStatsEntry(uint32_t ssrc)
133 EXCLUSIVE_LOCKS_REQUIRED(crit_); 134 EXCLUSIVE_LOCKS_REQUIRED(crit_);
134 135
135 Clock* const clock_; 136 Clock* const clock_;
136 const VideoSendStream::Config config_; 137 const VideoSendStream::Config config_;
137 rtc::CriticalSection crit_; 138 rtc::CriticalSection crit_;
138 VideoEncoderConfig::ContentType content_type_ GUARDED_BY(crit_); 139 VideoEncoderConfig::ContentType content_type_ GUARDED_BY(crit_);
139 VideoSendStream::Stats stats_ GUARDED_BY(crit_); 140 VideoSendStream::Stats stats_ GUARDED_BY(crit_);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 const VideoSendStream::Stats start_stats_; 178 const VideoSendStream::Stats start_stats_;
178 std::map<int, QpCounters> 179 std::map<int, QpCounters>
179 qp_counters_; // QP counters mapped by spatial idx. 180 qp_counters_; // QP counters mapped by spatial idx.
180 }; 181 };
181 182
182 std::unique_ptr<UmaSamplesContainer> uma_container_ GUARDED_BY(crit_); 183 std::unique_ptr<UmaSamplesContainer> uma_container_ GUARDED_BY(crit_);
183 }; 184 };
184 185
185 } // namespace webrtc 186 } // namespace webrtc
186 #endif // WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_ 187 #endif // WEBRTC_VIDEO_SEND_STATISTICS_PROXY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698