Structures

VkVideoDecodeInfoKHR

Structure specifying video decode parameters

The VkVideoDecodeInfoKHR structure is defined as:

typedef struct VkVideoDecodeInfoKHR {
    VkStructureType sType;
    const void* pNext;
    VkVideoDecodeFlagsKHR flags;
    VkBuffer srcBuffer;
    VkDeviceSize srcBufferOffset;
    VkDeviceSize srcBufferRange;
    VkVideoPictureResourceInfoKHR dstPictureResource;
    const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot;
    uint32_t referenceSlotCount;
    const VkVideoReferenceSlotInfoKHR* pReferenceSlots;
} VkVideoDecodeInfoKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • flags is reserved for future use.
  • srcBuffer is the source video bitstream buffer to read the encoded bitstream from.
  • srcBufferOffset is the starting offset in bytes from the start of srcBuffer to read the encoded bitstream from.
  • srcBufferRange is the size in bytes of the encoded bitstream to decode from srcBuffer, starting from srcBufferOffset.
  • dstPictureResource is the video picture resource to use as the decode output picture.
  • pSetupReferenceSlot is NULL or a pointer to a VkVideoReferenceSlotInfoKHR structure specifying the reconstructed picture information.
  • referenceSlotCount is the number of elements in the pReferenceSlots array.
  • pReferenceSlots is NULL or a pointer to an array of VkVideoReferenceSlotInfoKHR structures describing the DPB slots and corresponding reference picture resources to use in this video decode operation (the set of active reference pictures).

Valid Usage

VUID-VkVideoDecodeInfoKHR-srcBuffer-07165

srcBuffer must have been created with VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR set

VUID-VkVideoDecodeInfoKHR-srcBufferOffset-07166

srcBufferOffset must be less than the size of srcBuffer

VUID-VkVideoDecodeInfoKHR-srcBufferRange-07167

srcBufferRange must be less than or equal to the size of srcBuffer minus srcBufferOffset

VUID-VkVideoDecodeInfoKHR-pSetupReferenceSlot-07168

If pSetupReferenceSlot is not NULL, then its slotIndex member must not be negative

VUID-VkVideoDecodeInfoKHR-pSetupReferenceSlot-07169

If pSetupReferenceSlot is not NULL, then its pPictureResource must not be NULL

VUID-VkVideoDecodeInfoKHR-slotIndex-07171

The slotIndex member of each element of pReferenceSlotsmust not be negative

VUID-VkVideoDecodeInfoKHR-pPictureResource-07172

The pPictureResource member of each element of pReferenceSlots must not be NULL

Valid Usage (Implicit)

VUID-VkVideoDecodeInfoKHR-sType-sType

sType must be VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR

VUID-VkVideoDecodeInfoKHR-pNext-pNext

Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkVideoDecodeAV1PictureInfoKHR, VkVideoDecodeH264PictureInfoKHR, VkVideoDecodeH265PictureInfoKHR, or VkVideoInlineQueryInfoKHR

VUID-VkVideoDecodeInfoKHR-sType-unique

The sType value of each struct in the pNext chain must be unique

VUID-VkVideoDecodeInfoKHR-pSetupReferenceSlot-parameter

If pSetupReferenceSlot is not NULL, pSetupReferenceSlot must be a valid pointer to a valid VkVideoReferenceSlotInfoKHR structure

VUID-VkVideoDecodeInfoKHR-pReferenceSlots-parameter

If referenceSlotCount is not 0, pReferenceSlots must be a valid pointer to an array of referenceSlotCount valid VkVideoReferenceSlotInfoKHR structures