vkUpdateVideoSessionParametersKHR
To update video session parameters object with new parameters, call:
VkResult vkUpdateVideoSessionParametersKHR(
VkDevice device,
VkVideoSessionParametersKHR videoSessionParameters,
const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
device
is the logical device that updates the video session parameters.videoSessionParameters
is the video session parameters object to update.pUpdateInfo
is 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
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