diff options
Diffstat (limited to 'third_party/libwebrtc/test/scenario/performance_stats.cc')
-rw-r--r-- | third_party/libwebrtc/test/scenario/performance_stats.cc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/third_party/libwebrtc/test/scenario/performance_stats.cc b/third_party/libwebrtc/test/scenario/performance_stats.cc new file mode 100644 index 0000000000..e12be8a003 --- /dev/null +++ b/third_party/libwebrtc/test/scenario/performance_stats.cc @@ -0,0 +1,47 @@ +/* + * Copyright 2019 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ +#include "test/scenario/performance_stats.h" + +#include <algorithm> + +namespace webrtc { +namespace test { +void VideoFramesStats::AddFrameInfo(const VideoFrameBuffer& frame, + Timestamp at_time) { + ++count; + RTC_DCHECK(at_time.IsFinite()); + pixels.AddSample(frame.width() * frame.height()); + resolution.AddSample(std::max(frame.width(), frame.height())); + frames.AddEvent(at_time); +} + +void VideoFramesStats::AddStats(const VideoFramesStats& other) { + count += other.count; + pixels.AddSamples(other.pixels); + resolution.AddSamples(other.resolution); + frames.AddEvents(other.frames); +} + +void VideoQualityStats::AddStats(const VideoQualityStats& other) { + capture.AddStats(other.capture); + render.AddStats(other.render); + lost_count += other.lost_count; + freeze_count += other.freeze_count; + capture_to_decoded_delay.AddSamples(other.capture_to_decoded_delay); + end_to_end_delay.AddSamples(other.end_to_end_delay); + psnr.AddSamples(other.psnr); + psnr_with_freeze.AddSamples(other.psnr_with_freeze); + skipped_between_rendered.AddSamples(other.skipped_between_rendered); + freeze_duration.AddSamples(other.freeze_duration); + time_between_freezes.AddSamples(other.time_between_freezes); +} + +} // namespace test +} // namespace webrtc |