VK_KHR_video_encode_quantization_map(3)

Name

VK_KHR_video_encode_quantization_map - device extension

VK_KHR_video_encode_quantization_map

Name String

VK_KHR_video_encode_quantization_map

Extension Type

Device extension

Registered Extension Number

554

Revision

2

Ratification Status

Ratified

Extension and Version Dependencies
API Interactions
  • Interacts with VK_KHR_video_encode_av1

  • Interacts with VK_KHR_video_encode_h264

  • Interacts with VK_KHR_video_encode_h265

Contact
Extension Proposal

VK_KHR_video_encode_quantization_map

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 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:

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

See Also

No cross-references are available

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.