/* * Copyright (c) 2021 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. */ #ifndef TEST_PC_E2E_ANALYZER_VIDEO_DEFAULT_VIDEO_QUALITY_ANALYZER_INTERNAL_SHARED_OBJECTS_H_ #define TEST_PC_E2E_ANALYZER_VIDEO_DEFAULT_VIDEO_QUALITY_ANALYZER_INTERNAL_SHARED_OBJECTS_H_ #include <memory> #include <string> #include <utility> #include <vector> #include "absl/types/optional.h" #include "api/numerics/samples_stats_counter.h" #include "api/units/data_size.h" #include "api/units/timestamp.h" #include "api/video/video_frame.h" #include "api/video/video_frame_type.h" #include "test/pc/e2e/analyzer/video/default_video_quality_analyzer_shared_objects.h" namespace webrtc { struct InternalStatsKey { … }; // Required to use InternalStatsKey as std::map key. bool operator<(const InternalStatsKey& a, const InternalStatsKey& b); bool operator==(const InternalStatsKey& a, const InternalStatsKey& b); // Final stats computed for frame after it went through the whole video // pipeline from capturing to rendering or dropping. struct FrameStats { … }; // Describes why comparison was done in overloaded mode (without calculating // PSNR and SSIM). enum class OverloadReason { … }; enum class FrameComparisonType { … }; // Represents comparison between two VideoFrames. Contains video frames itself // and stats. Can be one of two types: // 1. Normal - in this case `captured` is presented and either `rendered` is // presented and `dropped` is false, either `rendered` is omitted and // `dropped` is true. // 2. Overloaded - in this case both `captured` and `rendered` are omitted // because there were too many comparisons in the queue. `dropped` can be // true or false showing was frame dropped or not. struct FrameComparison { … }; } // namespace webrtc #endif // TEST_PC_E2E_ANALYZER_VIDEO_DEFAULT_VIDEO_QUALITY_ANALYZER_INTERNAL_SHARED_OBJECTS_H_