Function Prototype

vkCmdEndVideoCodingKHR

End video coding scope

To end a video coding scope, call:

void vkCmdEndVideoCodingKHR(
    VkCommandBuffer commandBuffer,
    const VkVideoEndCodingInfoKHR* pEndCodingInfo);
  • commandBuffer is the command buffer in which to record the command.
  • pEndCodingInfo is a pointer to a VkVideoEndCodingInfoKHR structure specifying the parameters for ending the video coding scope.

After ending a video coding scope, the video session object, the optional video session parameters object, and all reference picture resources previously bound by the corresponding vkCmdBeginVideoCodingKHR command are unbound.

Valid Usage

Valid Usage (Implicit)

VUID-vkCmdEndVideoCodingKHR-pEndCodingInfo-parameter

pEndCodingInfo must be a valid pointer to a valid VkVideoEndCodingInfoKHR structure

VUID-vkCmdEndVideoCodingKHR-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_VIDEO_DECODE_BIT_KHR, or VK_QUEUE_VIDEO_ENCODE_BIT_KHR operations

VUID-vkCmdEndVideoCodingKHR-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdEndVideoCodingKHR-suspended

This command must not be called between suspended render pass instances

VUID-vkCmdEndVideoCodingKHR-videocoding

This command must only be called inside of a video coding scope

VUID-vkCmdEndVideoCodingKHR-bufferlevel

commandBuffer must be a primary VkCommandBuffer

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized