MillicastSDK
2.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
capabilities.h
Go to the documentation of this file.
1
#ifndef MILLICAST_API_CAPABILITIES_H
2
#define MILLICAST_API_CAPABILITIES_H
3
10
11
#ifdef __cplusplus
12
13
#include <string>
14
15
#include "
exports.h
"
16
17
namespace
millicast {
18
22
23
enum class
VideoType {
24
UNKNOWN,
25
I420,
26
I444,
27
I210,
28
IYUV,
29
RGB24,
30
ARGB,
31
RGB565,
32
YUY2,
33
YV12,
34
NV12,
35
UYVY,
36
MJPEG,
37
BGRA,
38
NATIVE
39
};
40
45
46
enum class
PrimaryID : uint8_t {
47
// The indices are equal to the values specified in T-REC H.273 Table 2.
48
BT709 = 1,
49
UNSPECIFIED = 2,
50
BT470M = 4,
51
BT470BG = 5,
52
SMPTE170M = 6,
// Identical to BT601
53
SMPTE240M = 7,
54
FILM = 8,
55
BT2020 = 9,
56
SMPTEST428 = 10,
57
SMPTEST431 = 11,
58
SMPTEST432 = 12,
59
JEDECP22 = 22,
// Identical to EBU3213-E
60
// When adding/removing entries here, please make sure to do
61
// the corresponding change to kPrimaryIds.
62
};
63
68
69
enum class
TransferID : uint8_t {
70
// The indices are equal to the values specified in T-REC H.273 Table 3.
71
BT709 = 1,
72
UNSPECIFIED = 2,
73
GAMMA22 = 4,
74
GAMMA28 = 5,
75
SMPTE170M = 6,
76
SMPTE240M = 7,
77
LINEAR = 8,
78
LOG = 9,
79
LOG_SQRT = 10,
80
IEC61966_2_4 = 11,
81
BT1361_ECG = 12,
82
IEC61966_2_1 = 13,
83
BT2020_10 = 14,
84
BT2020_12 = 15,
85
SMPTEST2084 = 16,
86
SMPTEST428 = 17,
87
ARIB_STD_B67 = 18,
88
// When adding/removing entries here, please make sure to do the
89
// corresponding change to kTransferIds.
90
};
91
96
97
enum class
MatrixID : uint8_t {
98
// The indices are equal to the values specified in T-REC H.273 Table 4.
99
RGB = 0,
100
BT709 = 1,
101
UNSPECIFIED = 2,
102
FCC = 4,
103
BT470BG = 5,
104
SMPTE170M = 6,
105
SMPTE240M = 7,
106
YCOCG = 8,
107
BT2020_NCL = 9,
108
BT2020_CL = 10,
109
SMPTE2085 = 11,
110
CDNCLS = 12,
111
CDCLS = 13,
112
BT2100_ICTCP = 14,
113
// When adding/removing entries here, please make sure to do the
114
// corresponding change to kMatrixIds.
115
};
116
120
121
enum class
RangeID {
122
// The indices are equal to the values specified at
123
// https://www.webmproject.org/docs/container/#colour for the element Range.
124
INVALID = 0,
125
// Limited Rec. 709 color range with RGB values ranging from 16 to 235.
126
LIMITED = 1,
127
// Full RGB color range with RGB valees from 0 to 255.
128
FULL = 2,
129
// Range is defined by MatrixCoefficients/TransferCharacteristics.
130
DERIVED = 3,
131
// When adding/removing entries here, please make sure to do the
132
// corresponding change to kRangeIds.
133
};
134
140
141
MILLICAST_API
std::string video_type_to_str(VideoType t);
142
146
147
class
VideoCapabilities {
148
public
:
149
int
width{};
150
int
height{};
151
int
fps{};
152
VideoType format{
153
VideoType::UNKNOWN};
154
PrimaryID primary{
155
PrimaryID::UNSPECIFIED};
157
TransferID transfer{TransferID::UNSPECIFIED};
159
MatrixID matrix{MatrixID::UNSPECIFIED};
161
RangeID range{
162
RangeID::INVALID};
163
168
std::string video_standard;
169
170
[[nodiscard]]
MILLICAST_API
std::string format_as_str()
171
const
;
172
};
173
174
}
// namespace millicast
175
176
#endif
/* MILLICAST_API_CAPABILITIES_H */
177
#endif
// __cplusplus
exports.h
MILLICAST_API
#define MILLICAST_API
Definition
exports.h:51
api
millicast-sdk
capabilities.h
Generated by
1.18.0