Agora C++ API Reference for All Platforms

NGIAgoraExtensionVQA.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2021 Agora.io. All rights reserved.
5 //
6
7 #pragma once // NOLINT(build/header_guard)
8
9 #include "AgoraBase.h"
10 #include "IAgoraLog.h"
11 #include "AgoraRefPtr.h"
12 #include "NGIAgoraVideoFrame.h"
13 #include "AgoraMediaBase.h"
14
15 namespace agora {
16 namespace rtc {
17
18 // class ExtensionControlImpl;
19 class IAgoraVideoQualityAnalyzer : public RefCountInterface {
20 public:
21 class Control : public RefCountInterface {
22 public:
23 virtual void printLog(commons::LOG_LEVEL level, const char* format, ...) = 0;
24 };
25
26 virtual ~IAgoraVideoQualityAnalyzer() = default;
27
28 virtual int initializeVQA(const agora_refptr<Control>& control) = 0;
29
30 virtual int pushYuvData(agora::agora_refptr<rtc::IVideoFrame> frame, int fps, int64_t ts) = 0;
31
32 virtual int getVqaResult(float& mos, float* regression_feature, size_t feature_size) = 0;
33 };
34
35
36 } // namespace rtc
37 } // namespace agora
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::IAgoraVideoQualityAnalyzer::Control::printLog
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
agora::rtc::IAgoraVideoQualityAnalyzer
Definition: NGIAgoraExtensionVQA.h:19
agora
Definition: AgoraAtomicOps.h:21
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::IAgoraVideoQualityAnalyzer::pushYuvData
virtual int pushYuvData(agora::agora_refptr< rtc::IVideoFrame > frame, int fps, int64_t ts)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IAgoraVideoQualityAnalyzer::initializeVQA
virtual int initializeVQA(const agora_refptr< Control > &control)=0
agora::rtc::IAgoraVideoQualityAnalyzer::~IAgoraVideoQualityAnalyzer
virtual ~IAgoraVideoQualityAnalyzer()=default
rtc
Definition: video_node_i.h:28
agora::rtc::IAgoraVideoQualityAnalyzer::Control
Definition: NGIAgoraExtensionVQA.h:21
agora::rtc::IAgoraVideoQualityAnalyzer::getVqaResult
virtual int getVqaResult(float &mos, float *regression_feature, size_t feature_size)=0