vkUpdateVideoSessionParametersKHR
To update video session parameters object with new parameters, call:
VkResult vkUpdateVideoSessionParametersKHR(
VkDevice device,
VkVideoSessionParametersKHR videoSessionParameters,
const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
deviceis the logical device that updates the video session parameters.videoSessionParametersis the video session parameters object to update.pUpdateInfois a pointer to a VkVideoSessionParametersUpdateInfoKHR structure specifying the parameter update information.
After a successful call to this command, the
update sequence counter of
videoSessionParameters is changed to the value specified in
pUpdateInfo→updateSequenceCount.
As each update issued to a video session parameters object needs to specify the next available update sequence count value, concurrent updates of the same video session parameters object are inherently disallowed. However, recording video coding operations to command buffers referring to parameters previously added to the video session parameters object is allowed, even if there is a concurrent update in progress adding some new entries to the object.
If videoSessionParameters was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR and the
pUpdateInfo→pNext chain includes a
VkVideoDecodeH264SessionParametersAddInfoKHR structure, then this
command adds the following parameter entries to
videoSessionParameters:
- The H.264 SPS entries specified in
VkVideoDecodeH264SessionParametersAddInfoKHR::
pStdSPSs. - The H.264 PPS entries specified in
VkVideoDecodeH264SessionParametersAddInfoKHR::
pStdPPSs.
If videoSessionParameters was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR and the
pUpdateInfo→pNext chain includes a
VkVideoDecodeH265SessionParametersAddInfoKHR structure, then this
command adds the following parameter entries to
videoSessionParameters:
- The H.265 VPS entries specified in
VkVideoDecodeH265SessionParametersAddInfoKHR::
pStdVPSs. - The H.265 SPS entries specified in
VkVideoDecodeH265SessionParametersAddInfoKHR::
pStdSPSs. - The H.265 PPS entries specified in
VkVideoDecodeH265SessionParametersAddInfoKHR::
pStdPPSs.
If videoSessionParameters was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR and the
pUpdateInfo→pNext chain includes a
VkVideoEncodeH264SessionParametersAddInfoKHR structure, then this
command adds the following parameter entries to
videoSessionParameters:
- The H.264 SPS entries specified in
VkVideoEncodeH264SessionParametersAddInfoKHR::
pStdSPSs. - The H.264 PPS entries specified in
VkVideoEncodeH264SessionParametersAddInfoKHR::
pStdPPSs.
If videoSessionParameters was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pUpdateInfo→pNext chain includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then this
command adds the following parameter entries to
videoSessionParameters:
- The H.265 VPS entries specified in
VkVideoEncodeH265SessionParametersAddInfoKHR::
pStdVPSs. - The H.265 SPS entries specified in
VkVideoEncodeH265SessionParametersAddInfoKHR::
pStdSPSs. - The H.265 PPS entries specified in
VkVideoEncodeH265SessionParametersAddInfoKHR::
pStdPPSs.
In case of video session parameters objects created with a video encode
operation, implementations may return the
VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR error if any of the
specified Video Std parameters do not adhere to the syntactic or semantic
requirements of the used video compression standard, or if values derived
from parameters according to the rules defined by the used video compression
standard do not adhere to the capabilities of the video compression standard
or the implementation.
Applications should not rely on the
VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR error being returned by any
command as a means to verify Video Std parameters, as implementations are
not required to report the error in any specific set of cases.
Valid Usage
VUID-vkUpdateVideoSessionParametersKHR-pUpdateInfo-07215
pUpdateInfo→updateSequenceCount must equal the current
update sequence counter of
videoSessionParameters plus one
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07216
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoDecodeH264SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH264SequenceParameterSet entry with
seq_parameter_set_id matching any of the elements of
VkVideoDecodeH264SessionParametersAddInfoKHR::pStdSPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07217
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, then the
number of StdVideoH264SequenceParameterSet entries already stored
in it plus the value of the stdSPSCount member of the
VkVideoDecodeH264SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoDecodeH264SessionParametersCreateInfoKHR::maxStdSPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07218
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoDecodeH264SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH264PictureParameterSet entry with both
seq_parameter_set_id and pic_parameter_set_id matching any
of the elements of
VkVideoDecodeH264SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07219
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, then the
number of StdVideoH264PictureParameterSet entries already stored in
it plus the value of the stdPPSCount member of the
VkVideoDecodeH264SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoDecodeH264SessionParametersCreateInfoKHR::maxStdPPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07220
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoDecodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265VideoParameterSet entry with
vps_video_parameter_set_id matching any of the elements of
VkVideoDecodeH265SessionParametersAddInfoKHR::pStdVPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07221
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then the
number of StdVideoH265VideoParameterSet entries already stored in
it plus the value of the stdVPSCount member of the
VkVideoDecodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoDecodeH265SessionParametersCreateInfoKHR::maxStdVPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07222
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoDecodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265SequenceParameterSet entry with both
sps_video_parameter_set_id and sps_seq_parameter_set_id
matching any of the elements of
VkVideoDecodeH265SessionParametersAddInfoKHR::pStdSPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07223
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then the
number of StdVideoH265SequenceParameterSet entries already stored
in it plus the value of the stdSPSCount member of the
VkVideoDecodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoDecodeH265SessionParametersCreateInfoKHR::maxStdSPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07224
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoDecodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265PictureParameterSet entry with
sps_video_parameter_set_id, pps_seq_parameter_set_id, and
pps_pic_parameter_set_id all matching any of the elements of
VkVideoDecodeH265SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07225
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then the
number of StdVideoH265PictureParameterSet entries already stored in
it plus the value of the stdPPSCount member of the
VkVideoDecodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoDecodeH265SessionParametersCreateInfoKHR::maxStdPPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-09260
videoSessionParameters must not have been created with the video
codec operation VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07226
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH264SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH264SequenceParameterSet entry with
seq_parameter_set_id matching any of the elements of
VkVideoEncodeH264SessionParametersAddInfoKHR::pStdSPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06441
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, then the
number of StdVideoH264SequenceParameterSet entries already stored
in it plus the value of the stdSPSCount member of the
VkVideoEncodeH264SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoEncodeH264SessionParametersCreateInfoKHR::maxStdSPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07227
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH264SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH264PictureParameterSet entry with both
seq_parameter_set_id and pic_parameter_set_id matching any
of the elements of
VkVideoEncodeH264SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06442
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, then the
number of StdVideoH264PictureParameterSet entries already stored in
it plus the value of the stdPPSCount member of the
VkVideoEncodeH264SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoEncodeH264SessionParametersCreateInfoKHR::maxStdPPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07228
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265VideoParameterSet entry with
vps_video_parameter_set_id matching any of the elements of
VkVideoEncodeH265SessionParametersAddInfoKHR::pStdVPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06443
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then the
number of StdVideoH265VideoParameterSet entries already stored in
it plus the value of the stdVPSCount member of the
VkVideoEncodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoEncodeH265SessionParametersCreateInfoKHR::maxStdVPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07229
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265SequenceParameterSet entry with both
sps_video_parameter_set_id and sps_seq_parameter_set_id
matching any of the elements of
VkVideoEncodeH265SessionParametersAddInfoKHR::pStdSPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06444
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then the
number of StdVideoH265SequenceParameterSet entries already stored
in it plus the value of the stdSPSCount member of the
VkVideoEncodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoEncodeH265SessionParametersCreateInfoKHR::maxStdSPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-07230
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then
videoSessionParameters must not already contain a
StdVideoH265PictureParameterSet entry with
sps_video_parameter_set_id, pps_seq_parameter_set_id, and
pps_pic_parameter_set_id all matching any of the elements of
VkVideoEncodeH265SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-06445
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then the
number of StdVideoH265PictureParameterSet entries already stored in
it plus the value of the stdPPSCount member of the
VkVideoEncodeH265SessionParametersAddInfoKHR structure included in
the pUpdateInfo→pNext chain must be less than or equal to the
VkVideoEncodeH265SessionParametersCreateInfoKHR::maxStdPPSCount
videoSessionParameters was created with
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-08321
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then
num_tile_columns_minus1 must be less than
VkVideoEncodeH265CapabilitiesKHR::maxTiles.width, as
returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video
profile videoSessionParameters was created with, for each element
of VkVideoEncodeH265SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-08322
If videoSessionParameters was created with the video codec
operation VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR and the
pNext chain of pUpdateInfo includes a
VkVideoEncodeH265SessionParametersAddInfoKHR structure, then
num_tile_rows_minus1 must be less than
VkVideoEncodeH265CapabilitiesKHR::maxTiles.height, as
returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the video
profile videoSessionParameters was created with, for each element
of VkVideoEncodeH265SessionParametersAddInfoKHR::pStdPPSs
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-10281
videoSessionParameters must not have been created with the video
codec operation VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR
Valid Usage (Implicit)
VUID-vkUpdateVideoSessionParametersKHR-device-parameter
device must be a valid VkDevice handle
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-parameter
videoSessionParameters must be a valid VkVideoSessionParametersKHR handle
VUID-vkUpdateVideoSessionParametersKHR-pUpdateInfo-parameter
pUpdateInfo must be a valid pointer to a valid VkVideoSessionParametersUpdateInfoKHR structure
VUID-vkUpdateVideoSessionParametersKHR-videoSessionParameters-parent
videoSessionParameters must have been created, allocated, or retrieved from device