VkVideoSessionParametersCreateInfoKHR
The VkVideoSessionParametersCreateInfoKHR
structure is defined as:
typedef struct VkVideoSessionParametersCreateInfoKHR {
VkStructureType sType;
const void* pNext;
VkVideoSessionParametersCreateFlagsKHR flags;
VkVideoSessionParametersKHR videoSessionParametersTemplate;
VkVideoSessionKHR videoSession;
} VkVideoSessionParametersCreateInfoKHR;
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.videoSessionParametersTemplate
isVK_NULL_HANDLE
or a valid handle to a VkVideoSessionParametersKHR object used as a template for constructing the new video session parameters object.videoSession
is the video session object against which the video session parameters object is going to be created.
Limiting values are defined below that are referenced by the relevant valid usage statements of this structure.
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
, then letStdVideoH264SequenceParameterSet spsAddList[]
be the list of H.264 SPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoDecodeH264SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH264SequenceParameterSet
entries specified inpParametersAddInfo→pStdSPSs
are added tospsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH264SequenceParameterSet
entry stored in it withseq_parameter_set_id
not matching any of the entries already inspsAddList
is added tospsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
, then letStdVideoH264PictureParameterSet ppsAddList[]
be the list of H.264 PPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoDecodeH264SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH264PictureParameterSet
entries specified inpParametersAddInfo→pStdPPSs
are added toppsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH264PictureParameterSet
entry stored in it withseq_parameter_set_id
orpic_parameter_set_id
not matching any of the entries already inppsAddList
is added toppsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then letStdVideoH265VideoParameterSet vpsAddList[]
be the list of H.265 VPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoDecodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265VideoParameterSet
entries specified inpParametersAddInfo→pStdVPSs
are added tovpsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265VideoParameterSet
entry stored in it withvps_video_parameter_set_id
not matching any of the entries already invpsAddList
is added tovpsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then letStdVideoH265SequenceParameterSet spsAddList[]
be the list of H.265 SPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoDecodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265SequenceParameterSet
entries specified inpParametersAddInfo→pStdSPSs
are added tospsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265SequenceParameterSet
entry stored in it withsps_video_parameter_set_id
orsps_seq_parameter_set_id
not matching any of the entries already inspsAddList
is added tospsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then letStdVideoH265PictureParameterSet ppsAddList[]
be the list of H.265 PPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoDecodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265PictureParameterSet
entries specified inpParametersAddInfo→pStdPPSs
are added toppsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265PictureParameterSet
entry stored in it withsps_video_parameter_set_id
,pps_seq_parameter_set_id
, orpps_pic_parameter_set_id
not matching any of the entries already inppsAddList
is added toppsAddList
.
- If the
- If
videoSession
was created with an encode operation, then letuint32_t qualityLevel
be the video encode quality level of the created video session parameters object, defined as follows:- If the
pNext
chain of this structure includes a VkVideoEncodeQualityLevelInfoKHR structure, thenqualityLevel
is equal to VkVideoEncodeQualityLevelInfoKHR::qualityLevel
. - Otherwise
qualityLevel
is0
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
, then letStdVideoH264SequenceParameterSet spsAddList[]
be the list of H.264 SPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoEncodeH264SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH264SequenceParameterSet
entries specified inpParametersAddInfo→pStdSPSs
are added tospsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH264SequenceParameterSet
entry stored in it withseq_parameter_set_id
not matching any of the entries already inspsAddList
is added tospsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
, then letStdVideoH264PictureParameterSet ppsAddList[]
be the list of H.264 PPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoEncodeH264SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH264PictureParameterSet
entries specified inpParametersAddInfo→pStdPPSs
are added toppsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH264PictureParameterSet
entry stored in it withseq_parameter_set_id
orpic_parameter_set_id
not matching any of the entries already inppsAddList
is added toppsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then letStdVideoH265VideoParameterSet vpsAddList[]
be the list of H.265 VPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoEncodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265VideoParameterSet
entries specified inpParametersAddInfo→pStdVPSs
are added tovpsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265VideoParameterSet
entry stored in it withvps_video_parameter_set_id
not matching any of the entries already invpsAddList
is added tovpsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then letStdVideoH265SequenceParameterSet spsAddList[]
be the list of H.265 SPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoEncodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265SequenceParameterSet
entries specified inpParametersAddInfo→pStdSPSs
are added tospsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265SequenceParameterSet
entry stored in it withsps_video_parameter_set_id
orsps_seq_parameter_set_id
not matching any of the entries already inspsAddList
is added tospsAddList
.
- If the
- If
videoSession
was created with the codec operationVK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then letStdVideoH265PictureParameterSet ppsAddList[]
be the list of H.265 PPS entries to add to the created video session parameters object, defined as follows:- If the
pParametersAddInfo
member of the VkVideoEncodeH265SessionParametersCreateInfoKHR structure provided in thepNext
chain is notNULL
, then the set ofStdVideoH265PictureParameterSet
entries specified inpParametersAddInfo→pStdPPSs
are added toppsAddList
; - If
videoSessionParametersTemplate
is notVK_NULL_HANDLE
, then eachStdVideoH265PictureParameterSet
entry stored in it withsps_video_parameter_set_id
,pps_seq_parameter_set_id
, orpps_pic_parameter_set_id
not matching any of the entries already inppsAddList
is added toppsAddList
.
- If the
Valid Usage
VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-04855
If videoSessionParametersTemplate
is not VK_NULL_HANDLE
, it
must have been created against videoSession
VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-08310
If videoSessionParametersTemplate
is not VK_NULL_HANDLE
and
videoSession
was created with an encode operation, then
qualityLevel
must equal the video encode
quality level videoSessionParametersTemplate
was created with
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07203
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
, then the pNext
chain must include a
VkVideoDecodeH264SessionParametersCreateInfoKHR structure
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07204
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
, then the number of
elements of spsAddList
must be less than or equal to the
maxStdSPSCount
specified in the
VkVideoDecodeH264SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07205
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
, then the number of
elements of ppsAddList
must be less than or equal to the
maxStdPPSCount
specified in the
VkVideoDecodeH264SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07206
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then the pNext
chain must include a
VkVideoDecodeH265SessionParametersCreateInfoKHR structure
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07207
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then the number of
elements of vpsAddList
must be less than or equal to the
maxStdVPSCount
specified in the
VkVideoDecodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07208
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then the number of
elements of spsAddList
must be less than or equal to the
maxStdSPSCount
specified in the
VkVideoDecodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07209
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
, then the number of
elements of ppsAddList
must be less than or equal to the
maxStdPPSCount
specified in the
VkVideoDecodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-09258
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR
, then
videoSessionParametersTemplate
must be VK_NULL_HANDLE
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-09259
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR
, then the pNext
chain must include a
VkVideoDecodeAV1SessionParametersCreateInfoKHR structure
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07210
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
, then the pNext
chain must include a
VkVideoEncodeH264SessionParametersCreateInfoKHR structure
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04839
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
, then the number of
elements of spsAddList
must be less than or equal to the
maxStdSPSCount
specified in the
VkVideoEncodeH264SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04840
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR
, then the number of
elements of ppsAddList
must be less than or equal to the
maxStdPPSCount
specified in the
VkVideoEncodeH264SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-07211
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then the pNext
chain must include a
VkVideoEncodeH265SessionParametersCreateInfoKHR structure
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04841
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then the number of
elements of vpsAddList
must be less than or equal to the
maxStdVPSCount
specified in the
VkVideoEncodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04842
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then the number of
elements of spsAddList
must be less than or equal to the
maxStdSPSCount
specified in the
VkVideoEncodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-04843
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then the number of
elements of ppsAddList
must be less than or equal to the
maxStdPPSCount
specified in the
VkVideoEncodeH265SessionParametersCreateInfoKHR structure included
in the pNext
chain
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-08319
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then
num_tile_columns_minus1
must be less than
VkVideoEncodeH265CapabilitiesKHR::maxTiles.width
, as
returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video
profile videoSession
was created with, for each element of
ppsAddList
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-08320
If videoSession
was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR
, then
num_tile_rows_minus1
must be less than
VkVideoEncodeH265CapabilitiesKHR::maxTiles.height
, as
returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video
profile videoSession
was created with, for each element of
ppsAddList
Valid Usage (Implicit)
VUID-VkVideoSessionParametersCreateInfoKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR
VUID-VkVideoSessionParametersCreateInfoKHR-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 VkVideoDecodeAV1SessionParametersCreateInfoKHR, VkVideoDecodeH264SessionParametersCreateInfoKHR, VkVideoDecodeH265SessionParametersCreateInfoKHR, VkVideoEncodeH264SessionParametersCreateInfoKHR, VkVideoEncodeH265SessionParametersCreateInfoKHR, or VkVideoEncodeQualityLevelInfoKHR
VUID-VkVideoSessionParametersCreateInfoKHR-sType-unique
The sType
value of each struct in the pNext
chain must be unique
VUID-VkVideoSessionParametersCreateInfoKHR-flags-zerobitmask
flags
must be 0
VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-parameter
If videoSessionParametersTemplate
is not VK_NULL_HANDLE, videoSessionParametersTemplate
must be a valid VkVideoSessionParametersKHR handle
VUID-VkVideoSessionParametersCreateInfoKHR-videoSession-parameter
videoSession
must be a valid VkVideoSessionKHR handle
VUID-VkVideoSessionParametersCreateInfoKHR-videoSessionParametersTemplate-parent
If videoSessionParametersTemplate
is a valid handle, it must have been created, allocated, or retrieved from videoSession
VUID-VkVideoSessionParametersCreateInfoKHR-commonparent
Both of videoSession
, and videoSessionParametersTemplate
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice