Extension and Version Dependencies
-
Requires support for Vulkan 1.0
-
Requires
VK_KHR_video_encode_queue
to be enabled for any device-level functionality -
This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
Contact
-
Ahmed Abdelkhalek aabdelkh
Other Extension Metadata
- Last Modified Date
-
2022-07-18
- IP Status
-
No known IP claims.
- Contributors
-
-
Ahmed Abdelkhalek, AMD
-
George Hao, AMD
-
Jake Beju, AMD
-
Peter Fang, AMD
-
Ping Liu, Intel
-
Srinath Kumarapuram, NVIDIA
-
Tony Zlatinski, NVIDIA
-
Yang Liu, AMD
-
Daniel Rakos, RasterGrid
-
Description
This extension builds upon the VK_KHR_video_encode_queue
extension
by adding support for encoding elementary video stream sequences compliant
with the H.264/AVC video compression standard.
New Structures
-
Extending VkVideoCapabilitiesKHR:
-
Extending VkVideoCodingControlInfoKHR:
-
Extending VkVideoCodingControlInfoKHR, VkVideoEncodeRateControlLayerInfoKHR:
-
Extending VkVideoEncodeInfoKHR:
-
Extending VkVideoProfileInfoKHR, VkQueryPoolCreateInfo:
-
Extending VkVideoSessionParametersCreateInfoKHR:
-
Extending VkVideoSessionParametersUpdateInfoKHR:
New Enum Constants
-
VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME
-
VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT
-
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT
-
-
Extending VkVideoCodecOperationFlagBitsKHR:
-
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT
-
Version History
-
Revision 0, 2018-7-23 (Ahmed Abdelkhalek)
-
Initial draft
-
-
Revision 0.5, 2020-02-13 (Tony Zlatinski)
-
General Spec cleanup
-
Added DPB structures
-
Change the VCL frame encode structure
-
Added a common Non-VCL Picture Paramarameters structure
-
-
Revision 1, 2021-03-29 (Tony Zlatinski)
-
Spec and API updates
-
-
Revision 2, August 1 2021 (Srinath Kumarapuram)
-
Rename
VkVideoEncodeH264CapabilitiesFlagsEXT
toVkVideoEncodeH264CapabilityFlagsEXT
andVkVideoEncodeH264CapabilitiesFlagsEXT
toVkVideoEncodeH264CapabilityFlagsEXT
, following Vulkan naming conventions.
-
-
Revision 3, 2021-12-08 (Ahmed Abdelkhalek)
-
Rate control updates
-
-
Revision 4, 2022-02-04 (Ahmed Abdelkhalek)
-
Align VkVideoEncodeH264VclFrameInfoEXT structure to similar one in VK_EXT_video_encode_h265 extension
-
-
Revision 5, 2022-02-10 (Ahmed Abdelkhalek)
-
Updates to encode capability interface
-
-
Revision 6, 2022-03-16 (Ahmed Abdelkhalek)
-
Relocate Std header version reporting/requesting from this extension to VK_KHR_video_queue extension.
-
Remove redundant maxPictureSizeInMbs from VkVideoEncodeH264SessionCreateInfoEXT.
-
Remove the now empty VkVideoEncodeH264SessionCreateInfoEXT.
-
-
Revision 7, 2022-04-06 (Ahmed Abdelkhalek)
-
Add capability flag to report support to use B frame in L1 reference list.
-
Add capability flag to report support for disabling SPS direct_8x8_inference_flag.
-
-
Revision 8, 2022-07-18 (Daniel Rakos)
-
Replace
VkVideoEncodeH264RateControlStructureFlagBitsEXT
bit enum withVkVideoEncodeH264RateControlStructureEXT
enum -
Rename
VkVideoEncodeH264ProfileEXT
toVkVideoEncodeH264ProfileInfoEXT
-
Rename
VkVideoEncodeH264ReferenceListsEXT
toVkVideoEncodeH264ReferenceListsInfoEXT
-
Rename
VkVideoEncodeH264EmitPictureParametersEXT
toVkVideoEncodeH264EmitPictureParametersInfoEXT
-
Rename
VkVideoEncodeH264NaluSliceEXT
toVkVideoEncodeH264NaluSliceInfoEXT
-
See Also
VkVideoEncodeH264CapabilitiesEXT, VkVideoEncodeH264CapabilityFlagBitsEXT, VkVideoEncodeH264CapabilityFlagsEXT, VkVideoEncodeH264DpbSlotInfoEXT, VkVideoEncodeH264EmitPictureParametersInfoEXT, VkVideoEncodeH264FrameSizeEXT, VkVideoEncodeH264InputModeFlagBitsEXT, VkVideoEncodeH264InputModeFlagsEXT, VkVideoEncodeH264NaluSliceInfoEXT, VkVideoEncodeH264OutputModeFlagBitsEXT, VkVideoEncodeH264OutputModeFlagsEXT, VkVideoEncodeH264ProfileInfoEXT, VkVideoEncodeH264QpEXT, VkVideoEncodeH264RateControlInfoEXT, VkVideoEncodeH264RateControlLayerInfoEXT, VkVideoEncodeH264RateControlStructureEXT, VkVideoEncodeH264ReferenceListsInfoEXT, VkVideoEncodeH264SessionParametersAddInfoEXT, VkVideoEncodeH264SessionParametersCreateInfoEXT, VkVideoEncodeH264VclFrameInfoEXT
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.