17 #ifndef NVMEDIA_COMMON_H
18 #define NVMEDIA_COMMON_H
52 #define NVMEDIA_COMMON_VERSION_MAJOR 1
54 #define NVMEDIA_COMMON_VERSION_MINOR 28
200 int32_t field_order_cnt[2];
215 #define MAX_USER_SEI_PAYLOAD 128U
272 int32_t field_order_cnt[2];
340 uint8_t scaling_lists_4x4[6][16];
342 uint8_t scaling_lists_8x8[2][64];
369 uint16_t InterViewRefsL0[16];
371 uint16_t InterViewRefsL1[16];
406 uint16_t display_primaries_x[3];
408 uint16_t display_primaries_y[3];
539 uint8_t reserved1[3];
613 uint16_t column_width_minus1[22];
615 uint16_t row_height_minus1[20];
642 NvMediaRefSurface *RefPics[16];
643 int32_t PicOrderCntVal[16];
645 uint8_t IsLongTerm[16];
646 int8_t RefPicSetStCurrBefore[8];
647 int8_t RefPicSetStCurrAfter[8];
648 int8_t RefPicSetLtCurr[8];
652 uint8_t ScalingList4x4[6][16];
654 uint8_t ScalingList8x8[6][64];
656 uint8_t ScalingList16x16[6][64];
658 uint8_t ScalingList32x32[2][64];
660 uint8_t ScalingListDCCoeff16x16[6];
662 uint8_t ScalingListDCCoeff32x32[2];
665 uint32_t NumDeltaPocs[64];
707 int8_t cb_qp_adjustment[6];
709 int8_t cr_qp_adjustment[6];
745 int32_t RefPicSetInterLayer0[32];
747 int32_t RefPicSetInterLayer1[32];
810 uint8_t f_code[2][2];
812 uint8_t intra_quantizer_matrix[64];
814 uint8_t non_intra_quantizer_matrix[64];
886 uint8_t intra_quantizer_matrix[64];
888 uint8_t non_intra_quantizer_matrix[64];
1106 uint8_t mb_seg_tree_probs [3];
1109 int8_t seg_feature[2][4];
1111 int8_t ref_lf_deltas[4];
1113 int8_t mode_lf_deltas[4];
1118 uint8_t AlignByte[3];
1126 uint32_t coeff_partition_size[8];
1128 uint32_t coeff_partition_start_offset[8];
1160 uint32_t inter_mode_counts[7][3][2];
1162 uint32_t sb_ymode_counts[4][10];
1164 uint32_t uv_mode_counts[10][10];
1166 uint32_t partition_counts[16][4];
1168 uint32_t switchable_interp_counts[4][3];
1170 uint32_t intra_inter_count[4][2];
1172 uint32_t comp_inter_count[5][2];
1174 uint32_t single_ref_count[5][2][2];
1176 uint32_t comp_ref_count[5][2];
1178 uint32_t tx32x32_count[2][4];
1180 uint32_t tx16x16_count[2][3];
1182 uint32_t tx8x8_count[2][2];
1184 uint32_t mbskip_count[3][2];
1188 uint32_t sign[2][2];
1190 uint32_t classes[2][11];
1192 uint32_t class0[2][2];
1194 uint32_t bits[2][10][2];
1196 uint32_t class0_fp[2][2][4];
1200 uint32_t class0_hp[2][2];
1204 uint32_t countCoeffs[2][2][6][6][4];
1206 uint32_t countCoeffs8x8[2][2][6][6][4];
1208 uint32_t countCoeffs16x16[2][2][6][6][4];
1210 uint32_t countCoeffs32x32[2][2][6][6][4];
1212 uint32_t countEobs[4][2][2][6][6];
1224 uint8_t kf_bmode_prob[10][10][8];
1226 uint8_t kf_bmode_probB[10][10][1];
1228 uint8_t ref_pred_probs[3];
1230 uint8_t mb_segment_tree_probs[7];
1232 uint8_t segment_pred_probs[3];
1234 uint8_t ref_scores[4];
1236 uint8_t prob_comppred[2];
1241 uint8_t kf_uv_mode_prob[10][8];
1243 uint8_t kf_uv_mode_probB[10][1];
1248 uint8_t inter_mode_prob[7][4];
1250 uint8_t intra_inter_prob[4];
1253 uint8_t uv_mode_prob[10][8];
1255 uint8_t tx8x8_prob[2][1];
1257 uint8_t tx16x16_prob[2][2];
1259 uint8_t tx32x32_prob[2][3];
1261 uint8_t sb_ymode_probB[4][1];
1263 uint8_t sb_ymode_prob[4][8];
1266 uint8_t partition_prob[2][16][4];
1269 uint8_t uv_mode_probB[10][1];
1271 uint8_t switchable_interp_prob[4][2];
1273 uint8_t comp_inter_prob[5];
1275 uint8_t mbskip_probs[3];
1284 uint8_t class0[2][1];
1288 uint8_t class0_hp[2];
1292 uint8_t classes[2][10];
1294 uint8_t class0_fp[2][2][3];
1296 uint8_t bits[2][10];
1299 uint8_t single_ref_prob[5][2];
1301 uint8_t comp_ref_prob[5];
1306 uint8_t probCoeffs[2][2][6][6][4];
1308 uint8_t probCoeffs8x8[2][2][6][6][4];
1310 uint8_t probCoeffs16x16[2][2][6][6][4];
1312 uint8_t probCoeffs32x32[2][2][6][6][4];
1363 uint8_t refFrameSignBias[4];
1391 uint32_t comp_var_ref[2];
1405 uint8_t segmentFeatureEnable[8][4];
1407 short segmentFeatureData[8][4];
1411 uint32_t mbRefLfDelta[4];
1413 uint32_t mbModeLfDelta[2];
1430 #define NVMEDIA_VIDEO_ENCODER_TIMEOUT_INFINITE 0xFFFFFFFF
1436 #define NVMEDIA_ENCODE_INFINITE_GOPLENGTH 0xFFFFFFFF
1497 uint32_t averageBitRate;
1502 uint32_t vbvBufferSize;
1505 uint32_t vbvInitialDelay;
1509 uint32_t averageBitRate;
1511 uint32_t maxBitRate;
1514 uint32_t vbvBufferSize;
1517 uint32_t vbvInitialDelay;
1523 uint32_t averageBitRate;
1526 uint32_t vbvBufferSize;
1529 uint32_t vbvInitialDelay;
1848 #define MAX_NON_SLICE_DATA_SIZE 2048U
1931 uint32_t refidx : 5;
1935 uint32_t partType : 2;
1937 uint32_t lastofPart : 1;
1939 uint32_t lastOfMB : 1;
2149 uint32_t mvcNumViews : 4;
2151 uint32_t enableExternalPictureRC : 1;
2153 uint32_t enableAllIFrames : 1;
2155 uint32_t reserved : 26;
2451 uint32_t mvNumViews : 4;
2453 uint32_t enableExternalPictureRC : 1;
2455 uint32_t enableAllIFrames : 1;
2457 uint32_t reserved : 26;
2592 int8_t ref_lf_deltas[4];
2594 int8_t mode_lf_deltas[2];
2780 int8_t ref_lf_deltas[4];
2782 int8_t mode_lf_deltas[4];
2813 int8_t seg_filter_level[4];
2815 int8_t seg_qindex[4];
2899 #define NVMEDIA_DISP_ATTR_COMPOSITION (1<<6)
2904 #define NVMEDIA_DISP_ATTR_SET_DEPTH (1<<7)
2909 #define NVMEDIA_DISP_ATTR_SET_POSITION (1<<8)
Enable high precision mv.
Enable support for motion vector buffer dump.
Enable ultra fast encoding.
This attribute is used to get SPS data for current encoding session.
Enable lossless compression.
Disable Intra 8x8 vertical left prediction.
Enable to set loop filter parameters.
Automatic profile selection.
NvMediaEncodeH264Features
Defines H264 encoder configuration features.
Entropy coding mode is CABAC.
Disable Intra 8x8 vertical right prediction.
Enable support to use 4 byte start code in all the slices in a picture.
Enable self_temporal_refine.
Specifies the decoder instance ID 1.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Constant bitrate mode with MinQP.
NvMediaEncoderInstanceId
Specifies the encoder instance ID.
NvMediaDecoderInstanceId
Specifies the decoder instance ID.
NvMediaEncodeLevel
Defines encoding levels.
Disable Intra 4x4 horizontal down prediction.
Enable slice level output encoding.
Disable Intra 4x4 diagonal down right prediction.
A lower depth overlay is fully covering any higher depth overlay.
Quality Level 1 Pre-settings.
VC-1 advanced profile codec.
Enable lossless compression.
Content Light Level info for an H.265 picture.
NvMediaEncodeVP9Features
Defines VP9 encoder configuration features.
IP Search mode bit Intra 4x4.
Enable encoder profiling.
Enable self_spatial_refine.
Disable Intra 4x4 vertical right prediction.
Specifies that Adaptive Transform 8x8 mode is disabled.
Enable to set quantization parameters.
NvMediaDispCompMode
Specifies composition modes for layers.
NvMediaNoiseReductionAlgorithm
Noise Reduction Algorithm.
Bi-directionally predicted picture.
Specifies that the decoder instance ID can be set dynamically during decode.
Enable support for external picture RC hint.
Disable Intra chroma vertical prediction.
Enable constrainedFrame encoding where each slice in the constrained picture is independent of other ...
Disable Intra 8x8 vertical prediction.
Disable Intra 16x16 vertical prediction.
Indicates that this frame is encoded with each slice completely independent of other slices in the fr...
Specifies that the encoder instance ID can be set dynamically during encode.
Entropy coding mode is CAVLC.
Disable Intra 8x8 horizontal up prediction.
Low (default) filter quality.
Auto selected picture type.
Enable dynamic slice mode.
uint16_t max_content_light_level
Maximum content light level in units of candelas per square metre.
Disable Intra chroma DC prediction.
Disable Intra 4x4 vertical prediction.
Noise reduction algorithm for outdoor medium light condition.
Enable encoder profiling.
picture header data present or not
Enable gradual decoder refresh or intra refresh.
Block only when operation is pending.
sequence header data present or not
Enable encoder profiling.
Disable Intra 4x4 horizontal prediction.
NvMediaEncodeH264BDirectMode
Defines H.264 specific Bdirect modes.
Enable to set quantization parameters.
Enable gradual decoder refresh or intra refresh.
VC-1 simple and main profile codec.
Enable support for dynamic reference picture set RPS/DPB control support.
NvMediaEncodePicFlags
Defines encoding Picture encode flags.
NvMediaEncodeH264MotionPredictionExclusionFlags
Defines motion prediction exclusion flags for H.264.
NvMediaEncodeProfile
Defines encoding profiles.
Disable Inter L0 partition 8x16 prediction.
Disable Intra chroma horizontal prediction.
Original (default) noise reduction algorithm.
NvMediaEncodeQuality
Defines encode quality level pre-settings.
Disable Intra 8x8 DC prediction.
Enable support to use client provided QP max for all frame types.
NvMediaFilterQuality
Defines filter quality levels.
Quality Level 2 Pre-settings.
Specifies that Adaptive Transform 8x8 mode is auto selected by the encoder driver.
NvMediaEncodePicType
Input picture type.
NvMediaEncAttrType
Specifies the Video encoder get attribute type.
Enable dynamic slice mode.
Disable Intra 8x8 horizontal prediction.
slice header data present or not
void NvMediaPictureInfo
A generic "picture information" pointer type.
#define MAX_NON_SLICE_DATA_SIZE
Maximum encoded header info size.
Disable Intra 4x4 DC prediction.
Disable Intra 16x16 horizontal prediction.
Enable support for motion vector buffer dump.
Disable Intra chroma plane prediction.
Disable Inter L0 partition 16x8 prediction.
Enable support to use client provided QP max for all frame types.
Indicates change in rate control parameters from the current picture onwards.
NvMediaEncodeH265Features
Defines H265 encoder configuration features.
Starts a new intra refresh cycle if intra refresh support is enabled otherwise it indicates a P frame...
Disable Intra 8x8 diagonal down left prediction.
Specifies that Adaptive Transform 8x8 mode must be used.
SPS/PPS is repeated for every intra frame.
void NvMediaRefSurface
A generic "reference surface" pointer type.
H.264 Multiview Video Coding codec.
Enable to write access unit delimiter syntax in bitstream.
Repeating of SPS/PPS is disabled.
NvMediaEncodeH264POCType
Define H.264 pic_order_cnt_type.
Enable support to use client provided Initial QP for all frame types.
NvMediaVideoCodec
Video codec type.
NvMediaEncodeH264SPSPPSRepeatMode
Specifies the frequency of the writing of Sequence and Picture parameters for H.264.
Enable ultra fast encoding.
Disable Intra 4x4 vertical left prediction.
H265 Multiview Video Coding codec.
Disable Intra 4x4 diagonal down left prediction.
Enable to set loop filter parameters.
Enable support to use client provided QP max for all frame types.
Disable Intra 16x16 DC prediction.
Noise reduction algorithm for indoor medium light condition.
Enable to write access unit delimiter syntax in bitstream.
uint16_t max_pic_average_light_level
Maximum frame average light level in units of candelas per square metre.
NvMediaBlockingType
Blocking type.
Enable constrainedFrame encoding where each slice in the constrained picture is independent of other ...
Enable support to use client provided Initial QP for all frame types.
NvMediaEncodeH264MotionSearchControlFlags
Defines motion search mode control flags for H.264.
NvMediaEncodeParamsRCMode
Rate Control Modes.
Enable support to use 4 byte start code in all the slices in a picture.
Enable support to use client provided Initial QP for all frame types.
Automatic level selection.
Enable support to use client provided Initial QP for all frame types.
Disable Intra 8x8 diagonal down right prediction.
Noise reduction algorithm for outdoor high light condition.
#define MAX_USER_SEI_PAYLOAD
Maximum user defined sei payload size.
Disable Intra 4x4 horizontal up prediction.
IP Search mode bit Intra 8x8.
Quality Level 0 Pre-settings.
IP Search mode bit Intra 16x16.
Disable Inter L0 partition 16x16 prediction.
A lower depth overlay is per-pixel alpha blended over any higher depth overlay.
Noise reduction algorithm for indoor high light condition.
NvMediaEncodeH264AdaptiveTransformMode
Defines H.264 specific Adaptive Transform modes.
Automatic level selection.
This attribute is used to get PPS data for current encoding session.
A lower depth overlay is per-pixel alpha blended over any higher depth overlay.
SPS/PPS is repeated for every IDR frame.
Disable Inter L0 partition 8x8 prediction.
Specifies the encoder instance ID 0.
Disable error resiliency.
This attribute is used to get VPS data for current h265 encoding session.
Enable encoder profiling.
Enable support for dynamic reference picture set RPS/DPB control support.
Enable support to use client provided QP max for all frame types.
Noise reduction algorithm for outdoor low light condition.
Specifies the decoder instance ID 0.
Writes the sequence and picture header in encoded bitstream of the current picture.
NvMediaEncodeH264EntropyCodingMode
Defines H.264 entropy coding modes.
Disable Intra 16x16 plane prediction.
Specifies the encoder instance ID 1.
Variable bitrate mode with MinQP.
Disable Intra 8x8 horizontal down prediction.
Enable support for external picture RC hint.
Enable slice level output encoding.
Noise reduction algorithm for indoor low light condition.
NvMediaEncodeVP8Features
Defines VP8 encoder configuration features.