NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_common_decode.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
8 
17 #ifndef NVMEDIA_COMMON_DECODE_H
18 #define NVMEDIA_COMMON_DECODE_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #include "nvmedia_core.h"
26 
53 #define NVMEDIA_COMMON_DECODE_VERSION_MAJOR 1
54 
55 #define NVMEDIA_COMMON_DECODE_VERSION_MINOR 1
56 
60 typedef enum {
70 
74 enum
75 {
82 };
83 
94 typedef void NvMediaPictureInfo;
95 
106 typedef void NvMediaRefSurface;
107 
125 typedef struct {
130  NvMediaRefSurface *surface;
144  int32_t field_order_cnt[2];
150  uint16_t FrameIdx;
151 
155  uint16_t not_existing;
157 
159 #define MAX_USER_SEI_PAYLOAD 128U
160 
166 typedef struct {
194  uint8_t UserDefinedSeiPayload[MAX_USER_SEI_PAYLOAD];
196 
214 typedef struct {
216  int32_t field_order_cnt[2];
219 
223  uint16_t frame_num;
225  uint8_t field_pic_flag;
229  uint8_t num_ref_frames;
277  uint8_t *slice_group_map;
279  uint8_t fmo_aso_enable;
282 
284  uint8_t scaling_lists_4x4[6][16];
286  uint8_t scaling_lists_8x8[2][64];
287 
289  NvMediaReferenceFrameH264 referenceFrames[16];
292  uint32_t nNumSlices;
294  uint32_t *pSliceDataOffsets;
296  uint8_t frameType;
297 
299  struct {
303  uint16_t view_id;
313  uint16_t InterViewRefsL0[16];
315  uint16_t InterViewRefsL1[16];
316  } mvcext;
317 
325  int32_t last_sps_id;
327  int32_t last_pps_id;
331 
347 typedef struct
348 {
350  uint16_t display_primaries_x[3];
352  uint16_t display_primaries_y[3];
354  uint16_t white_point_x;
356  uint16_t white_point_y;
362 
369 typedef struct
370 {
376 
377 
378 
386 typedef struct
387 {
392  uint8_t *pBitstreamData;
394  uint32_t uNumSlices;
396  uint32_t *pSliceDataOffsets;
398  uint32_t uCTBCount;
400  uint32_t uFirstCtbAddr;
408 
424 typedef struct {
425  // sps
445  uint8_t bit_depth_luma;
483  uint8_t reserved1[3];
484 
485  // pps
502 
519 
536 
555 
557  uint16_t column_width_minus1[22];
559  uint16_t row_height_minus1[20];
560 
561  // RefPicSets
563  uint32_t iCur;
565  uint32_t IDRPicFlag;
567  uint32_t RAPPicFlag;
571  uint32_t NumPocTotalCurr;
577  uint32_t NumPocLtCurr;
579  uint32_t NumBitsToSkip;
586  NvMediaRefSurface *RefPics[16];
587  int32_t PicOrderCntVal[16];
589  uint8_t IsLongTerm[16];
590  int8_t RefPicSetStCurrBefore[8];
591  int8_t RefPicSetStCurrAfter[8];
592  int8_t RefPicSetLtCurr[8];
593 
594  // scaling lists (diag order)
596  uint8_t ScalingList4x4[6][16];
598  uint8_t ScalingList8x8[6][64];
600  uint8_t ScalingList16x16[6][64];
602  uint8_t ScalingList32x32[2][64];
604  uint8_t ScalingListDCCoeff16x16[6];
606  uint8_t ScalingListDCCoeff32x32[2];
607 
609  uint32_t NumDeltaPocs[64];
610 
612  // sps extension HEVC-main 444
633 
635  // pps extension HEVC-main 444
651  int8_t cb_qp_adjustment[6];
653  int8_t cr_qp_adjustment[6];
655  uint8_t reserved2;
657  uint8_t frameType;
658 
667 
669  struct {
671  uint32_t mv_hevc_enable;
673  uint32_t nuh_layer_id;
689  int32_t RefPicSetInterLayer0[32];
691  int32_t RefPicSetInterLayer1[32];
692  } mvext;
716 typedef struct {
721  NvMediaRefSurface *forward_reference;
726  NvMediaRefSurface *backward_reference;
727 
741  uint8_t alternate_scan;
743  uint8_t q_scale_type;
754  uint8_t f_code[2][2];
756  uint8_t intra_quantizer_matrix[64];
758  uint8_t non_intra_quantizer_matrix[64];
762  uint32_t nNumSlices;
764  uint32_t *pSliceDataOffsets;
768 
787 typedef struct {
792  NvMediaRefSurface *forward_reference;
797  NvMediaRefSurface *backward_reference;
798 
800  int32_t trd[2];
802  int32_t trb[2];
816  uint8_t interlaced;
818  uint8_t quant_type;
820  uint8_t quarter_sample;
830  uint8_t intra_quantizer_matrix[64];
832  uint8_t non_intra_quantizer_matrix[64];
836  uint8_t reversible_vlc;
839  uint32_t nNumSlices;
841  uint32_t *pSliceDataOffsets;
842 
848  uint32_t divx_flags;
854 
872 typedef struct {
877  NvMediaRefSurface *forward_reference;
882  NvMediaRefSurface *backward_reference;
887  NvMediaRefSurface *range_mapped;
888 
890  uint8_t picture_type;
895 
896 
898  uint8_t postprocflag;
900  uint8_t pulldown;
902  uint8_t interlace;
904  uint8_t tfcntrflag;
906  uint8_t finterpflag;
908  uint8_t psf;
910  uint8_t dquant;
912  uint8_t panscan_flag;
914  uint8_t refdist_flag;
916  uint8_t quantizer;
918  uint8_t extended_mv;
920  uint8_t extended_dmv;
922  uint8_t overlap;
924  uint8_t vstransform;
926  uint8_t loopfilter;
928  uint8_t fastuvmc;
932  uint8_t range_mapy;
936  uint8_t range_mapuv;
937 
942  uint8_t multires;
947  uint8_t syncmarker;
952  uint8_t rangered;
957  uint8_t rangeredfrm;
962  uint8_t maxbframes;
965  uint32_t nNumSlices;
967  uint32_t *pSliceDataOffsets;
968 
970  uint8_t profile;
972  uint16_t frameWidth;
974  uint16_t frameHeight;
993 typedef struct {
995  NvMediaRefSurface *LastReference;
997  NvMediaRefSurface *GoldenReference;
999  NvMediaRefSurface *AltReference;
1001  uint8_t key_frame;
1003  uint8_t version;
1005  uint8_t show_frame;
1010  uint8_t clamp_type;
1023  uint8_t filter_type;
1035  uint8_t dequant_index;
1037  int8_t deltaq[5];
1038 
1050  uint8_t mb_seg_tree_probs [3];
1051 
1053  int8_t seg_feature[2][4];
1055  int8_t ref_lf_deltas[4];
1057  int8_t mode_lf_deltas[4];
1058 
1060  uint8_t BitsConsumed;
1062  uint8_t AlignByte[3];
1070  uint32_t coeff_partition_size[8];
1072  uint32_t coeff_partition_start_offset[8];
1075  uint32_t nNumSlices;
1082 
1102 typedef struct {
1104  uint32_t inter_mode_counts[7][3][2];
1106  uint32_t sb_ymode_counts[4][10];
1108  uint32_t uv_mode_counts[10][10];
1110  uint32_t partition_counts[16][4];
1112  uint32_t switchable_interp_counts[4][3];
1114  uint32_t intra_inter_count[4][2];
1116  uint32_t comp_inter_count[5][2];
1118  uint32_t single_ref_count[5][2][2];
1120  uint32_t comp_ref_count[5][2];
1122  uint32_t tx32x32_count[2][4];
1124  uint32_t tx16x16_count[2][3];
1126  uint32_t tx8x8_count[2][2];
1128  uint32_t mbskip_count[3][2];
1130  uint32_t joints[4];
1132  uint32_t sign[2][2];
1134  uint32_t classes[2][11];
1136  uint32_t class0[2][2];
1138  uint32_t bits[2][10][2];
1140  uint32_t class0_fp[2][2][4];
1142  uint32_t fp[2][4];
1144  uint32_t class0_hp[2][2];
1146  uint32_t hp[2][2];
1148  uint32_t countCoeffs[2][2][6][6][4];
1150  uint32_t countCoeffs8x8[2][2][6][6][4];
1152  uint32_t countCoeffs16x16[2][2][6][6][4];
1154  uint32_t countCoeffs32x32[2][2][6][6][4];
1156  uint32_t countEobs[4][2][2][6][6];
1158 
1165 typedef struct {
1166 
1168  uint8_t kf_bmode_prob[10][10][8];
1170  uint8_t kf_bmode_probB[10][10][1];
1172  uint8_t ref_pred_probs[3];
1174  uint8_t mb_segment_tree_probs[7];
1176  uint8_t segment_pred_probs[3];
1178  uint8_t ref_scores[4];
1180  uint8_t prob_comppred[2];
1182  uint8_t pad1[9];
1183 
1185  uint8_t kf_uv_mode_prob[10][8];
1187  uint8_t kf_uv_mode_probB[10][1];
1189  uint8_t pad2[6];
1190 
1192  uint8_t inter_mode_prob[7][4];
1194  uint8_t intra_inter_prob[4];
1195 
1197  uint8_t uv_mode_prob[10][8];
1199  uint8_t tx8x8_prob[2][1];
1201  uint8_t tx16x16_prob[2][2];
1203  uint8_t tx32x32_prob[2][3];
1205  uint8_t sb_ymode_probB[4][1];
1207  uint8_t sb_ymode_prob[4][8];
1208 
1210  uint8_t partition_prob[2][16][4];
1211 
1213  uint8_t uv_mode_probB[10][1];
1215  uint8_t switchable_interp_prob[4][2];
1217  uint8_t comp_inter_prob[5];
1219  uint8_t mbskip_probs[3];
1221  uint8_t pad3[1];
1222 
1224  uint8_t joints[3];
1226  uint8_t sign[2];
1228  uint8_t class0[2][1];
1230  uint8_t fp[2][3];
1232  uint8_t class0_hp[2];
1234  uint8_t hp[2];
1236  uint8_t classes[2][10];
1238  uint8_t class0_fp[2][2][3];
1240  uint8_t bits[2][10];
1241 
1243  uint8_t single_ref_prob[5][2];
1245  uint8_t comp_ref_prob[5];
1247  uint8_t pad4[17];
1248 
1250  uint8_t probCoeffs[2][2][6][6][4];
1252  uint8_t probCoeffs8x8[2][2][6][6][4];
1254  uint8_t probCoeffs16x16[2][2][6][6][4];
1256  uint8_t probCoeffs32x32[2][2][6][6][4];
1258 
1267 typedef struct {
1269  NvMediaRefSurface *LastReference;
1271  NvMediaRefSurface *GoldenReference;
1273  NvMediaRefSurface *AltReference;
1275  uint32_t width;
1277  uint32_t height;
1279  uint32_t ref0_width;
1281  uint32_t ref0_height;
1283  uint32_t ref1_width;
1285  uint32_t ref1_height;
1287  uint32_t ref2_width;
1289  uint32_t ref2_height;
1291  uint32_t keyFrame;
1293  uint32_t bit_depth;
1295  uint32_t prevIsKeyFrame;
1297  uint32_t PrevShowFrame;
1301  uint32_t errorResilient;
1303  uint32_t intraOnly;
1307  uint8_t refFrameSignBias[4];
1313  int32_t qpYAc;
1315  int32_t qpYDc;
1317  int32_t qpChAc;
1319  int32_t qpChDc;
1321  uint32_t lossless;
1323  uint32_t transform_mode;
1331  uint32_t comp_pred_mode;
1333  uint32_t comp_fixed_ref;
1335  uint32_t comp_var_ref[2];
1339  uint32_t log2_tile_rows;
1341  uint32_t segmentEnabled;
1349  uint8_t segmentFeatureEnable[8][4];
1351  short segmentFeatureData[8][4];
1355  uint32_t mbRefLfDelta[4];
1357  uint32_t mbModeLfDelta[2];
1361  uint32_t frameTagSize;
1364 
1374 /*
1375  * \defgroup history_nvmedia_common_decode History
1376  * Provides change history for the NvMedia Common Decode Types.
1377  *
1378  * \section history_nvmedia_common_decode Version History
1379  *
1380  * <b> Version 1.0 </b> July 10, 2019
1381  * - Initial release
1382  * <b> Version 1.1 </b> July 17, 2019
1383  * - Added change to consider scaling factor for max_display_parameter_luminance
1384  */
1385 
1386 
1387 #ifdef __cplusplus
1388 }; /* extern "C" */
1389 #endif
1390 
1391 #endif /* NVMEDIA_COMMON_DECODE_H */
uint32_t nNumSlices
Number of slices in this picture.
uint8_t cabacBypassAlignmentEnableFlag
Holds the SPS cabac_bypass_alignment_enabled_flag; always 0 in current profile.
uint8_t scaling_matrix_present
Copy of the H.264 bitstream field.
uint32_t * pSliceDataOffsets
Passing NULL for pSliceDataOffsets disables error-concealment.
uint32_t nNumSlices
Number of slices in this picture.
uint32_t allow_high_precision_mv
Holds a copy of the VP9 bitstream field.
uint32_t log2_tile_columns
Holds a copy of the VP9 bitstream field.
uint8_t log2_diff_max_min_transform_block_size
Holds a copy of the H.265 bitstream field.
uint32_t pic_height_in_map_units_minus1
Copy of the H.264 bitstream field.
int8_t pps_cr_qp_offset
Holds a copy of the H.265 bitstream field.
uint32_t hdr_processed_offset
Offset to byte which is parsed in cpu.
uint8_t highPrecisionOffsetsEnableFlag
Holds the SPS high_precision_offsets_enabled_flag.
uint8_t num_short_term_ref_pic_sets
Holds a copy of the H.265 bitstream field.
uint32_t log2_tile_rows
Holds a copy of the VP9 bitstream field.
uint8_t num_ref_frames
Copy of the H.264 bitstream field.
uint16_t white_point_x
Normalized x chromaticity cordinate of white point of mastering display.
int8_t pps_beta_offset_div2
Holds a copy of the H.265 bitstream field.
uint8_t frame0_flipped_flag
Indicates which one of the two constituent frames is flipped, as described in Annex D...
Mastering display data for an H.265 picture.
uint32_t frameTagSize
Holds a copy of the VP9 bitstream field.
NvMediaRefSurface * forward_reference
Reference used by B and P frames.
uint8_t log2_max_pic_order_cnt_lsb_minus4
Holds a copy of the H.265 bitstream field.
NvMediaBool bGMCConceal
Parser only: DivX GMC Concealment Flag to prevent decoding of non I-VOPs during a GMC sequence and in...
uint8_t picture_structure
Holds a copy of the MPEG bitstream field.
uint8_t * slice_group_map
Slice group map.
uint8_t frame_mbs_only_flag
Copy of the H.264 bitstream field.
uint8_t weighted_bipred_idc
Copy of the H.264 bitstream field.
uint8_t field_pic_flag
Copy of the H.264 bitstream field.
Holds picture parameter information for a VP9 picture.
int8_t chroma_qp_index_offset
Copy of the H.264 bitstream field.
uint8_t vop_fcode_forward
Holds a copy of the bitstream field.
uint16_t frame_num
Copy of the H.264 bitstream field.
uint32_t uCoeffPartitionBufferHandle
Handle to VP8 Coeff partition (for OTF case).
uint8_t extended_dmv
Holds a copy of the VC-1 bitstream field.
uint8_t content_interpretation_flag
Indicates the intended interpretation of the constituent frames, as described in Annex D...
Specifies the decoder instance ID 1.
uint32_t * pSliceDataOffsets
Passing NULL for pSliceDataOffsets disables error-concealment.
uint8_t log2SaoOffsetScaleChroma
Holds the PPS log2_sao_offset_scale_chroma.
uint32_t ref2_height
Holds a copy of the VP9 bitstream field.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
uint8_t update_mb_seg_data
Holds a copy of the VP8 bitstream field.
NvMediaRefSurface * surface
The surface that contains the reference image.
uint16_t frameHeight
Parser only: Actual frame height.
uint8_t loopfilter
Holds a copy of the VC-1 bitstream field.
NvMediaDecoderInstanceId
Specifies the decoder instance ID.
uint32_t * pSliceDataOffsets
Passing NULL for pSliceDataOffsets disables error-concealment.
uint8_t fastuvmc
Holds a copy of the VC-1 bitstream field.
uint8_t CbrHdrBedRange
Holds a copy of the VP8 bitstream field.
uint8_t update_mb_seg_map
Holds a copy of the VP8 bitstream field.
uint8_t vstransform
Holds a copy of the VC-1 bitstream field.
uint8_t maxbframes
Copy of the VC-1 bitstream field.
int32_t qpYDc
Holds a copy of the VP9 bitstream field.
uint32_t NumActiveRefLayerPics1
Holds a copy of the H.265-MV bitstream field.
NvMediaBool is_long_term
Is this a long term reference (else short term).
uint32_t NumPocTotalCurr
Holds a copy of the H.265 bitstream field.
uint8_t mode_ref_lf_delta_enabled
Holds a copy of the VP8 bitstream field.
uint8_t intraSmoothingDisabledFlag
Holds the SPS intra_smoothing_disabled_flag.
uint16_t white_point_y
Normalized y chromaticity cordinate of white point of mastering display.
uint8_t extendedPrecisionProcessingFlag
Holds the SPS extended_precision_processing_flag; always 0 in current profile.
uint8_t transquant_bypass_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t redundant_pic_cnt_present_flag
Copy of the H.264 bitstream field.
uint32_t uBitstreamDataLen
Bitstream data.
Content Light Level info for an H.265 picture.
uint8_t log2MaxTransformSkipSize
Holds the PPS extension log2_max_transform_skip_block_size_minus2, 0...5.
NvMediaBool bLastSlice
Last slice flag: whether this SliceData contains last slice of frame.
uint8_t q_scale_type
Holds a copy of the MPEG bitstream field.
uint8_t entropy_coding_mode_flag
Copy of the H.264 bitstream field.
uint8_t log2_min_transform_block_size_minus2
Holds a copy of the H.265 bitstream field.
uint8_t show_frame
Holds a copy of the VP8 bitstream field.
uint8_t intra_dc_precision
Holds a copy of the MPEG bitstream field.
uint32_t divx_flags
Parser Only: DivX flags.
int8_t pic_init_qp_minus26
Copy of the H.264 bitstream field.
NvMediaRefSurface * LastReference
Holds a pointer to the last reference frame.
uint8_t delta_pic_order_always_zero_flag
Copy of the H.264 bitstream field.
uint8_t diff_cu_qp_delta_depth
Holds a copy of the H.265 bitstream field.
uint8_t constrained_intra_pred_flag
Holds a copy of the H.265 bitstream field.
uint8_t syncmarker
Copy of the VC-1 bitstream field.
NvMediaBool bottom_is_reference
Is the bottom field used as a reference.
uint8_t weighted_bipred_flag
Holds a copy of the H.265 bitstream field.
uint32_t uCoeffPartitionDataLen
Number of bytes in VP8 Coeff partition (for OTF case)
NvMediaRefSurface * GoldenReference
Golden reference frame.
uint8_t alternate_vertical_scan_flag
Holds a copy of the bitstream field.
uint8_t update_mb_seg_abs
Copy of the VP8 bitstream field.
NVIDIA Media Interface: Common Types for Video/Image Encode/Decode
NvMediaRefSurface * LastReference
Last reference frame.
uint8_t slice_group_map_type
Copy of the H.264 bitstream field.
uint8_t key_frame
Holds a copy of the VP8 bitstream field.
uint32_t pic_height_in_luma_samples
Holds a copy of the H.265 bitstream field.
uint32_t ref0_height
Holds a copy of the VP9 bitstream field.
uint32_t modeRefLfEnabled
Holds a copy of the VP9 bitstream field.
uint8_t dquant
Holds a copy of the VC-1 bitstream field.
uint8_t constrained_intra_pred_flag
Copy of the H.264 bitstream field.
int32_t last_pps_id
Copy of the H.264 bitstream field.
Holds picture parameter information for an MPEG-4 Part 2 picture.
uint8_t num_ref_idx_l0_active_minus1
Copy of the H.264 bitstream field.
uint8_t frameType
0:FrameType_B 1:FrameType_P 2:FrameType_I
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Holds a copy of the H.265 bitstream field.
uint32_t default_ref_layers_active_flag
Holds a copy of the H.265-MV bitstream field.
uint8_t full_pel_backward_vector
Holds a copy of the MPEG-1 bitstream field.
uint32_t segmentEnabled
Holds a copy of the VP9 bitstream field.
uint8_t loop_filter_across_tiles_enabled_flag
Holds a copy of the H.265 bitstream field.
uint32_t hdr_partition_size
Remaining header parition size.
NvMediaRefSurface * AltReference
Alternate reference frame.
uint8_t tiles_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t tfcntrflag
Holds a copy of the VC-1 bitstream field.
uint8_t postprocflag
Holds a copy of the VC-1 bitstream field.
uint8_t loop_filter_level
Holds a copy of the VP8 bitstream field.
uint8_t resync_marker_disable
Holds a copy of the bitstream field.
uint8_t deblocking_filter_control_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t num_ref_idx_l1_active_minus1
Copy of the H.264 bitstream field.
Specifies that the decoder instance ID can be set dynamically during decode.
uint8_t fastRiceAdaptationEnableFlag
Holds the SPS fast_rice_adaptation_enabled_flag.
uint8_t separate_colour_plane_flag
Holds a copy of the H.265 bitstream field.
uint16_t min_display_parameter_luminance
Nominal minimum display luminance in units of 0.0001 candelas per square metre.
uint8_t filter_type
Holds a copy of the VP8 bitstream field.
Holds picture parameter information for an H.265 picture.
uint8_t rangered
VC-1 SP/MP range reduction control.
uint8_t picture_coding_type
Holds a copy of the MPEG bitstream field.
uint8_t output_flag_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t top_field_first
Holds a copy of the MPEG bitstream field.
uint8_t interlaced
Holds a copy of the bitstream field.
uint16_t not_existing
Parser only: Non-existing reference frame flag (corresponding PicIdx should be set to -1) ...
uint32_t comp_fixed_ref
Holds a copy of the VP9 bitstream field.
uint8_t log2_diff_max_min_luma_coding_block_size
Holds a copy of the H.265 bitstream field.
uint32_t NumDirectRefLayers
Holds a copy of the H.265-MV bitstream field.
NvMediaVP9BackwardUpdates backwardUpdateCounts
Parser only: Backward update counts.
uint8_t crossComponentPredictionEnableFlag
Holds the PPS cross_component_prediction_enabled_flag.
int8_t init_qp_minus26
Holds a copy of the H.265 bitstream field.
uint8_t alt_ref_frame_sign_bias
Holds a copy of the VP8 bitstream field.
uint8_t num_long_term_ref_pics_sps
Holds a copy of the H.265 bitstream field.
int8_t second_chroma_qp_index_offset
Copy of the H.264 bitstream field.
uint32_t NumBitsToSkip
Holds a copy of the H.265 bitstream field.
uint8_t transform_skip_enabled_flag
Holds a copy of the H.265 bitstream field.
NvMediaRefSurface * forward_reference
Reference used by B and P frames.
uint8_t log2_min_pcm_luma_coding_block_size_minus3
Holds a copy of the H.265 bitstream field.
uint8_t pps_slice_chroma_qp_offsets_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t chromaQpAdjustmentTableSize
Holds the PPS chroma_qp_adjustment_table_size_minus1+1, 1...6.
uint8_t cabac_init_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t quarter_sample
Holds a copy of the bitstream field.
uint8_t slice_segment_header_extension_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t CbrHdrBedValue
Holds a copy of the VP8 bitstream field.
uint32_t RetRefreshGoldenFrame
Parser only: RetRefreshGoldenFrame.
uint8_t cu_qp_delta_enabled_flag
Holds a copy of the H.265 bitstream field.
uint32_t * pSliceDataOffsets
If not NULL, nNumSlices entries, contains offset of each slice within the bitstream data buffer...
uint32_t hdr_start_offset
Start of header partition.
uint8_t transform_8x8_mode_flag
Copy of the H.264 bitstream field.
NvMediaBool bStereoEnabled
Flag whether stereo is enabled or not.
NvMediaRefSurface * backward_reference
Reference used by B frames.
uint32_t NumActiveRefLayerPics
Holds a copy of the H.265-MV bitstream field.
uint16_t max_content_light_level
Maximum content light level in units of candelas per square metre.
uint32_t errorResilient
Error Resilient.
uint8_t log2_min_luma_coding_block_size_minus3
Holds a copy of the H.265 bitstream field.
int32_t qpChDc
Holds a copy of the VP9 bitstream field.
uint8_t pps_deblocking_filter_disabled_flag
Holds a copy of the H.265 bitstream field.
uint32_t poc_lsb_not_present_flag
Holds a copy of the H.265-MV bitstream field.
uint8_t entropy_coding_sync_enabled_flag
Holds a copy of the H.265 bitstream field.
int32_t qpYAc
Holds a copy of the VP9 bitstream field.
uint32_t mcomp_filter_type
Holds a copy of the VP9 bitstream field.
NVIDIA Media Interface: Core
uint8_t golden_ref_frame_sign_bias
Holds a copy of the VP8 bitstream field.
uint8_t MVCReserved8Bits
Copy of the H.264 mvc bitstream field.
uint32_t nNumSlices
Number of slices in this picture.
uint8_t amp_enabled_flag
Holds a copy of the H.265 bitstream field.
uint32_t allow_comp_inter_inter
Holds a copy of the VP9 bitstream field.
uint32_t slice_group_change_rate_minus1
Copy of the H.264 bitstream field.
uint8_t num_extra_slice_header_bits
Holds a copy of the H.265 bitstream field.
uint8_t intraBlockCopyEnableFlag
Holds the SPS intraBlockCopyEnableFlag; always 0 not currently used by the spec.
uint8_t log2_max_frame_num_minus4
Copy of the H.264 bitstream field.
uint8_t range_mapy
Holds a copy of the VC-1 bitstream field.
uint8_t reserved2
Ensures alignment to 4 bytes.
uint8_t panscan_flag
Holds a copy of the VC-1 bitstream field.
uint8_t picture_type
I=0, P=1, B=3, BI=4 from 7.1.1.4.
uint8_t BitsConsumed
Bits consumed for the current bitstream byte.
int8_t pps_tc_offset_div2
Holds a copy of the H.265 bitstream field.
uint32_t ref1_width
Holds a copy of the VP9 bitstream field.
uint8_t log2_max_pic_order_cnt_lsb_minus4
Copy of the H.264 bitstream field.
uint32_t max_one_active_ref_layer_flag
Holds a copy of the H.265-MV bitstream field.
uint32_t PrevShowFrame
Previous frame is show frame.
uint8_t version
Holds a copy of the VP8 bitstream field.
uint8_t * pBitstreamData
Ptr to bitstream data for this picture (slice-layer)
uint32_t mv_hevc_enable
Indicates hecv-mv is present in the stream.
uint8_t current_frame_is_frame0_flag
Indicate whether current frame is frame 0, as described in Annex D.
uint8_t mode_ref_lf_delta_update
Holds a copy of the VP8 bitstream field.
uint8_t deblocking_filter_control_present_flag
Copy of the H.264 bitstream field.
NvmediaVP9EntropyProbs entropy
Holds a copy of the VP9 bitstream field.
uint8_t rounding_control
Derived from vop_rounding_type bitstream field.
uint32_t uFirstCtbAddr
CTB number of first CTB in the slice data.
uint8_t log2SaoOffsetScaleLuma
Holds the PPS log2_sao_offset_scale_luma, max(0,bitdepth-10), maxBitdepth 16 for future.
uint8_t frame_coding_mode
Progressive=0, Frame-interlace=2, Field-interlace=3; see VC-1 7.1.1.15.
NvMediaMasteringDisplayData MasteringDispData
Parser Only: Mastering display data if present.
uint32_t uNumSlices
Number of slices in this SliceData.
uint8_t inter_view_flag
Copy of the H.264 mvc bitstream field.
NvMediaSEIPayloadH264 seiPayloadInfo
Parser only: SEI payload info.
uint8_t quant_type
Holds a copy of the bitstream field.
uint8_t data_partitioned
Holds a copy of the bitstream field.
NvMediaBool top_is_reference
Is the top field used as a reference.
uint8_t full_pel_forward_vector
Holds a copy of the MPEG-1 bitstream field.
uint16_t chroma_format_idc
Copy of the H.264 bitstream field.
uint8_t profile
Parser only: Profile.
uint32_t lossless
Holds a copy of the VP9 bitstream field.
uint32_t RetRefreshAltFrame
Parser only: RetRefreshAltFrame.
uint8_t field_views_flag
Indicates whether all pictures in the current coded video sequence are coded as complementary field p...
uint8_t transformSkipRotationEnableFlag
Holds the SPS extension for transform_skip_rotation_enabled_flag.
Holds VP9 entropy contexts.
uint32_t loopFilterLevel
Holds a copy of the VP9 bitstream field.
uint8_t weighted_pred_flag
Copy of the H.264 bitstream field.
uint8_t dequant_index
Holds a copy of the VP8 bitstream field.
uint32_t NumPocStCurrBefore
Holds a copy of the H.265 bitstream field.
NvMediaRefSurface * forward_reference
Reference used by B and P frames.
uint32_t bit_depth
Holds the depth per pixel.
uint8_t loop_filter_across_slices_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t dependent_slice_segments_enabled_flag
Holds a copy of the H.265 bitstream field.
slice level data used with slice level decoding
slice header data present or not
uint8_t finterpflag
Holds a copy of the VC-1 bitstream field.
uint8_t direct_8x8_inference_flag
Copy of the H.264 bitstream field.
uint16_t max_display_parameter_luminance
Nominal maximum display luminance in units of candelas per square metre.
sequence header data present or not
uint8_t quantizer
Holds a copy of the VC-1 bitstream field.
uint8_t bit_depth_chroma
Holds a copy of the H.265 bitstream field.
uint32_t nNumSlices
Holds the number of slices in this picture.
uint8_t psf
Holds a copy of the VC-1 bitstream field.
uint8_t masterin_display_data_present
Parser Only: Flag to indicated mastering display data is present.
uint8_t frameType
0:FrameType_B 1:FrameType_P 2:FrameType_I
uint8_t vop_coding_type
Holds a copy of the bitstream field.
NvMediaRefSurface * range_mapped
Reference used for range mapping.
uint32_t NumPocStCurrAfter
Holds a copy of the H.265 bitstream field.
uint8_t explicitRdpcmEnableFlag
Holds the SPS explicit_rdpcm_enabled_flag.
uint8_t clamp_type
Copy of the VP8 bitstream field.
uint8_t long_term_ref_pics_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t log2_parallel_merge_level_minus2
Holds a copy of the H.265 bitstream field.
uint8_t implicitRdpcmEnableFlag
Holds the SPS implicit_rdpcm_enabled_flag.
int32_t qpChAc
Holds a copy of the VP9 bitstream field.
uint8_t bottom_field_flag
Bottom field flag TopField=0 BottomField=1.
NvMediaRefSurface * GoldenReference
Holds a pointer to the golden reference frame.
void NvMediaPictureInfo
A generic "picture information" pointer type.
uint32_t transform_mode
Holds a copy of the VP9 bitstream field.
uint8_t transformSkipContextEnableFlag
Holds the SPS extension for transform_skip_context_enabled_flag.
NvMediaBool content_light_level_info_present
Parser Only: Flag to indicated content light level data is present.
int32_t CurrPicOrderCntVal
Holds a copy of the H.265 bitstream field.
uint8_t diffCuChromaQpAdjustmentDepth
Holds the PPS diff_cu_chroma_qp_adjustment_depth, 0...3.
uint32_t height
Holds a copy of the VP9 bitstream field.
uint8_t overlap
Holds a copy of the VC-1 bitstream field.
Picture parameter information for an H.264 picture.
NvMediaBool bSliceDecEnable
Flag to indicate slice decode is enabled.
uint16_t FrameIdx
Copy of the H.264 bitstream field: frame_num from slice_header for short-term references, LongTermPicNum from decoding algorithm for long-term references.
Holds picture parameter information for an MPEG 1 or MPEG 2 picture.
uint8_t num_tile_rows_minus1
Holds a copy of the H.265 bitstream field.
uint8_t num_slice_groups_minus1
Copy of the H.264 bitstream field.
uint8_t sign_data_hiding_enabled_flag
Holds a copy of the H.265 bitstream field.
uint32_t pic_width_in_mbs_minus1
Copy of the H.264 bitstream field.
uint8_t intra_vlc_format
Holds a copy of the MPEG bitstream field.
uint8_t scaling_list_enable_flag
Holds a copy of the H.265 bitstream field.
uint8_t num_ref_idx_l0_default_active_minus1
Holds a copy of the H.265 bitstream field.
uint8_t num_ref_idx_l1_default_active_minus1
Holds a copy of the H.265 bitstream field.
uint32_t resolutionChange
Resolution change.
uint8_t bit_depth_luma
Holds a copy of the H.265 bitstream field.
uint8_t mb_adaptive_frame_field_flag
Copy of the H.264 bitstream field.
uint32_t IDRPicFlag
Holds a copy of the H.265 bitstream field.
uint32_t prevIsKeyFrame
If previous frame is key frame.
void NvMediaRefSurface
A generic "reference surface" pointer type.
Holds picture parameter information for a VC1 picture.
uint32_t width
Holds a copy of the VP9 bitstream field.
picture header data present or not
uint8_t num_inter_view_refs_l0
Copy of the H.264 mvc bitstream field.
uint8_t weighted_pred_flag
Holds a copy of the H.265 bitstream field.
uint32_t loopFilterSharpness
Holds a copy of the VP9 bitstream field.
uint8_t fmo_aso_enable
Copy of the H.264 bitstream field.
uint8_t rangeredfrm
Copy of the VC-1 bitstream field.
uint32_t * pSliceDataOffsets
Passing NULL for pSliceDataOffsets disables error-concealment.
uint8_t num_tile_columns_minus1
Holds a copy of the H.265 bitstream field.
uint32_t pic_width_in_luma_samples
Holds a copy of the H.265 bitstream field.
uint8_t frame_pred_frame_dct
Holds a copy of the MPEG bitstream field.
uint32_t RAPPicFlag
Holds a copy of the H.265 bitstream field.
uint8_t pcm_sample_bit_depth_luma_minus1
Holds a copy of the H.265 bitstream field.
uint8_t max_transform_hierarchy_depth_inter
Holds a copy of the H.265 bitstream field.
uint32_t ref1_height
Holds a copy of the VP9 bitstream field.
uint8_t num_of_partitions
Holds a copy of the VP8 bitstream field.
Information about an H.264 reference frame.
int32_t segmentMapTemporalUpdate
Holds a copy of the VP9 bitstream field.
int8_t pps_cb_qp_offset
Holds a copy of the H.265 bitstream field.
uint8_t deblocking_filter_override_enabled_flag
Holds a copy of the H.265 bitstream field.
uint16_t num_views_minus1
Copy of the H.264 mvc bitstream field.
uint8_t sharpness_level
Holds a copy of the VP8 bitstream field.
NvMediaBool is_reference
Will the decoded frame be used as a reference later.
uint8_t flag_slices_across_multiple_rows
Indicates whether the MPEG slices span across multiple rows.
uint16_t max_pic_average_light_level
Maximum frame average light level in units of candelas per square metre.
uint16_t frameWidth
Parser only: Actual frame width.
uint8_t top_field_first
Holds a copy of the bitstream field.
uint8_t pcm_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t uniform_spacing_flag
Holds a copy of the H.265 bitstream field.
uint32_t nuh_layer_id
Holds a copy of the H.265-MV bitstream field.
NvMediaContentLightLevelInfo ContentLightLevelInfo
Parser Only: Content light level info data if present.
uint8_t strong_intra_smoothing_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t pic_order_cnt_type
Copy of the H.264 bitstream field.
uint8_t num_inter_view_refs_l1
Copy of the H.264 mvc bitstream field.
uint32_t nNumSlices
Number of slices in this picture.
uint8_t pcm_loop_filter_disabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t range_mapy_flag
Holds a copy of the VC-1 bitstream field.
uint8_t spatial_flipping_flag
Indicates that whether one of the two constituent frames is spatially flipped relative to its intende...
uint8_t interlace
Holds a copy of the VC-1 bitstream field.
#define MAX_USER_SEI_PAYLOAD
Maximum user defined sei payload size.
uint32_t iCur
Holds a copy of the H.265 bitstream field.
uint32_t NumDeltaPocsOfRefRpsIdx
Holds a copy of the H.265 bitstream field.
uint8_t refresh_entropy_probs
Holds a copy of the VP8 bitstream field.
uint8_t frameContextIdx
Holds a copy of the VP9 bitstream field.
uint8_t reversible_vlc
Holds a copy of the bitstream field.
uint32_t intraOnly
Intra only.
uint16_t video_object_layer_height
Parser Only: Video object layer height.
uint32_t uCTBCount
Number of CTB present in this CTB.
int32_t last_sps_id
Copy of the H.264 bitstream field.
uint8_t quincunx_sampling_flag
Indicate whether each colour component plane of each consituent frame is quincunx sampled or not...
NvMediaRefSurface * backward_reference
Reference used by B frames.
uint32_t keyFrame
Holds a copy of the VP9 bitstream field.
uint32_t uUserSeiPayloadLength
Specify the length of user data unregistered SEI message, as described in Annex D.
uint8_t chroma_format_idc
Holds a copy of the chroma_format_idc.
uint8_t range_mapuv
Holds a copy of the VC-1 bitstream field.
Picture parameter information for a VP8 picture.
Holds VP9 counters for adaptive entropy contexts.
uint8_t lists_modification_present_flag
Holds a copy of the H.265 bitstream field.
uint8_t pulldown
Holds a copy of the VC-1 bitstream field.
uint32_t comp_pred_mode
Holds a copy of the VP9 bitstream field.
uint32_t offsetToDctParts
Holds a copy of the VP9 bitstream field.
uint8_t vop_fcode_backward
Holds a copy of the bitstream field.
uint8_t max_transform_hierarchy_depth_intra
Holds a copy of the H.265 bitstream field.
H.264 SEI payload information Used by the parser only.
uint32_t * pSliceDataOffsets
Passing NULL for pSliceDataOffsets disables error-concealment.
uint8_t multires
Copy of the VC-1 bitstream field.
uint32_t NumPocLtCurr
Holds a copy of the H.265 bitstream field.
uint8_t short_video_header
Holds a copy of the bitstream field.
uint8_t alternate_scan
Holds a copy of the MPEG bitstream field.
uint8_t sample_adaptive_offset_enabled_flag
Holds a copy of the H.265 bitstream field.
uint8_t range_mapuv_flag
Holds a copy of the VC-1 bitstream field.
uint32_t ref2_width
Holds a copy of the VP9 bitstream field.
int32_t qpprime_y_zero_transform_bypass_flag
Copy of the H.264 bitstream field, qpprime_y_zero_transform_bypass_flag.
uint8_t extended_mv
Holds a copy of the VC-1 bitstream field.
NvMediaBool bErrorFlag
Error flag if some parsing error detected.
uint8_t refdist_flag
Holds a copy of the VC-1 bitstream field.
uint16_t video_object_layer_width
Parser Only: Video object layer width.
uint32_t segmentFeatureMode
Holds a copy of the VP9 bitstream field.
NvMediaSliceDecodeData sliceDecData
Slice decode data when Slice decode is enabled.
Specifies the decoder instance ID 0.
uint32_t vop_time_increment_bitcount
Holds a copy of the bitstream field.
uint8_t frame_packing_arrangement_type
Indicate the type of packing arrangement of the frames, as described in Annex D.
uint8_t pcm_sample_bit_depth_chroma_minus1
Holds a copy of the H.265 bitstream field.
uint32_t ref0_width
Holds a copy of the VP9 bitstream field.
uint8_t concealment_motion_vectors
Holds a copy of the MPEG bitstream field.
NvMediaRefSurface * AltReference
Holds a pointer to the alternate reference frame.
uint8_t bottom_field_flag
Copy of the H.264 bitstream field.
uint16_t vop_time_increment_resolution
Holds a copy of the bitstream field.
uint8_t pic_order_present_flag
Copy of the H.264 bitstream field.
uint32_t RetRefreshLastFrame
Parser only: RetRefreshLastFrame.
uint8_t segmentation_enabled
Holds a copy of the VP8 bitstream field.
uint32_t segmentMapUpdate
Holds a copy of the VP9 bitstream field.
uint32_t NumActiveRefLayerPics0
Holds a copy of the H.265-MV bitstream field.
uint8_t chromaQpAdjustmentEnableFlag
Holds the PPS chroma_qp_adjustment_enabled_flag .
uint16_t view_id
Copy of the H.264 mvc bitstream field.
uint8_t sps_temporal_mvp_enabled_flag
Holds a copy of the H.265 bitstream field.
NvMediaRefSurface * backward_reference
Reference used by B frames.
NvMediaBool bFirstSlice
First slice flag: whether this SliceData contains first slice of frame.