VK_KHR_video_decode_queue
Other Extension Metadata
Last Modified Date
2023-12-05
IP Status
No known IP claims.
Contributors
- Ahmed Abdelkhalek, AMD
- Jake Beju, AMD
- Olivier Lapicque, NVIDIA
- Peter Fang, AMD
- Piers Daniell, NVIDIA
- Srinath Kumarapuram, NVIDIA
- Tony Zlatinski, NVIDIA
- Daniel Rakos, RasterGrid
Description
This extension builds upon the VK_KHR_video_queue extension by adding common APIs specific to video decoding and thus enabling implementations to expose queue families supporting video decode operations.
More specifically, it adds video decode specific capabilities and a new command buffer command that allows recording video decode operations against a video session.
This extension is to be used in conjunction with other codec specific video decode extensions that enable decoding video sequences of specific video compression standards.
New Commands
New Structures
- VkVideoDecodeInfoKHR
- Extending VkVideoCapabilitiesKHR:
- Extending VkVideoProfileInfoKHR, VkQueryPoolCreateInfo:
New Enums
New Bitmasks
New Enum Constants
VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME
VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION
- Extending VkAccessFlagBits2:
VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR
VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR
- Extending VkBufferUsageFlagBits:
VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR
VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR
- Extending VkFormatFeatureFlagBits:
VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR
VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR
- Extending VkImageLayout:
VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR
VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR
VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR
- Extending VkImageUsageFlagBits:
VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
- Extending VkPipelineStageFlagBits2:
VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
- Extending VkQueueFlagBits:
VK_QUEUE_VIDEO_DECODE_BIT_KHR
- Extending VkStructureType:
VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR
VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR
VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR
If VK_KHR_format_feature_flags2 or Vulkan Version 1.3 is supported:
- Extending VkFormatFeatureFlagBits2:
VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR
VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR
Version History
- Revision 1, 2018-6-11 (Peter Fang)
- Initial draft
- Revision 1.5, Nov 09 2018 (Tony Zlatinski)
- API Updates
- Revision 1.6, Jan 08 2020 (Tony Zlatinski)
- API unify with the video_encode_queue spec
- Revision 1.7, March 29 2021 (Tony Zlatinski)
- Spec and API updates.
- Revision 2, September 30 2021 (Jon Leech)
- Add interaction with VK_KHR_format_feature_flags2 to
vk.xml
- Add interaction with VK_KHR_format_feature_flags2 to
- Revision 3, 2022-02-25 (Ahmed Abdelkhalek)
- Add VkVideoDecodeCapabilitiesKHR with new flags to report support for decode DPB and output coinciding in the same image, or in distinct images.
- Revision 4, 2022-03-31 (Ahmed Abdelkhalek)
- Remove redundant VkVideoDecodeInfoKHR.coded{Offset|Extent}
- Revision 5, 2022-07-18 (Daniel Rakos)
- Remove
VkVideoDecodeFlagBitsKHR
as it contains no defined flags for now
- Remove
- Revision 6, 2022-08-12 (Daniel Rakos)
- Add VkVideoDecodeUsageInfoKHR structure and related flags
- Revision 7, 2022-09-29 (Daniel Rakos)
- Extension is no longer provisional
- Revision 8, 2023-12-05 (Daniel Rakos)
- Require the specification of a reconstructed picture in all cases, except when the video session was created with no DPB slots to match shipping implementations
- Make DPB slot activation behavior codec-specific to continue allowing application control over reference picture setup now that a reconstructed picture is always mandatory