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
15namespace agora {
16namespace rtc {
17
18// class ExtensionControlImpl;
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
Definition AgoraRefPtr.h:31
Definition AgoraRefPtr.h:44
Definition NGIAgoraExtensionVQA.h:21
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
Definition NGIAgoraExtensionVQA.h:19
virtual ~IAgoraVideoQualityAnalyzer()=default
virtual int getVqaResult(float &mos, float *regression_feature, size_t feature_size)=0
virtual int pushYuvData(agora::agora_refptr< rtc::IVideoFrame > frame, int fps, int64_t ts)=0
virtual int initializeVQA(const agora_refptr< Control > &control)=0
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition IAgoraLog.h:33
Definition AgoraExtensions.h:5
Definition AgoraAtomicOps.h:21