VK_EXT_video_decode_h264(3)

# VK_EXT_video_decode_h264(3) Manual Page

## Name

VK_EXT_video_decode_h264 - device extension

Loading… please wait.

## Registered Extension Number

41

## Revision

7

## Extension and Version Dependencies

- Requires support for Vulkan 1.0

- Requires `VK_KHR_video_decode_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

- peter.fang@amd.com

## Other Extension Metadata

Last Modified Date

  2022-09-18

IP Status

  No known IP claims.

Contributors

  - Ahmed Abdelkhalek, AMD

  - Chunbo Chen, Intel

  - HoHin Lau, AMD

  - Jake Beju, AMD

  - Peter Fang, AMD

  - Ping Liu, Intel

  - Srinath Kumarapuram, NVIDIA

  - Tony Zlatinski, NVIDIA

  - Daniel Rakos, RasterGrid

## Description

This extension builds upon the `VK_KHR_video_decode_queue` extension by adding support for decoding elementary video stream sequences compliant with the H.264/AVC video compression standard.

## New Structures

- Extending VkVideoCapabilitiesKHR:

  - VkVideoDecodeH264CapabilitiesEXT

- Extending VkVideoDecodeInfoKHR:

  - VkVideoDecodeH264PictureInfoEXT

- Extending VkVideoProfileInfoKHR, VkQueryPoolCreateInfo:

  - VkVideoDecodeH264ProfileInfoEXT

- Extending VkVideoReferenceSlotInfoKHR:

  - VkVideoDecodeH264DpbSlotInfoEXT

- Extending VkVideoSessionParametersCreateInfoKHR:

  - VkVideoDecodeH264SessionParametersCreateInfoEXT

- Extending VkVideoSessionParametersUpdateInfoKHR:

  - VkVideoDecodeH264SessionParametersAddInfoEXT

## New Enums

- VkVideoDecodeH264PictureLayoutFlagBitsEXT

## New Bitmasks

- VkVideoDecodeH264PictureLayoutFlagsEXT

## New Enum Constants

- `VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME`

- `VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT`

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT`

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT`

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT`

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT`

  - `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT`

- Extending VkVideoCodecOperationFlagBitsKHR:

  - `VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT`

## Version History

- Revision 1, 2018-6-11 (Peter Fang)

  - Initial draft

- Revision 2, March 29 2021 (Tony Zlatinski)

  - Spec and API Updates

- Revision 3, August 1 2021 (Srinath Kumarapuram)

  - Rename `VkVideoDecodeH264FieldLayoutFlagsEXT` to `VkVideoDecodeH264PictureLayoutFlagsEXT`, `VkVideoDecodeH264FieldLayoutFlagBitsEXT` to `VkVideoDecodeH264PictureLayoutFlagBitsEXT` (along with the names of enumerants it defines), and `VkVideoDecodeH264ProfileEXT.fieldLayout` to `VkVideoDecodeH264ProfileEXT.pictureLayout`, following Vulkan naming conventions.

- Revision 4, 2022-03-16 (Ahmed Abdelkhalek)

  - Relocate Std header version reporting/requesting from this extension to VK_KHR_video_queue extension.

  - Remove the now empty VkVideoDecodeH264SessionCreateInfoEXT.

- Revision 5, 2022-03-31 (Ahmed Abdelkhalek)

  - Use type StdVideoH264Level for VkVideoDecodeH264Capabilities.maxLevel

- Revision 6, 2022-08-09 (Daniel Rakos)

  - Rename `VkVideoDecodeH264ProfileEXT` to `VkVideoDecodeH264ProfileInfoEXT`

  - Rename `VkVideoDecodeH264MvcEXT` to `VkVideoDecodeH264MvcInfoEXT`

- Revision 7, 2022-09-18 (Daniel Rakos)

  - Change type of `VkVideoDecodeH264ProfileInfoEXT::pictureLayout` to `VkVideoDecodeH264PictureLayoutFlagBitsEXT`

  - Remove MVC support and related `VkVideoDecodeH264MvcInfoEXT` structure

  - Rename `spsStdCount`, `pSpsStd`, `ppsStdCount`, and `pPpsStd` to `stdSPSCount`, `pStdSPSs`, `stdPPSCount`, and `pStdPPSs`, respectively, in `VkVideoDecodeH264SessionParametersAddInfoEXT`

  - Rename `maxSpsStdCount` and `maxPpsStdCount` to `maxStdSPSCount` and `maxStdPPSCount`, respectively, in `VkVideoDecodeH264SessionParametersCreateInfoEXT`

  - Rename `slicesCount` and `pSlicesDataOffsets` to `sliceCount` and `pSliceOffsets`, respectively, in `VkVideoDecodeH264PictureInfoEXT`

## See Also

VkVideoDecodeH264CapabilitiesEXT, VkVideoDecodeH264DpbSlotInfoEXT, VkVideoDecodeH264PictureInfoEXT, VkVideoDecodeH264PictureLayoutFlagBitsEXT, VkVideoDecodeH264PictureLayoutFlagsEXT, VkVideoDecodeH264ProfileInfoEXT, VkVideoDecodeH264SessionParametersAddInfoEXT, VkVideoDecodeH264SessionParametersCreateInfoEXT

## 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.

## Copyright

Copyright 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0