VkVideoDecodeInfoKHR
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
isNULL
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 ofsrcBuffer
to read the encoded bitstream from.srcBufferRange
is the size in bytes of the encoded bitstream to decode fromsrcBuffer
, starting fromsrcBufferOffset
.dstPictureResource
is the video picture resource to use as the decode output picture.pSetupReferenceSlot
isNULL
or a pointer to a VkVideoReferenceSlotInfoKHR structure specifying the reconstructed picture information.referenceSlotCount
is the number of elements in thepReferenceSlots
array.pReferenceSlots
isNULL
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 pReferenceSlots
must 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-flags-zerobitmask
flags
must be 0
VUID-VkVideoDecodeInfoKHR-srcBuffer-parameter
srcBuffer
must be a valid VkBuffer handle
VUID-VkVideoDecodeInfoKHR-dstPictureResource-parameter
dstPictureResource
must be a valid VkVideoPictureResourceInfoKHR structure
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