API Interactions
- 
Interacts with VK_KHR_video_encode_av1 
- 
Interacts with VK_KHR_video_encode_h264 
- 
Interacts with VK_KHR_video_encode_h265 
Contact
- 
Ahmed Abdelkhalek [GitHub]aabdelkh 
Other Extension Metadata
- Last Modified Date
- 
2024-09-23 
- IP Status
- 
No known IP claims. 
- Contributors
- 
- 
Ahmed Abdelkhalek, AMD 
- 
Benjamin Cheng, AMD 
- 
Srinath Kumarapuram, NVIDIA 
- 
Tony Zlatinski, NVIDIA 
- 
Ping Liu, Intel 
- 
Daniel Rakos, RasterGrid 
- 
Lynne Iribarren, Independent 
 
- 
Description
This extension builds upon the VK_KHR_video_encode_queue extension
by enabling fine grained control of codec-specific quantization parameters
in video encode operations.
More specifically, it adds support for quantization maps:
- 
Quantization delta maps to directly control the relative value of quantization parameter values on a per-block basis for all rate control modes (including when rate control is disabled). 
- 
Emphasis maps to indirectly control the relative quantization parameter values on a per-block basis when rate control is not disabled and the rate control mode is not configured to the implementation-defined default mode. 
This extension is to be used in conjunction with other codec specific video encode extensions that specify the codec specific quantization parameters these maps control.
New Structures
- 
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo: 
- 
Extending VkVideoCapabilitiesKHR: 
- 
Extending VkVideoEncodeInfoKHR: 
- 
Extending VkVideoFormatPropertiesKHR: 
- 
Extending VkVideoSessionParametersCreateInfoKHR: 
If VK_KHR_video_encode_av1 is supported:
- 
Extending VkVideoCapabilitiesKHR: 
- 
Extending VkVideoFormatPropertiesKHR: 
If VK_KHR_video_encode_h264 is supported:
If VK_KHR_video_encode_h265 is supported:
New Enum Constants
- 
VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME
- 
VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION
- 
Extending VkFormatFeatureFlagBits2: - 
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR
- 
VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR
 
- 
- 
Extending VkImageLayout: - 
VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR
 
- 
- 
Extending VkImageUsageFlagBits: - 
VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR
- 
VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR
 
- 
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR
 
- 
- 
Extending VkVideoEncodeCapabilityFlagBitsKHR: - 
VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR
- 
VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR
 
- 
- 
Extending VkVideoEncodeFlagBitsKHR: - 
VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR
- 
VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR
 
- 
- 
Extending VkVideoSessionCreateFlagBitsKHR: - 
VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR
- 
VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR
 
- 
- 
Extending VkVideoSessionParametersCreateFlagBitsKHR: - 
VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR
 
- 
If VK_KHR_video_encode_av1 is supported:
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR
 
- 
If VK_KHR_video_encode_h264 is supported:
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR
 
- 
- 
Extending VkVideoEncodeH264CapabilityFlagBitsKHR: - 
VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR
 
- 
If VK_KHR_video_encode_h265 is supported:
- 
Extending VkStructureType: - 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR
- 
VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR
 
- 
- 
Extending VkVideoEncodeH265CapabilityFlagBitsKHR: - 
VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR
 
- 
Version History
- 
Revision 1, 2024-08-21 (Daniel Rakos) - 
Internal revisions 
 
- 
- 
Revision 2, 2024-09-23 (Daniel Rakos) - 
Added interactions with VK_KHR_video_encode_av1 
 
- 
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.