9 #pragma once // NOLINT(build/header_guard)
11 #include "AgoraBase.h"
13 #ifndef OPTIONAL_ENUM_CLASS
14 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
15 #define OPTIONAL_ENUM_CLASS enum class
17 #define OPTIONAL_ENUM_CLASS enum
30 OPTIONAL_ENUM_CLASS TextureType {
34 OPTIONAL_ENUM_CLASS EglContextType {
39 TextureType texture_type;
40 EglContextType context_type;
43 float transform_matrix[16];
51 OPTIONAL_ENUM_CLASS Format {
68 RawPixelBuffer::Format format;
73 : data(NULL), size(0), stride(0) {}
80 PRIMARYID_UNSPECIFIED = 2,
82 PRIMARYID_BT470BG = 5,
83 PRIMARYID_SMPTE170M = 6,
84 PRIMARYID_SMPTE240M = 7,
87 PRIMARYID_SMPTEST428 = 10,
88 PRIMARYID_SMPTEST431 = 11,
89 PRIMARYID_SMPTEST432 = 12,
90 PRIMARYID_JEDECP22 = 22,
109 MATRIXID_UNSPECIFIED = 2,
111 MATRIXID_BT470BG = 5,
112 MATRIXID_SMPTE170M = 6,
113 MATRIXID_SMPTE240M = 7,
115 MATRIXID_BT2020_NCL = 9,
116 MATRIXID_BT2020_CL = 10,
117 MATRIXID_SMPTE2085 = 11,
118 MATRIXID_CDNCLS = 12,
120 MATRIXID_BT2100_ICTCP = 14,
125 TRANSFERID_BT709 = 1,
126 TRANSFERID_UNSPECIFIED = 2,
127 TRANSFERID_GAMMA22 = 4,
128 TRANSFERID_GAMMA28 = 5,
129 TRANSFERID_SMPTE170M = 6,
130 TRANSFERID_SMPTE240M = 7,
131 TRANSFERID_LINEAR = 8,
133 TRANSFERID_LOG_SQRT = 10,
134 TRANSFERID_IEC61966_2_4 = 11,
135 TRANSFERID_BT1361_ECG = 12,
136 TRANSFERID_IEC61966_2_1 = 13,
137 TRANSFERID_BT2020_10 = 14,
138 TRANSFERID_BT2020_12 = 15,
139 TRANSFERID_SMPTEST2084 = 16,
140 TRANSFERID_SMPTEST428 = 17,
141 TRANSFERID_ARIB_STD_B67 = 18,
150 : primaries(PRIMARYID_UNSPECIFIED), transfer(TRANSFERID_UNSPECIFIED),
151 matrix(MATRIXID_UNSPECIFIED), range(RANGEID_INVALID) {}
159 OPTIONAL_ENUM_CLASS Type {
177 int64_t timestamp_ms;
184 OPTIONAL_ENUM_CLASS VideoFrameMetaDataType {
197 typedef int32_t VideoSourceType;
259 const VideoFrameData& data,
const VideoFrameMetaDataType* metatypes = NULL,
int count = 0) = 0;