// Copyright 2018-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_KHR_video_decode_h264.adoc[] === Other Extension Metadata *Last Modified Date*:: 2023-12-05 *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 `apiext:VK_KHR_video_decode_queue` extension by adding support for decoding elementary video stream sequences compliant with the H.264/AVC video compression standard. [NOTE] .Note ==== This extension was promoted to `KHR` from the provisional extension `VK_EXT_video_decode_h264`. ==== include::{generated}/interfaces/VK_KHR_video_decode_h264.adoc[] === 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` * Revision 8, 2022-09-29 (Daniel Rakos) ** Change extension from `EXT` to `KHR` ** Extension is no longer provisional * Revision 9, 2023-12-05 (Daniel Rakos) ** Condition reference picture setup based on the value of `StdVideoDecodeH264PictureInfo::flags.is_reference`