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

include::{generated}/meta/{refprefix}VK_KHR_video_decode_queue.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2021-09-30
*IP Status*::
    No known IP claims.
*Contributors*::
  - Jake Beju, AMD
  - Olivier Lapicque, NVIDIA
  - Peter Fang, AMD
  - Piers Daniell, NVIDIA
  - Srinath Kumarapuram, NVIDIA
  - Tony Zlatinski, NVIDIA

include::{generated}/interfaces/VK_KHR_video_decode_queue.txt[]

=== Version History

 * Revision 1, 2018-6-11 (Peter Fang)
   - Initial draft
 * Revision 1.5, Nov 09 2018 (Tony Zlatinski)
   - API Updates
 * Revision 1.6, Jan 08 2020 (Tony Zlatinski)
   - API unify with the video_encode_queue spec
 * Revision 1.7, March 29 2021 (Tony Zlatinski)
   - Spec and API updates.
 * Revision 2, September 30 2021 (Jon Leech)
   - Add interaction with `apiext:VK_KHR_format_feature_flags2` to `vk.xml`
