Structures

VkVideoDecodeH265PictureInfoKHR

Structure specifies H.265 picture information when decoding a frame

The VkVideoDecodeH265PictureInfoKHR structure is defined as:

typedef struct VkVideoDecodeH265PictureInfoKHR {
    VkStructureType sType;
    const void* pNext;
    const StdVideoDecodeH265PictureInfo* pStdPictureInfo;
    uint32_t sliceSegmentCount;
    const uint32_t* pSliceSegmentOffsets;
} VkVideoDecodeH265PictureInfoKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • pStdPictureInfo is a pointer to a StdVideoDecodeH265PictureInfo structure specifying H.265 picture information.
  • sliceSegmentCount is the number of elements in pSliceSegmentOffsets.
  • pSliceSegmentOffsets is a pointer to an array of sliceSegmentCount offsets specifying the start offset of the slice segments of the picture within the video bitstream buffer range specified in VkVideoDecodeInfoKHR.

This structure is specified in the pNext chain of the VkVideoDecodeInfoKHR structure passed to vkCmdDecodeVideoKHR to specify the codec-specific picture information for an H.265 decode operation.

Decode Output Picture Information

When this structure is specified in the pNext chain of the VkVideoDecodeInfoKHR structure passed to vkCmdDecodeVideoKHR, the information related to the decode output picture is defined as follows:

Std Picture Information

The members of the StdVideoDecodeH265PictureInfo structure pointed to by pStdPictureInfo are interpreted as follows:

  • reserved is used only for padding purposes and is otherwise ignored;
  • flags.IrapPicFlag as defined in section 3.73 of the ITU-T H.265 Specification;
  • flags.IdrPicFlag as defined in section 3.67 of the ITU-T H.265 Specification;
  • flags.IsReference as defined in section 3.132 of the ITU-T H.265 Specification;
  • sps_video_parameter_set_id, pps_seq_parameter_set_id, and pps_pic_parameter_set_id are used to identify the active parameter sets, as described below;
  • PicOrderCntVal as defined in section 8.3.1 of the ITU-T H.265 Specification;
  • NumBitsForSTRefPicSetInSlice is the number of bits used in st_ref_pic_set when short_term_ref_pic_set_sps_flag is 0, or 0 otherwise, as defined in sections 7.4.7 and 7.4.8 of the ITU-T H.265 Specification;
  • NumDeltaPocsOfRefRpsIdx is the value of NumDeltaPocs[RefRpsIdx] when short_term_ref_pic_set_sps_flag is 1, or 0 otherwise, as defined in sections 7.4.7 and 7.4.8 of the ITU-T H.265 Specification;
  • RefPicSetStCurrBefore, RefPicSetStCurrAfter, and RefPicSetLtCurr are interpreted as defined in section 8.3.2 of the ITU-T H.265 Specification where each element of these arrays either identifies an active reference picture using its DPB slot index or contains the value STD_VIDEO_H265_NO_REFERENCE_PICTURE to indicate no reference picture;
  • all other members are interpreted as defined in section 8.3.2 of the ITU-T H.265 Specification.

Reference picture setup is controlled by the value of StdVideoDecodeH265PictureInfo::flags.IsReference. If it is set and a reconstructed picture is specified, then the latter is used as the target of picture reconstruction to activate the corresponding DPB slot. If StdVideoDecodeH265PictureInfo::flags.IsReference is not set, but a reconstructed picture is specified, then the corresponding picture reference associated with the DPB slot is invalidated, as described in the DPB Slot States section.

Active Parameter Sets

The members of the StdVideoDecodeH265PictureInfo structure pointed to by pStdPictureInfo are used to select the active parameter sets to use from the bound video session parameters object, as follows:

  • The active VPS is the VPS identified by the key specified in StdVideoDecodeH265PictureInfo::sps_video_parameter_set_id.
  • The active SPS is the SPS identified by the key specified by the pair constructed from StdVideoDecodeH265PictureInfo::sps_video_parameter_set_id and StdVideoDecodeH265PictureInfo::pps_seq_parameter_set_id.
  • The active PPS is the PPS identified by the key specified by the triplet constructed from StdVideoDecodeH265PictureInfo::sps_video_parameter_set_id, StdVideoDecodeH265PictureInfo::pps_seq_parameter_set_id, and StdVideoDecodeH265PictureInfo::pps_pic_parameter_set_id.

Valid Usage (Implicit)

VUID-VkVideoDecodeH265PictureInfoKHR-sType-sType

sType must be VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR

VUID-VkVideoDecodeH265PictureInfoKHR-pStdPictureInfo-parameter

pStdPictureInfo must be a valid pointer to a valid StdVideoDecodeH265PictureInfo value

VUID-VkVideoDecodeH265PictureInfoKHR-pSliceSegmentOffsets-parameter

pSliceSegmentOffsets must be a valid pointer to an array of sliceSegmentCount uint32_t values