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 more capabilities specific to H.265 video encoding.

The VkVideoEncodeH265CapabilitiesEXT structure is defined as:

// Provided by VK_EXT_video_encode_h265
typedef struct VkVideoEncodeH265CapabilitiesEXT {
    VkStructureType                                sType;
    void*                                          pNext;
    VkVideoEncodeH265CapabilityFlagsEXT            flags;
    VkVideoEncodeH265CtbSizeFlagsEXT               ctbSizes;
    VkVideoEncodeH265TransformBlockSizeFlagsEXT    transformBlockSizes;
    uint32_t                                       maxPPictureL0ReferenceCount;
    uint32_t                                       maxBPictureL0ReferenceCount;
    uint32_t                                       maxL1ReferenceCount;
    uint32_t                                       maxSubLayersCount;
    uint32_t                                       minLog2MinLumaCodingBlockSizeMinus3;
    uint32_t                                       maxLog2MinLumaCodingBlockSizeMinus3;
    uint32_t                                       minLog2MinLumaTransformBlockSizeMinus2;
    uint32_t                                       maxLog2MinLumaTransformBlockSizeMinus2;
    uint32_t                                       minMaxTransformHierarchyDepthInter;
    uint32_t                                       maxMaxTransformHierarchyDepthInter;
    uint32_t                                       minMaxTransformHierarchyDepthIntra;
    uint32_t                                       maxMaxTransformHierarchyDepthIntra;
    uint32_t                                       maxDiffCuQpDeltaDepth;
    uint32_t                                       minMaxNumMergeCand;
    uint32_t                                       maxMaxNumMergeCand;
} VkVideoEncodeH265CapabilitiesEXT;

Members

  • sType is the type of this structure.

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

  • flags is a bitmask of VkVideoEncodeH265CapabilityFlagBitsEXT describing supported encoding tools.

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

  • transformBlockSizes is a bitmask of VkVideoEncodeH265TransformBlockSizeFlagBitsEXT describing the supported transform block sizes.

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

  • maxBPictureL0ReferenceCount 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.

  • maxL1ReferenceCount 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.

  • maxSubLayersCount reports the maximum number of sublayers.

  • minLog2MinLumaCodingBlockSizeMinus3 reports the minimum value that may be set for log2_min_luma_coding_block_size_minus3 in StdVideoH265SequenceParameterSet.

  • maxLog2MinLumaCodingBlockSizeMinus3 reports the maximum value that may be set for log2_min_luma_coding_block_size_minus3 in StdVideoH265SequenceParameterSet.

  • minLog2MinLumaTransformBlockSizeMinus2 reports the minimum value that may be set for log2_min_luma_transform_block_size_minus2 in StdVideoH265SequenceParameterSet.

  • maxLog2MinLumaTransformBlockSizeMinus2 reports the maximum value that may be set for log2_min_luma_transform_block_size_minus2 in StdVideoH265SequenceParameterSet.

  • minMaxTransformHierarchyDepthInter reports the minimum value that may be set for max_transform_hierarchy_depth_inter in StdVideoH265SequenceParameterSet.

  • maxMaxTransformHierarchyDepthInter reports the maximum value that may be set for max_transform_hierarchy_depth_inter in StdVideoH265SequenceParameterSet.

  • minMaxTransformHierarchyDepthIntra reports the minimum value that may be set for max_transform_hierarchy_depth_intra in StdVideoH265SequenceParameterSet.

  • maxMaxTransformHierarchyDepthIntra reports the maximum value that may be set for max_transform_hierarchy_depth_intra in StdVideoH265SequenceParameterSet.

  • maxDiffCuQpDeltaDepth reports the maximum value that may be set for diff_cu_qp_delta_depth in StdVideoH265PictureParameterSet.

  • minMaxNumMergeCand reports the minimum value that may be set for MaxNumMergeCand in StdVideoEncodeH265SliceHeader.

  • maxMaxNumMergeCand reports the maximum value that may be set for MaxNumMergeCand in StdVideoEncodeH265SliceHeader.

Description

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

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

SPDX-License-Identifier: CC-BY-4.0