• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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