1// Copyright 2018-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_KHR_video_queue.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2022-09-29 11*IP Status*:: 12 No known IP claims. 13*Contributors*:: 14 - Ahmed Abdelkhalek, AMD 15 - George Hao, AMD 16 - Jake Beju, AMD 17 - Piers Daniell, NVIDIA 18 - Srinath Kumarapuram, NVIDIA 19 - Tobias Hector, AMD 20 - Tony Zlatinski, NVIDIA 21 - Daniel Rakos, RasterGrid 22 23=== Description 24 25This extension provides common APIs to enable exposing queue families with 26support for video codec operations by introducing the following new object 27types and related functionalities: 28 29 * Video session objects that represent and maintain the state needed to 30 perform video codec operations. 31 * Video session parameters objects that act as a container for codec 32 specific parameters. 33 34In addition, it also introduces query commands that allow applications to 35determine video coding related capabilities, and command buffer commands 36that enable recording video coding operations against a video session. 37 38This extension is to be used in conjunction with other extensions that 39enable specific video coding operations. 40 41include::{generated}/interfaces/VK_KHR_video_queue.adoc[] 42 43=== Version History 44 45 * Revision 0.1, 2019-11-21 (Tony Zlatinski) 46 ** Initial draft 47 * Revision 0.2, 2019-11-27 (Tony Zlatinski) 48 ** Make vulkan video core common between decode and encode 49 * Revision 1, March 29 2021 (Tony Zlatinski) 50 ** Spec and API updates. 51 * Revision 2, August 1 2021 (Srinath Kumarapuram) 52 ** Rename `VkVideoCapabilitiesFlagBitsKHR` to 53 `VkVideoCapabilityFlagBitsKHR` (along with the names of enumerants it 54 defines) and `VkVideoCapabilitiesFlagsKHR` to 55 `VkVideoCapabilityFlagsKHR`, following Vulkan naming conventions. 56 * Revision 3, 2022-03-16 (Ahmed Abdelkhalek) 57 ** Relocate Std header version reporting/requesting from codec-operation 58 specific extensions to this extension. 59 ** Make Std header versions codec-operation specific instead of only 60 codec-specific. 61 * Revision 4, 2022-05-30 (Daniel Rakos) 62 ** Refactor the video format query APIs and related language 63 ** Extend VkResult with video-specific error codes 64 * Revision 5, 2022-08-11 (Daniel Rakos) 65 ** Add `VkVideoSessionParametersCreateFlagsKHR` 66 ** Remove `VkVideoCodingQualityPresetFlagsKHR` 67 ** Rename `VkQueueFamilyQueryResultStatusProperties2KHR` to 68 `VkQueueFamilyQueryResultStatusPropertiesKHR` 69 ** Rename `VkVideoQueueFamilyProperties2KHR` to 70 `VkQueueFamilyVideoPropertiesKHR` 71 ** Rename `VkVideoProfileKHR` to `VkVideoProfileInfoKHR` 72 ** Rename `VkVideoProfilesKHR` to `VkVideoProfileListInfoKHR` 73 ** Rename `VkVideoGetMemoryPropertiesKHR` to 74 `VkVideoSessionMemoryRequirementsKHR` 75 ** Rename `VkVideoBindMemoryKHR` to `VkBindVideoSessionMemoryInfoKHR` 76 ** Fix `pNext` constness of `VkPhysicalDeviceVideoFormatInfoKHR` and 77 `VkVideoSessionMemoryRequirementsKHR` 78 ** Fix incorrectly named value enums in bit enum types 79 `VkVideoCodecOperationFlagBitsKHR` and 80 `VkVideoChromaSubsamplingFlagBitsKHR` 81 ** Remove unnecessary default values from 82 `VkVideoSessionCreateFlagBitsKHR` and `VkVideoCodingControlFlagBitsKHR` 83 ** Eliminate nested pointer in `VkVideoSessionMemoryRequirementsKHR` 84 ** Rename `VkVideoPictureResourceKHR` to `VkVideoPictureResourceInfoKHR` 85 ** Rename `VkVideoReferenceSlotKHR` to `VkVideoReferenceSlotInfoKHR` 86 * Revision 6, 2022-09-18 (Daniel Rakos) 87 ** Rename the `maxReferencePicturesSlotsCount` and 88 `maxReferencePicturesActiveCount` fields of `VkVideoCapabilitiesKHR` 89 and `VkVideoSessionCreateInfoKHR` to `maxDpbSlots` and 90 `maxActiveReferencePictures`, respectively, to clarify their meaning 91 ** Rename `capabilityFlags` to `flags` in `VkVideoCapabilitiesKHR` 92 ** Rename `videoPictureExtentGranularity` to `pictureAccessGranularity` in 93 `VkVideoCapabilitiesKHR` 94 ** Rename `minExtent` and `maxExtent` to `minCodedExtent` and 95 `maxCodedExtent`, respectively, in `VkVideoCapabilitiesKHR` 96 ** Rename `referencePicturesFormat` to `referencePictureFormat` in 97 `VkVideoSessionCreateInfoKHR` 98 * Revision 7, 2022-09-26 (Daniel Rakos) 99 ** Change type of `VkVideoReferenceSlotInfoKHR::slotIndex` from `int8_t` 100 to `int32_t` 101 * Revision 8, 2022-09-29 (Daniel Rakos) 102 ** Extension is no longer provisional 103