// Copyright 2018-2022 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_video_encode_h265.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
    2022-09-18
*IP Status*::
    No known IP claims.
*Contributors*::
  - Ahmed Abdelkhalek, AMD
  - George Hao, AMD
  - Jake Beju, AMD
  - Chunbo Chen, Intel
  - Ping Liu, Intel
  - Srinath Kumarapuram, NVIDIA
  - Tony Zlatinski, NVIDIA
  - Daniel Rakos, RasterGrid

=== Description

This extension builds upon the `apiext:VK_KHR_video_encode_queue` extension
by adding support for encoding elementary video stream sequences compliant
with the H.265/HEVC video compression standard.

include::{generated}/interfaces/VK_EXT_video_encode_h265.adoc[]

=== Version History

  * Revision 0, 2019-11-14 (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 2, Oct 10 2021 (Srinath Kumarapuram)
  ** Vulkan Video Encode h.265 update and spec edits
  * Revision 3, 2021-12-08 (Ahmed Abdelkhalek)
  ** Rate control updates
  * Revision 4, 2022-01-11 (Ahmed Abdelkhalek)
  ** Replace occurrences of "`slice`" by "`slice segment`" and rename
     structures/enums to reflect this.
  * 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 the now empty VkVideoEncodeH265SessionCreateInfoEXT.
  * Revision 7, 2022-03-24 (Ahmed Abdelkhalek)
  ** Add capability flags to report support to disable transform skip and
     support to use B frame in L1 reference list.
  * Revision 8, 2022-07-18 (Daniel Rakos)
  ** Replace `VkVideoEncodeH265RateControlStructureFlagBitsEXT` bit enum
     with `VkVideoEncodeH265RateControlStructureEXT` enum
  ** Rename `VkVideoEncodeH265ProfileEXT` to
     `VkVideoEncodeH265ProfileInfoEXT`
  ** Rename `VkVideoEncodeH265ReferenceListsEXT` to
     `VkVideoEncodeH265ReferenceListsInfoEXT`
  ** Rename `VkVideoEncodeH265EmitPictureParametersEXT` to
     `VkVideoEncodeH265EmitPictureParametersInfoEXT`
  ** Rename `VkVideoEncodeH265NaluSliceSegmentEXT` to
     `VkVideoEncodeH265NaluSliceSegmentInfoEXT`
  * Revision 9, 2022-09-18 (Daniel Rakos)
  ** Rename `vpsStdCount`, `pVpsStd`, `spsStdCount`, `pSpsStd`,
     `ppsStdCount`, and `pPpsStd` to `stdVPSCount`, `pStdVPSs`,
     `stdSPSCount`, `pStdSPSs`, `stdPPSCount`, and `pStdPPSs`, respectively,
     in `VkVideoEncodeH265SessionParametersAddInfoEXT`
  ** Rename `maxVpsStdCount`, `maxSpsStdCount`, and `maxPpsStdCount` to
     `maxStdVPSCount`, `maxStdSPSCount` and `maxStdPPSCount`, respectively,
     in `VkVideoEncodeH265SessionParametersCreateInfoEXT`
