VDPAU
|
Picture parameter information for an H.265/HEVC picture. More...
#include <vdpau.h>
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.
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 |