C Specification

When calling vkGetPhysicalDeviceVideoCapabilitiesKHR with pVideoProfile->videoCodecOperation specified as VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT, the VkVideoEncodeH265CapabilitiesEXT structure must be included in the pNext chain of the VkVideoCapabilitiesKHR structure to retrieve H.265-specific capabilities for video encoding.

The VkVideoEncodeH265CapabilitiesEXT structure is defined as:

// Provided by VK_EXT_video_encode_h265
typedef struct VkVideoEncodeH265CapabilitiesEXT {
    VkStructureType                        sType;
    const void*                            pNext;
    VkVideoEncodeH265CapabilityFlagsEXT    flags;
    VkVideoEncodeH265InputModeFlagsEXT     inputModeFlags;
    VkVideoEncodeH265OutputModeFlagsEXT    outputModeFlags;
    VkVideoEncodeH265CtbSizeFlagsEXT       ctbSizes;
    VkExtent2D                             inputImageDataAlignment;
    uint8_t                                maxNumL0ReferenceForP;
    uint8_t                                maxNumL0ReferenceForB;
    uint8_t                                maxNumL1Reference;
    uint8_t                                maxNumSubLayers;
    uint8_t                                qualityLevelCount;
    VkExtensionProperties                  stdExtensionVersion;
} VkVideoEncodeH265CapabilitiesEXT;

Members

  • sType is the type of this structure.

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

  • flags is reserved for future use.

  • inputModeFlags is a bitmask of VkVideoEncodeH265InputModeFlagBitsEXT describing the command buffer input granularities/modes supported by the implementation.

  • outputModeFlags is a bitmask of VkVideoEncodeH265OutputModeFlagBitsEXT describing the output (bitstream size reporting) granularities/modes supported by the implementation.

  • ctbSizes is a bitmask of VkVideoEncodeH265CtbSizeFlagBitsEXT describing the supported CTB sizes.

  • inputImageDataAlignment reports the alignment, in pixels, for the width and height of the picture data within the images used in video encoding.

  • maxNumL0ReferenceForP reports the maximum number of reference pictures the implementation supports in the reference list L0 for P pictures.

  • maxNumL0ReferenceForB reports the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures. The reported value is 0 if encoding of B pictures is not supported.

  • maxNumL1Reference reports the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported. The reported value is 0 if encoding of B pictures is not supported.

  • maxNumSubLayers reports the maximum number of sublayers.

  • qualityLevelCount is the number of quality levels supported.

  • stdExtensionVersion is a VkExtensionProperties structure in which the H.265 extension name and version supported by the implementation are returned.

Description

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH265CapabilitiesEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT

  • VUID-VkVideoEncodeH265CapabilitiesEXT-flags-zerobitmask
    flags must be 0

  • VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-parameter
    inputModeFlags must be a valid combination of VkVideoEncodeH265InputModeFlagBitsEXT values

  • VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-requiredbitmask
    inputModeFlags must not be 0

  • VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-parameter
    outputModeFlags must be a valid combination of VkVideoEncodeH265OutputModeFlagBitsEXT values

  • VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-requiredbitmask
    outputModeFlags must not be 0

  • VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-parameter
    ctbSizes must be a valid combination of VkVideoEncodeH265CtbSizeFlagBitsEXT values

  • VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-requiredbitmask
    ctbSizes must not be 0

  • VUID-VkVideoEncodeH265CapabilitiesEXT-stdExtensionVersion-parameter
    stdExtensionVersion must be a valid VkExtensionProperties structure

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-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0