1 #ifndef MW_VENC_COMMON_H
2 #define MW_VENC_COMMON_H
76 typedef void(*MW_ENCODER_CALLBACK_NALU)(
void * user_ptr,
const uint8_t *p_nalu_buf[], uint32_t nalu_len[], uint32_t nalu_num,
mw_venc_frame_info_t *p_frame_info);
325 MW_VENC_COLOR_PRI_RESERVED0 = 0,
327 MW_VENC_COLOR_PRI_UNSPECIFIED = 2,
328 MW_VENC_COLOR_PRI_RESERVED = 3,
351 MW_VENC_COLOR_TRC_RESERVED0 = 0,
353 MW_VENC_COLOR_TRC_UNSPECIFIED = 2,
354 MW_VENC_COLOR_TRC_RESERVED = 3,
358 MW_VENC_COLOR_TRC_SMPTE240M = 7,
384 MW_VENC_COLOR_SPACE_UNSPECIFIED = 2,
385 MW_VENC_COLOR_SPACE_RESERVED = 3,
433 int32_t intel_async_depth;
434 int32_t yuv_is_full_range;
enum mw_venc_frame_type mw_venc_frame_type_t
mw_venc_frame_type_t
Chromaticity-derived non-constant luminance system.
Definition: mw_venc_common.h:395
Number of slices: int32_t default 1.
Definition: mw_venc_common.h:292
H264 main.
Definition: mw_venc_common.h:156
colour filters using Illuminant C
Definition: mw_venc_common.h:334
mw_venc_color_space
mw_venc_color_space_t YUV colorspace type. These values match the ones defined by ISO/IEC 23001-8_201...
Definition: mw_venc_common.h:381
functionally identical to above
Definition: mw_venc_common.h:333
Frame rate: mw_venc_fps_t default 60/1.
Definition: mw_venc_common.h:290
H265 main.
Definition: mw_venc_common.h:158
Unknown error.
Definition: mw_venc_common.h:311
enum mw_venc_property mw_venc_property_t
mw_venc_property_t
uint8_t * p_extdata
Extended data pointer. The data includes vps(Video Parameter Set),sps(Sequence Parameter Set) and pps...
Definition: mw_venc_common.h:273
The maximum input value.
Definition: mw_venc_common.h:96
uint8_t qpp
P-Frame QP.
Definition: mw_venc_common.h:238
SMPTE ST 428-1.
Definition: mw_venc_common.h:369
uint8_t qpb
B-Frame QP.
Definition: mw_venc_common.h:237
enum mw_venc_color_transfer_characteristic mw_venc_color_transfer_characteristic_t
mw_venc_color_transfer_characteristic_t Color Transfer Characteristic. These values match the ones de...
int32_t height
Height of input video.
Definition: mw_venc_common.h:426
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"
Definition: mw_venc_common.h:361
also ITU-R BT470BG
Definition: mw_venc_common.h:356
NV12 equals MWFOURCC_NV12.
Definition: mw_venc_common.h:200
mw_venc_frame_info_t @detials Defines the types infomation of frame to be encoded....
Definition: mw_venc_common.h:59
mw_venc_profile_t profile
Profile.
Definition: mw_venc_common.h:431
mw_venc_profile
mw_venc_profile_t
Definition: mw_venc_common.h:152
int32_t slice_num
Slice number.
Definition: mw_venc_common.h:428
mw_venc_rate_control_t
Definition: mw_venc_common.h:227
H265.
Definition: mw_venc_common.h:95
Level 4.1.
Definition: mw_venc_common.h:178
int32_t gop_pic_size
GOP size.
Definition: mw_venc_common.h:429
SMPTE ST 428-1 (CIE 1931 XYZ)
Definition: mw_venc_common.h:336
mw_venc_code_type
mw_venc_code_type_t
Definition: mw_venc_common.h:89
IDR frame.
Definition: mw_venc_common.h:42
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
Definition: mw_venc_common.h:331
mw_venc_targetusage_t targetusage
Preset.
Definition: mw_venc_common.h:423
void(* MW_ENCODER_CALLBACK)(void *user_ptr, const uint8_t *p_frame, uint32_t frame_len, mw_venc_frame_info_t *p_frame_info)
Callback functions.
Definition: mw_venc_common.h:74
struct mw_venc_extdata mw_venc_extdata_t
mw_venc_extdata_t
Busy.
Definition: mw_venc_common.h:309
The maximum input value.
Definition: mw_venc_common.h:138
mw_venc_fps_t fps
Frame rate.
Definition: mw_venc_common.h:427
Number of frame types enumerated.
Definition: mw_venc_common.h:46
ITU-R BT2020 for 12-bit system.
Definition: mw_venc_common.h:366
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
Definition: mw_venc_common.h:387
"Linear transfer characteristics"
Definition: mw_venc_common.h:359
SMPTE ST 431-2 (2011) / DCI P3.
Definition: mw_venc_common.h:338
mw_venc_color_primaries
mw_venc_color_primaries_t Chromaticity coordinates of the source primaries. These values match the on...
Definition: mw_venc_common.h:324
H264 high.
Definition: mw_venc_common.h:157
enum mw_venc_profile mw_venc_profile_t
mw_venc_profile_t
ITU-R BT2020 non-constant luminance system.
Definition: mw_venc_common.h:392
The maximum input value.
Definition: mw_venc_common.h:296
Level 6.1.
Definition: mw_venc_common.h:181
Speed first.
Definition: mw_venc_common.h:115
Level 5.1.
Definition: mw_venc_common.h:179
enum mw_venc_color_primaries mw_venc_color_primaries_t
mw_venc_color_primaries_t Chromaticity coordinates of the source primaries. These values match the on...
I-frame.
Definition: mw_venc_common.h:43
uint32_t extdata_len
The total length of entended data.
Definition: mw_venc_common.h:274
SMPTE ST 432-1 (2010) / P3 D65 / Display P3.
Definition: mw_venc_common.h:339
Level 5.2.
Definition: mw_venc_common.h:180
mw_venc_code_type_t code_type
Code type, H264 or H265.
Definition: mw_venc_common.h:421
Unknown.
Definition: mw_venc_common.h:288
struct mw_venc_rate_control mw_venc_rate_control_t
mw_venc_rate_control_t
int32_t width
width of input video
Definition: mw_venc_common.h:425
mw_venc_param_t
Definition: mw_venc_common.h:420
Quality first.
Definition: mw_venc_common.h:113
Fail.
Definition: mw_venc_common.h:307
RGBA equals MWFOURCC_RGBA.
Definition: mw_venc_common.h:207
Level 3.1.
Definition: mw_venc_common.h:177
IEC 61966-2-4.
Definition: mw_venc_common.h:362
Unknown.
Definition: mw_venc_common.h:175
mw_venc_rate_control_mode_t mode
Bitrate controlling methods.
Definition: mw_venc_common.h:229
struct mw_venc_param mw_venc_param_t
mw_venc_param_t
SMPTE 2085, Y'D'zD'x.
Definition: mw_venc_common.h:394
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)
Definition: mw_venc_common.h:382
ITU-R BT2020 for 10-bit system.
Definition: mw_venc_common.h:365
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
Definition: mw_venc_common.h:388
P-frame.
Definition: mw_venc_common.h:44
uint32_t len[3]
len[0] vps_len;len[1] sps_len;len[2] pps_len
Definition: mw_venc_common.h:275
H264 baseline.
Definition: mw_venc_common.h:155
Invalid parameter.
Definition: mw_venc_common.h:310
enum mw_venc_targetusage mw_venc_targetusage_t
mw_venc_targetusage_t
GOP: int32_t default 60.
Definition: mw_venc_common.h:291
Unknown frame.
Definition: mw_venc_common.h:41
YUY2 equals MWFOURCC_YUY2.
Definition: mw_venc_common.h:204
Not part of ABI.
Definition: mw_venc_common.h:372
int32_t den
Denominator of frames.
Definition: mw_venc_common.h:259
mw_venc_status
mw_venc_status_t
Definition: mw_venc_common.h:304
enum mw_venc_status mw_venc_status_t
mw_venc_status_t
int32_t num
Numerator of frames.
Definition: mw_venc_common.h:258
mw_venc_rate_control_mode
mw_venc_rate_control_mode_t
Definition: mw_venc_common.h:132
ITU-R BT1361 Extended Colour Gamut.
Definition: mw_venc_common.h:363
HEVC/H265.
Definition: mw_venc_common.h:93
GOP reference size: int32_t defalut 0, if = 1 -> no b-frame.
Definition: mw_venc_common.h:293
mw_venc_level_t level
Level.
Definition: mw_venc_common.h:432
Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16.
Definition: mw_venc_common.h:390
ITU-R BT2020 constant luminance system.
Definition: mw_venc_common.h:393
Chromaticity-derived constant luminance system.
Definition: mw_venc_common.h:396
IEC 61966-2-1 (sRGB or sYCC)
Definition: mw_venc_common.h:364
mw_venc_extdata_t
Definition: mw_venc_common.h:272
"Logarithmic transfer characteristic (100:1 range)"
Definition: mw_venc_common.h:360
Not part of ABI.
Definition: mw_venc_common.h:398
uint32_t max_bitrate
The maximun bitrate(kbit/s): only valid when the bitrate is variable.
Definition: mw_venc_common.h:233
NV21 equals MWFOURCC_NV21.
Definition: mw_venc_common.h:201
I420 equals MWFOURCC_I420.
Definition: mw_venc_common.h:203
mw_venc_rate_control_t rate_control
Frame control.
Definition: mw_venc_common.h:424
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
Definition: mw_venc_common.h:357
ABGR equals MWFOURCC_ABGR.
Definition: mw_venc_common.h:209
YV12 equals MWFOURCC_YV12.
Definition: mw_venc_common.h:202
enum mw_venc_code_type mw_venc_code_type_t
mw_venc_code_type_t
ITU-R BT.2100-0, ICtCp.
Definition: mw_venc_common.h:397
Variable Bit Rate.
Definition: mw_venc_common.h:136
enum mw_venc_level mw_venc_level_t
mw_venc_level_t
Unknown.
Definition: mw_venc_common.h:112
uint32_t target_bitrate
Target bitrate(kbit/s): only valid when the bitrate is variable or constant.
Definition: mw_venc_common.h:232
mw_venc_fourcc_t fourcc
Color format of input data.
Definition: mw_venc_common.h:422
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
Definition: mw_venc_common.h:383
Balance the coding quality and speed.
Definition: mw_venc_common.h:114
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B
Definition: mw_venc_common.h:326
mw_venc_property
mw_venc_property_t
Definition: mw_venc_common.h:286
enum mw_venc_fourcc mw_venc_fourcc_t
mw_venc_fourcc_t
FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition: mw_venc_common.h:386
The maximum input value.
Definition: mw_venc_common.h:159
The maximum input value.
Definition: mw_venc_common.h:210
H264.
Definition: mw_venc_common.h:94
Constant Quantization Parameter.
Definition: mw_venc_common.h:137
Rate: mw_venc_rate_control_t default MW_VENC_RATECONTROL_CBR 4096k.
Definition: mw_venc_common.h:289
functionally identical to above
Definition: mw_venc_common.h:389
mw_venc_color_transfer_characteristic
mw_venc_color_transfer_characteristic_t Color Transfer Characteristic. These values match the ones de...
Definition: mw_venc_common.h:350
Not supported.
Definition: mw_venc_common.h:308
also ITU-R BT1361
Definition: mw_venc_common.h:352
JEDEC P22 phosphors.
Definition: mw_venc_common.h:340
ITU-R BT2020.
Definition: mw_venc_common.h:335
enum mw_venc_color_space mw_venc_color_space_t
mw_venc_color_space_t YUV colorspace type. These values match the ones defined by ISO/IEC 23001-8_201...
enum mw_venc_rate_control_mode mw_venc_rate_control_mode_t
mw_venc_rate_control_mode_t
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
Definition: mw_venc_common.h:332
uint8_t reserved
Reserved.
Definition: mw_venc_common.h:239
P010 equals MWFOURCC_P010.
Definition: mw_venc_common.h:205
The maximum input value.
Definition: mw_venc_common.h:312
BGRA equals MWFOURCC_BGRA.
Definition: mw_venc_common.h:206
The maximum input value.
Definition: mw_venc_common.h:116
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
Definition: mw_venc_common.h:367
ARIB STD-B67, known as "Hybrid log-gamma".
Definition: mw_venc_common.h:371
ARGB equals MWFOURCC_ARGB.
Definition: mw_venc_common.h:208
struct mw_venc_fps mw_venc_fps_t
mw_venc_fps_t
Unknown.
Definition: mw_venc_common.h:154
Force IDR.
Definition: mw_venc_common.h:295
mw_venc_fourcc
mw_venc_fourcc_t
Definition: mw_venc_common.h:197
uint8_t qpi
I-Frame QP.
Definition: mw_venc_common.h:236
AVC/H264.
Definition: mw_venc_common.h:92
Constant Bit Rate.
Definition: mw_venc_common.h:135
Unknown.
Definition: mw_venc_common.h:199
Level 6.2.
Definition: mw_venc_common.h:182
struct mw_venc_frame_info mw_venc_frame_info_t
mw_venc_frame_info_t @detials Defines the types infomation of frame to be encoded....
Unknown.
Definition: mw_venc_common.h:91
Extened data: mw_venc_extdata_t just get vps sps pps.
Definition: mw_venc_common.h:294
Not part of ABI.
Definition: mw_venc_common.h:341
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition: mw_venc_common.h:329
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
Definition: mw_venc_common.h:355
The maximum input value.
Definition: mw_venc_common.h:183
Unknown.
Definition: mw_venc_common.h:134
B-frame.
Definition: mw_venc_common.h:45
mw_venc_fps_t
Definition: mw_venc_common.h:257
mw_venc_targetusage
mw_venc_targetusage_t
Definition: mw_venc_common.h:110
int32_t gop_ref_size
Referenced GOP size.
Definition: mw_venc_common.h:430
Success.
Definition: mw_venc_common.h:306
mw_venc_frame_type
mw_venc_frame_type_t
Definition: mw_venc_common.h:39
Level 2.1.
Definition: mw_venc_common.h:176
mw_venc_level
mw_venc_level_t
Definition: mw_venc_common.h:173