Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
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::RefCountInterface
Definition AgoraRefPtr.h:31
agora::agora_refptr
Definition AgoraRefPtr.h:44
agora::rtc::IAgoraVideoQualityAnalyzer::Control
Definition NGIAgoraExtensionVQA.h:21
agora::rtc::IAgoraVideoQualityAnalyzer::Control::printLog
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
agora::rtc::IAgoraVideoQualityAnalyzer
Definition NGIAgoraExtensionVQA.h:19
agora::rtc::IAgoraVideoQualityAnalyzer::~IAgoraVideoQualityAnalyzer
virtual ~IAgoraVideoQualityAnalyzer()=default
agora::rtc::IAgoraVideoQualityAnalyzer::getVqaResult
virtual int getVqaResult(float &mos, float *regression_feature, size_t feature_size)=0
agora::rtc::IAgoraVideoQualityAnalyzer::pushYuvData
virtual int pushYuvData(agora::agora_refptr< rtc::IVideoFrame > frame, int fps, int64_t ts)=0
agora::rtc::IAgoraVideoQualityAnalyzer::initializeVQA
virtual int initializeVQA(const agora_refptr< Control > &control)=0
agora::commons::LOG_LEVEL
OPTIONAL_ENUM_CLASS LOG_LEVEL
The output log level of the SDK.
Definition IAgoraLog.h:33
agora::rtc
Definition AgoraExtensions.h:5
agora
Definition AgoraAtomicOps.h:21