• 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_decode_h264.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2023-12-05
11*IP Status*::
12    No known IP claims.
13*Contributors*::
14  - Ahmed Abdelkhalek, AMD
15  - Chunbo Chen, Intel
16  - HoHin Lau, AMD
17  - Jake Beju, AMD
18  - Peter Fang, AMD
19  - Ping Liu, Intel
20  - Srinath Kumarapuram, NVIDIA
21  - Tony Zlatinski, NVIDIA
22  - Daniel Rakos, RasterGrid
23
24=== Description
25
26This extension builds upon the `apiext:VK_KHR_video_decode_queue` extension
27by adding support for decoding elementary video stream sequences compliant
28with the H.264/AVC video compression standard.
29
30[NOTE]
31.Note
32====
33This extension was promoted to `KHR` from the provisional extension
34`VK_EXT_video_decode_h264`.
35====
36
37include::{generated}/interfaces/VK_KHR_video_decode_h264.adoc[]
38
39=== Version History
40
41  * Revision 1, 2018-6-11 (Peter Fang)
42  ** Initial draft
43  * Revision 2, March 29 2021 (Tony Zlatinski)
44  ** Spec and API Updates
45  * Revision 3, August 1 2021 (Srinath Kumarapuram)
46  ** Rename `VkVideoDecodeH264FieldLayoutFlagsEXT` to
47     `VkVideoDecodeH264PictureLayoutFlagsEXT`,
48     `VkVideoDecodeH264FieldLayoutFlagBitsEXT` to
49     `VkVideoDecodeH264PictureLayoutFlagBitsEXT` (along with the names of
50     enumerants it defines), and `VkVideoDecodeH264ProfileEXT.fieldLayout`
51     to `VkVideoDecodeH264ProfileEXT.pictureLayout`, following Vulkan naming
52     conventions.
53  * Revision 4, 2022-03-16 (Ahmed Abdelkhalek)
54  ** Relocate Std header version reporting/requesting from this extension to
55     VK_KHR_video_queue extension.
56  ** Remove the now empty VkVideoDecodeH264SessionCreateInfoEXT.
57  * Revision 5, 2022-03-31 (Ahmed Abdelkhalek)
58  ** Use type StdVideoH264Level for VkVideoDecodeH264Capabilities.maxLevel
59  * Revision 6, 2022-08-09 (Daniel Rakos)
60  ** Rename `VkVideoDecodeH264ProfileEXT` to
61     `VkVideoDecodeH264ProfileInfoEXT`
62  ** Rename `VkVideoDecodeH264MvcEXT` to `VkVideoDecodeH264MvcInfoEXT`
63  * Revision 7, 2022-09-18 (Daniel Rakos)
64  ** Change type of `VkVideoDecodeH264ProfileInfoEXT::pictureLayout` to
65     `VkVideoDecodeH264PictureLayoutFlagBitsEXT`
66  ** Remove MVC support and related `VkVideoDecodeH264MvcInfoEXT` structure
67  ** Rename `spsStdCount`, `pSpsStd`, `ppsStdCount`, and `pPpsStd` to
68     `stdSPSCount`, `pStdSPSs`, `stdPPSCount`, and `pStdPPSs`, respectively,
69     in `VkVideoDecodeH264SessionParametersAddInfoEXT`
70  ** Rename `maxSpsStdCount` and `maxPpsStdCount` to `maxStdSPSCount` and
71     `maxStdPPSCount`, respectively, in
72     `VkVideoDecodeH264SessionParametersCreateInfoEXT`
73  ** Rename `slicesCount` and `pSlicesDataOffsets` to `sliceCount` and
74     `pSliceOffsets`, respectively, in `VkVideoDecodeH264PictureInfoEXT`
75  * Revision 8, 2022-09-29 (Daniel Rakos)
76  ** Change extension from `EXT` to `KHR`
77  ** Extension is no longer provisional
78  * Revision 9, 2023-12-05 (Daniel Rakos)
79  ** Condition reference picture setup based on the value of
80     `StdVideoDecodeH264PictureInfo::flags.is_reference`
81