C Specification

The VkVideoProfilesKHR structure is defined as:

// Provided by VK_KHR_video_queue
typedef struct VkVideoProfilesKHR {
    VkStructureType             sType;
    const void*                 pNext;
    uint32_t                    profileCount;
    const VkVideoProfileKHR*    pProfiles;
} VkVideoProfilesKHR;


  • sType is the type of this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • profileCount is an integer which holds the number of video profiles included in pProfiles.

  • pProfiles is a pointer to an array of VkVideoProfileKHR structures. Each VkVideoProfileKHR structure must chain the corresponding codec-operation specific extension video profile structure.


Video transcoding is an example of a use case that necessitates numerous profiles. When the application provides one or more video decode and encode profiles in the list of profiles, the implementation ensures that the video formats and parameters reported produce video resources suitable for the transcoding use cases without the need for manual transformation.

Valid Usage
  • VUID-VkVideoProfilesKHR-pProfiles-06813
    If the pProfiles list contains more than one VkVideoProfileKHR entry, then it must not contain more than one entry whose videoCodecOperation member specifies a decode operation

Valid Usage (Implicit)
  • VUID-VkVideoProfilesKHR-sType-sType

  • VUID-VkVideoProfilesKHR-pProfiles-parameter
    If profileCount is not 0, pProfiles must be a valid pointer to an array of profileCount valid VkVideoProfileKHR structures

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0