• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2018-2022 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_video_encode_h264.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2022-09-18
11*IP Status*::
12    No known IP claims.
13*Contributors*::
14  - Ahmed Abdelkhalek, AMD
15  - George Hao, AMD
16  - Jake Beju, AMD
17  - Peter Fang, AMD
18  - Ping Liu, Intel
19  - Srinath Kumarapuram, NVIDIA
20  - Tony Zlatinski, NVIDIA
21  - Yang Liu, AMD
22  - Daniel Rakos, RasterGrid
23
24=== Description
25
26This extension builds upon the `apiext:VK_KHR_video_encode_queue` extension
27by adding support for encoding elementary video stream sequences compliant
28with the H.264/AVC video compression standard.
29
30include::{generated}/interfaces/VK_EXT_video_encode_h264.adoc[]
31
32=== Version History
33
34  * Revision 0, 2018-7-23 (Ahmed Abdelkhalek)
35  ** Initial draft
36  * Revision 0.5, 2020-02-13 (Tony Zlatinski)
37  ** General Spec cleanup
38  ** Added DPB structures
39  ** Change the VCL frame encode structure
40  ** Added a common Non-VCL Picture Paramarameters structure
41  * Revision 1, 2021-03-29 (Tony Zlatinski)
42  ** Spec and API updates
43  * Revision 2, August 1 2021 (Srinath Kumarapuram)
44  ** Rename `VkVideoEncodeH264CapabilitiesFlagsEXT` to
45     `VkVideoEncodeH264CapabilityFlagsEXT` and
46     `VkVideoEncodeH264CapabilitiesFlagsEXT` to
47     `VkVideoEncodeH264CapabilityFlagsEXT`, following Vulkan naming
48     conventions.
49  * Revision 3, 2021-12-08 (Ahmed Abdelkhalek)
50  ** Rate control updates
51  * Revision 4, 2022-02-04 (Ahmed Abdelkhalek)
52  ** Align VkVideoEncodeH264VclFrameInfoEXT structure to similar one in
53     VK_EXT_video_encode_h265 extension
54  * Revision 5, 2022-02-10 (Ahmed Abdelkhalek)
55  ** Updates to encode capability interface
56  * Revision 6, 2022-03-16 (Ahmed Abdelkhalek)
57  ** Relocate Std header version reporting/requesting from this extension to
58     VK_KHR_video_queue extension.
59  ** Remove redundant maxPictureSizeInMbs from
60     VkVideoEncodeH264SessionCreateInfoEXT.
61  ** Remove the now empty VkVideoEncodeH264SessionCreateInfoEXT.
62  * Revision 7, 2022-04-06 (Ahmed Abdelkhalek)
63  ** Add capability flag to report support to use B frame in L1 reference
64     list.
65  ** Add capability flag to report support for disabling SPS
66     direct_8x8_inference_flag.
67  * Revision 8, 2022-07-18 (Daniel Rakos)
68  ** Replace `VkVideoEncodeH264RateControlStructureFlagBitsEXT` bit enum
69     with `VkVideoEncodeH264RateControlStructureEXT` enum
70  ** Rename `VkVideoEncodeH264ProfileEXT` to
71     `VkVideoEncodeH264ProfileInfoEXT`
72  ** Rename `VkVideoEncodeH264ReferenceListsEXT` to
73     `VkVideoEncodeH264ReferenceListsInfoEXT`
74  ** Rename `VkVideoEncodeH264EmitPictureParametersEXT` to
75     `VkVideoEncodeH264EmitPictureParametersInfoEXT`
76  ** Rename `VkVideoEncodeH264NaluSliceEXT` to
77     `VkVideoEncodeH264NaluSliceInfoEXT`
78  * Revision 9, 2022-09-18 (Daniel Rakos)
79  ** Rename `spsStdCount`, `pSpsStd`, `ppsStdCount`, and `pPpsStd` to
80     `stdSPSCount`, `pStdSPSs`, `stdPPSCount`, and `pStdPPSs`, respectively,
81     in `VkVideoEncodeH264SessionParametersAddInfoEXT`
82  ** Rename `maxSpsStdCount` and `maxPpsStdCount` to `maxStdSPSCount` and
83     `maxStdPPSCount`, respectively, in
84     `VkVideoEncodeH264SessionParametersCreateInfoEXT`
85