VDPAU
Data Fields
VdpPictureInfoHEVC Struct Reference

Picture parameter information for an H.265/HEVC picture. More...

#include <vdpau.h>

Data Fields

int32_t CurrPicOrderCntVal
 
VdpVideoSurface RefPics [16]
 
int32_t PicOrderCntVal [16]
 
uint8_t IsLongTerm [16]
 
uint8_t NumPocStCurrBefore
 
uint8_t NumPocStCurrAfter
 
uint8_t NumPocLtCurr
 
uint8_t RefPicSetStCurrBefore [8]
 
uint8_t RefPicSetStCurrAfter [8]
 
uint8_t RefPicSetLtCurr [8]
 
HEVC Sequence Parameter Set

Copies of the HEVC Sequence Parameter Set bitstream fields.

uint8_t chroma_format_idc
 
uint8_t separate_colour_plane_flag
 
uint32_t pic_width_in_luma_samples
 
uint32_t pic_height_in_luma_samples
 
uint8_t bit_depth_luma_minus8
 
uint8_t bit_depth_chroma_minus8
 
uint8_t log2_max_pic_order_cnt_lsb_minus4
 
uint8_t sps_max_dec_pic_buffering_minus1
 
uint8_t log2_min_luma_coding_block_size_minus3
 
uint8_t log2_diff_max_min_luma_coding_block_size
 
uint8_t log2_min_transform_block_size_minus2
 
uint8_t log2_diff_max_min_transform_block_size
 
uint8_t max_transform_hierarchy_depth_inter
 
uint8_t max_transform_hierarchy_depth_intra
 
uint8_t scaling_list_enabled_flag
 
uint8_t ScalingList4x4 [6][16]
 
uint8_t ScalingList8x8 [6][64]
 
uint8_t ScalingList16x16 [6][64]
 
uint8_t ScalingList32x32 [2][64]
 
uint8_t ScalingListDCCoeff16x16 [6]
 
uint8_t ScalingListDCCoeff32x32 [2]
 
uint8_t amp_enabled_flag
 
uint8_t sample_adaptive_offset_enabled_flag
 
uint8_t pcm_enabled_flag
 
uint8_t pcm_sample_bit_depth_luma_minus1
 
uint8_t pcm_sample_bit_depth_chroma_minus1
 
uint8_t log2_min_pcm_luma_coding_block_size_minus3
 
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
 
uint8_t pcm_loop_filter_disabled_flag
 
uint8_t num_short_term_ref_pic_sets
 
uint8_t long_term_ref_pics_present_flag
 
uint8_t num_long_term_ref_pics_sps
 
uint8_t sps_temporal_mvp_enabled_flag
 
uint8_t strong_intra_smoothing_enabled_flag
 
HEVC Picture Parameter Set

Copies of the HEVC Picture Parameter Set bitstream fields.

uint8_t dependent_slice_segments_enabled_flag
 
uint8_t output_flag_present_flag
 
uint8_t num_extra_slice_header_bits
 
uint8_t sign_data_hiding_enabled_flag
 
uint8_t cabac_init_present_flag
 
uint8_t num_ref_idx_l0_default_active_minus1
 
uint8_t num_ref_idx_l1_default_active_minus1
 
int8_t init_qp_minus26
 
uint8_t constrained_intra_pred_flag
 
uint8_t transform_skip_enabled_flag
 
uint8_t cu_qp_delta_enabled_flag
 
uint8_t diff_cu_qp_delta_depth
 
int8_t pps_cb_qp_offset
 
int8_t pps_cr_qp_offset
 
uint8_t pps_slice_chroma_qp_offsets_present_flag
 
uint8_t weighted_pred_flag
 
uint8_t weighted_bipred_flag
 
uint8_t transquant_bypass_enabled_flag
 
uint8_t tiles_enabled_flag
 
uint8_t entropy_coding_sync_enabled_flag
 
uint8_t num_tile_columns_minus1
 
uint8_t num_tile_rows_minus1
 
uint8_t uniform_spacing_flag
 
uint16_t column_width_minus1 [20]
 
uint16_t row_height_minus1 [22]
 
uint8_t loop_filter_across_tiles_enabled_flag
 
uint8_t pps_loop_filter_across_slices_enabled_flag
 
uint8_t deblocking_filter_control_present_flag
 
uint8_t deblocking_filter_override_enabled_flag
 
uint8_t pps_deblocking_filter_disabled_flag
 
int8_t pps_beta_offset_div2
 
int8_t pps_tc_offset_div2
 
uint8_t lists_modification_present_flag
 
uint8_t log2_parallel_merge_level_minus2
 
uint8_t slice_segment_header_extension_present_flag
 
HEVC Slice Segment Header

Copies of the HEVC Slice Segment Header bitstream fields and calculated values detailed in the specification.

uint8_t IDRPicFlag
 
uint8_t RAPPicFlag
 
uint8_t CurrRpsIdx
 
uint32_t NumPocTotalCurr
 
uint32_t NumDeltaPocsOfRefRpsIdx
 
uint32_t NumShortTermPictureSliceHeaderBits
 
uint32_t NumLongTermPictureSliceHeaderBits
 

Detailed Description

Picture parameter information for an H.265/HEVC picture.

References to bitsream fields below may refer to data literally parsed from the bitstream, or derived from the bitstream using a mechanism described in Rec. ITU-T H.265 (04/2013), hereafter referred to as "the H.265/HEVC Specification".

VDPAU H.265/HEVC implementations implement the portion of the decoding process described by clauses 8.4, 8.5, 8.6 and 8.7 of the the H.265/HEVC Specification. VdpPictureInfoHEVC provides enough data to complete this portion of the decoding process, plus additional information not defined in the H.265/HEVC Specification that may be useful to particular implementations.

Client applications must supply every field in this struct.

Field Documentation

uint8_t VdpPictureInfoHEVC::amp_enabled_flag
uint8_t VdpPictureInfoHEVC::bit_depth_chroma_minus8
uint8_t VdpPictureInfoHEVC::bit_depth_luma_minus8
uint8_t VdpPictureInfoHEVC::cabac_init_present_flag
uint8_t VdpPictureInfoHEVC::chroma_format_idc
uint16_t VdpPictureInfoHEVC::column_width_minus1[20]

Only need to set 0..num_tile_columns_minus1. The struct definition reserves up to the maximum of 20. Invalid values are ignored.

uint8_t VdpPictureInfoHEVC::constrained_intra_pred_flag
uint8_t VdpPictureInfoHEVC::cu_qp_delta_enabled_flag
int32_t VdpPictureInfoHEVC::CurrPicOrderCntVal

Slice Decoding Process - Picture Order Count The value of PicOrderCntVal of the picture in the access unit containing the SEI message. The picture being decoded.

uint8_t VdpPictureInfoHEVC::CurrRpsIdx

See section 7.4.7.1 of the specification.

uint8_t VdpPictureInfoHEVC::deblocking_filter_control_present_flag
uint8_t VdpPictureInfoHEVC::deblocking_filter_override_enabled_flag

Only valid if deblocking_filter_control_present_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::dependent_slice_segments_enabled_flag
uint8_t VdpPictureInfoHEVC::diff_cu_qp_delta_depth

Only needed if cu_qp_delta_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::entropy_coding_sync_enabled_flag
uint8_t VdpPictureInfoHEVC::IDRPicFlag

Set to 1 if nal_unit_type is equal to IDR_W_RADL or IDR_N_LP. Set to zero otherwise.

int8_t VdpPictureInfoHEVC::init_qp_minus26
uint8_t VdpPictureInfoHEVC::IsLongTerm[16]

Array used to specify whether a particular RefPic is a long term reference. A value of "1" indicates a long-term reference.

uint8_t VdpPictureInfoHEVC::lists_modification_present_flag
uint8_t VdpPictureInfoHEVC::log2_diff_max_min_luma_coding_block_size
uint8_t VdpPictureInfoHEVC::log2_diff_max_min_pcm_luma_coding_block_size

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::log2_diff_max_min_transform_block_size
uint8_t VdpPictureInfoHEVC::log2_max_pic_order_cnt_lsb_minus4
uint8_t VdpPictureInfoHEVC::log2_min_luma_coding_block_size_minus3
uint8_t VdpPictureInfoHEVC::log2_min_pcm_luma_coding_block_size_minus3

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::log2_min_transform_block_size_minus2
uint8_t VdpPictureInfoHEVC::log2_parallel_merge_level_minus2
uint8_t VdpPictureInfoHEVC::long_term_ref_pics_present_flag
uint8_t VdpPictureInfoHEVC::loop_filter_across_tiles_enabled_flag

Only needed if tiles_enabled_flag is set. Invalid values are ignored.

uint8_t VdpPictureInfoHEVC::max_transform_hierarchy_depth_inter
uint8_t VdpPictureInfoHEVC::max_transform_hierarchy_depth_intra
uint8_t VdpPictureInfoHEVC::num_extra_slice_header_bits
uint8_t VdpPictureInfoHEVC::num_long_term_ref_pics_sps

Only needed if long_term_ref_pics_present_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::num_ref_idx_l0_default_active_minus1
uint8_t VdpPictureInfoHEVC::num_ref_idx_l1_default_active_minus1
uint8_t VdpPictureInfoHEVC::num_short_term_ref_pic_sets

Per spec, when zero, assume short_term_ref_pic_set_sps_flag is also zero.

uint8_t VdpPictureInfoHEVC::num_tile_columns_minus1

Only valid if tiles_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::num_tile_rows_minus1

Only valid if tiles_enabled_flag is set. Ignored otherwise.

uint32_t VdpPictureInfoHEVC::NumDeltaPocsOfRefRpsIdx

Corresponds to specification field, NumDeltaPocs[RefRpsIdx]. Only applicable when short_term_ref_pic_set_sps_flag == 0. Implementations will ignore this value in other cases. See 7.4.8.

uint32_t VdpPictureInfoHEVC::NumLongTermPictureSliceHeaderBits

Second, VDPAU requires the number of bits used for long term reference pictures in the slice_segment_header. This is equal to the number of bits used for the contents of the block beginning with "if(long_term_ref_pics_present_flag)".

uint8_t VdpPictureInfoHEVC::NumPocLtCurr

Copy of specification field, see Section 8.3.2 of the H.265/HEVC Specification.

uint8_t VdpPictureInfoHEVC::NumPocStCurrAfter

Copy of specification field, see Section 8.3.2 of the H.265/HEVC Specification.

uint8_t VdpPictureInfoHEVC::NumPocStCurrBefore

Copy of specification field, see Section 8.3.2 of the H.265/HEVC Specification.

uint32_t VdpPictureInfoHEVC::NumPocTotalCurr

See section 7.4.7.2 of the specification.

uint32_t VdpPictureInfoHEVC::NumShortTermPictureSliceHeaderBits

Section 7.6.3.1 of the H.265/HEVC Specification defines the syntax of the slice_segment_header. This header contains information that some VDPAU implementations may choose to skip. The VDPAU API requires client applications to track the number of bits used in the slice header for structures associated with short term and long term reference pictures. First, VDPAU requires the number of bits used by the short_term_ref_pic_set array in the slice_segment_header.

uint8_t VdpPictureInfoHEVC::output_flag_present_flag
uint8_t VdpPictureInfoHEVC::pcm_enabled_flag
uint8_t VdpPictureInfoHEVC::pcm_loop_filter_disabled_flag

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::pcm_sample_bit_depth_chroma_minus1

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::pcm_sample_bit_depth_luma_minus1

Only needs to be set if pcm_enabled_flag is set. Ignored otherwise.

uint32_t VdpPictureInfoHEVC::pic_height_in_luma_samples
uint32_t VdpPictureInfoHEVC::pic_width_in_luma_samples
int32_t VdpPictureInfoHEVC::PicOrderCntVal[16]

Array of picture order counts. These correspond to positions in the RefPics array.

int8_t VdpPictureInfoHEVC::pps_beta_offset_div2

Only valid if deblocking_filter_control_present_flag is set and pps_deblocking_filter_disabled_flag is not set. Ignored otherwise.

int8_t VdpPictureInfoHEVC::pps_cb_qp_offset
int8_t VdpPictureInfoHEVC::pps_cr_qp_offset
uint8_t VdpPictureInfoHEVC::pps_deblocking_filter_disabled_flag

Only valid if deblocking_filter_control_present_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::pps_loop_filter_across_slices_enabled_flag
uint8_t VdpPictureInfoHEVC::pps_slice_chroma_qp_offsets_present_flag
int8_t VdpPictureInfoHEVC::pps_tc_offset_div2

Only valid if deblocking_filter_control_present_flag is set and pps_deblocking_filter_disabled_flag is not set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::RAPPicFlag

Set to 1 if nal_unit_type in the range of BLA_W_LP to RSV_IRAP_VCL23, inclusive. Set to zero otherwise.

VdpVideoSurface VdpPictureInfoHEVC::RefPics[16]

Slice Decoding Process - Reference Picture Sets Array of video reference surfaces. Set any unused positions to VDP_INVALID_HANDLE.

uint8_t VdpPictureInfoHEVC::RefPicSetLtCurr[8]

Reference Picture Set list, one of the long-term RPS. These correspond to positions in the RefPics array.

uint8_t VdpPictureInfoHEVC::RefPicSetStCurrAfter[8]

Reference Picture Set list, one of the short-term RPS. These correspond to positions in the RefPics array.

uint8_t VdpPictureInfoHEVC::RefPicSetStCurrBefore[8]

Reference Picture Set list, one of the short-term RPS. These correspond to positions in the RefPics array.

uint16_t VdpPictureInfoHEVC::row_height_minus1[22]

Only need to set 0..num_tile_rows_minus1. The struct definition reserves up to the maximum of 22. Invalid values are ignored.

uint8_t VdpPictureInfoHEVC::sample_adaptive_offset_enabled_flag
uint8_t VdpPictureInfoHEVC::scaling_list_enabled_flag
uint8_t VdpPictureInfoHEVC::ScalingList16x16[6][64]

Scaling List for 16x16 quantization matrix, indexed as ScalingList16x16[matrixId][i].

uint8_t VdpPictureInfoHEVC::ScalingList32x32[2][64]

Scaling List for 32x32 quantization matrix, indexed as ScalingList32x32[matrixId][i].

uint8_t VdpPictureInfoHEVC::ScalingList4x4[6][16]

Scaling lists, in diagonal order, to be used for this frame. Scaling List for 4x4 quantization matrix, indexed as ScalingList4x4[matrixId][i].

uint8_t VdpPictureInfoHEVC::ScalingList8x8[6][64]

Scaling List for 8x8 quantization matrix, indexed as ScalingList8x8[matrixId][i].

uint8_t VdpPictureInfoHEVC::ScalingListDCCoeff16x16[6]

Scaling List DC Coefficients for 16x16, indexed as ScalingListDCCoeff16x16[matrixId].

uint8_t VdpPictureInfoHEVC::ScalingListDCCoeff32x32[2]

Scaling List DC Coefficients for 32x32, indexed as ScalingListDCCoeff32x32[matrixId].

uint8_t VdpPictureInfoHEVC::separate_colour_plane_flag

Only valid if chroma_format_idc == 3. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::sign_data_hiding_enabled_flag
uint8_t VdpPictureInfoHEVC::slice_segment_header_extension_present_flag
uint8_t VdpPictureInfoHEVC::sps_max_dec_pic_buffering_minus1

Provides the value corresponding to the nuh_temporal_id of the frame to be decoded.

uint8_t VdpPictureInfoHEVC::sps_temporal_mvp_enabled_flag
uint8_t VdpPictureInfoHEVC::strong_intra_smoothing_enabled_flag
uint8_t VdpPictureInfoHEVC::tiles_enabled_flag
uint8_t VdpPictureInfoHEVC::transform_skip_enabled_flag
uint8_t VdpPictureInfoHEVC::transquant_bypass_enabled_flag
uint8_t VdpPictureInfoHEVC::uniform_spacing_flag

Only valid if tiles_enabled_flag is set. Ignored otherwise.

uint8_t VdpPictureInfoHEVC::weighted_bipred_flag
uint8_t VdpPictureInfoHEVC::weighted_pred_flag

The documentation for this struct was generated from the following file: