VkVideoDecodeVP9PictureInfoKHR(3)

Name

VkVideoDecodeVP9PictureInfoKHR - Structure specifies VP9 picture information when decoding a frame

C Specification

The VkVideoDecodeVP9PictureInfoKHR structure is defined as:

// Provided by VK_KHR_video_decode_vp9
typedef struct VkVideoDecodeVP9PictureInfoKHR {
    VkStructureType                        sType;
    const void*                            pNext;
    const StdVideoDecodeVP9PictureInfo*    pStdPictureInfo;
    int32_t                                referenceNameSlotIndices[VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR];
    uint32_t                               uncompressedHeaderOffset;
    uint32_t                               compressedHeaderOffset;
    uint32_t                               tilesOffset;
} VkVideoDecodeVP9PictureInfoKHR;

Members

  • 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 StdVideoDecodeVP9PictureInfo structure specifying VP9 picture information.

  • referenceNameSlotIndices is an array of three (VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR, which is equal to the Video Std definition STD_VIDEO_VP9_REFS_PER_FRAME) signed integer values specifying the index of the DPB slot or a negative integer value for each VP9 reference name used for inter coding. In particular, the DPB slot index for the VP9 reference name frame is specified in referenceNameSlotIndices[frame - STD_VIDEO_VP9_REFERENCE_NAME_LAST_FRAME].

  • uncompressedHeaderOffset is the byte offset of the uncompressed frame header, as defined in section 6.2 of the VP9 Specification.

  • compressedHeaderOffset is the byte offset of the compressed frame header, as defined in section 6.3 of the VP9 Specification.

  • tilesOffset is the byte offset of the frame tile data, as defined in section 6.4 of the VP9 Specification.

Description

This structure is specified in the pNext chain of the VkVideoDecodeInfoKHR structure passed to vkCmdDecodeVideoKHR to specify the codec-specific picture information for an VP9 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 StdVideoDecodeVP9PictureInfo structure pointed to by pStdPictureInfo are interpreted as follows:

  • flags.reserved and reserved1 are used only for padding purposes and are otherwise ignored;

  • ref_frame_sign_bias_mask is a bitmask where bit index i corresponds to ref_frame_sign_bias[i] as defined in section 7.2 of the VP9 Specification;

  • the StdVideoVP9ColorConfig structure pointed to by pColorConfig is interpreted as follows:

    • flags.reserved and reserved1 are used only for padding purposes and are otherwise ignored;

    • all other members of StdVideoVP9ColorConfig are interpreted as defined in sections 6.2, 6.2.2, and 7.2.2 of the VP9 Specification;

  • the StdVideoVP9LoopFilter structure pointed to by pLoopFilter is interpreted as follows:

    • flags.reserved is used only for padding purposes and is otherwise ignored;

    • update_ref_delta is a bitmask where bit index i is interpreted as the value of update_ref_delta corresponding to element i of loop_filter_ref_deltas as defined in section 7.2.8 of the VP9 Specification;

    • update_mode_delta is a bitmask where bit index i is interpreted as the value of update_mode_delta corresponding to element i of loop_filter_mode_deltas as defined in section 7.2.8 of the VP9 Specification;

    • all other members of StdVideoVP9LoopFilter are interpreted as defined in section 7.2.8 of the VP9 Specification;

      If the syntax elements corresponding to loop_filter_ref_deltas and loop_filter_mode_deltas are not present, the application should specify the previous values, as defined in section 7.2.8 of the VP9 Specification.

  • if flags.segmentation_enabled is set, then the StdVideoVP9Segmentation structure pointed to by pSegmentation is interpreted as follows:

    • flags.reserved is used only for padding purposes and is otherwise ignored;

    • the elements of FeatureEnabled are bitmasks where bit index j of element i corresponds to FeatureEnabled[i][j] as defined in section 6.2.11 of the VP9 Specification;

    • FeatureData is interpreted as defined in section 6.2.11 of the VP9 Specification;

    • all other members of StdVideoVP9Segmentation are interpreted as defined in section 7.2.10 of the VP9 Specification;

  • all other members are interpreted as defined in section 7.2 of the VP9 Specification.

Reference picture setup is controlled by the value of StdVideoDecodeVP9PictureInfo::refresh_frame_flags. If it is not zero and a reconstructed picture is specified, then the latter is used as the target of picture reconstruction to activate the DPB slot specified in pDecodeInfo->pSetupReferenceSlot→slotIndex. If StdVideoDecodeVP9PictureInfo::refresh_frame_flags is zero, 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.

Valid Usage (Implicit)
  • VUID-VkVideoDecodeVP9PictureInfoKHR-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR

  • VUID-VkVideoDecodeVP9PictureInfoKHR-pStdPictureInfo-parameter
    pStdPictureInfo must be a valid pointer to a valid StdVideoDecodeVP9PictureInfo value

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.