C Specification
When calling vkGetPhysicalDeviceVideoCapabilitiesKHR to query the
capabilities for an H.265 encode profile, the
VkVideoCapabilitiesKHR::pNext chain must include a
VkVideoEncodeH265CapabilitiesKHR structure that will be filled with
the profile-specific capabilities.
The VkVideoEncodeH265CapabilitiesKHR structure is defined as:
// Provided by VK_KHR_video_encode_h265
typedef struct VkVideoEncodeH265CapabilitiesKHR {
VkStructureType sType;
void* pNext;
VkVideoEncodeH265CapabilityFlagsKHR flags;
StdVideoH265LevelIdc maxLevelIdc;
uint32_t maxSliceSegmentCount;
VkExtent2D maxTiles;
VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes;
VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes;
uint32_t maxPPictureL0ReferenceCount;
uint32_t maxBPictureL0ReferenceCount;
uint32_t maxL1ReferenceCount;
uint32_t maxSubLayerCount;
VkBool32 expectDyadicTemporalSubLayerPattern;
int32_t minQp;
int32_t maxQp;
VkBool32 prefersGopRemainingFrames;
VkBool32 requiresGopRemainingFrames;
VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags;
} VkVideoEncodeH265CapabilitiesKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkVideoEncodeH265CapabilityFlagBitsKHR indicating supported H.265 encoding capabilities. -
maxLevelIdcis aStdVideoH265LevelIdcvalue indicating the maximum H.265 level supported by the profile, where enum constantSTD_VIDEO_H265_LEVEL_IDC_<major>_<minor>identifies H.265 level<major>.<minor>as defined in section A.4 of the ITU-T H.265 Specification. -
maxSliceSegmentCountindicates the maximum number of slice segments that can be encoded for a single picture. Further restrictions may apply to the number of slice segments that can be encoded for a single picture depending on other capabilities and codec-specific rules. -
maxTilesindicates the maximum number of H.265 tile columns and rows, as defined in sections 3.175 and 3.176 of the ITU-T H.265 Specification that can be encoded for a single picture. Further restrictions may apply to the number of H.265 tiles that can be encoded for a single picture depending on other capabilities and codec-specific rules. -
ctbSizesis a bitmask of VkVideoEncodeH265CtbSizeFlagBitsKHR describing the supported CTB sizes. -
transformBlockSizesis a bitmask of VkVideoEncodeH265TransformBlockSizeFlagBitsKHR describing the supported transform block sizes. -
maxPPictureL0ReferenceCountindicates the maximum number of reference pictures the implementation supports in the reference list L0 for P pictures.NoteAs implementations may override the reference lists,
maxPPictureL0ReferenceCountdoes not limit the number of elements that the application can specify in the L0 reference list for P pictures. However, ifmaxPPictureL0ReferenceCountis zero, then the use of P pictures is not allowed. In case of H.265 encoding, backward-only predictive pictures can be encoded even if P pictures are not supported, as the ITU-T H.265 Specification supports generalized P & B frames (also known as low delay B frames) whereas B frames can refer to past frames through both the L0 and L1 reference lists. -
maxBPictureL0ReferenceCountindicates the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures. -
maxL1ReferenceCountindicates the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported.NoteAs implementations may override the reference lists,
maxBPictureL0ReferenceCountandmaxL1ReferenceCountdoes not limit the number of elements that the application can specify in the L0 and L1 reference lists for B pictures. However, ifmaxBPictureL0ReferenceCountandmaxL1ReferenceCountare both zero, then the use of B pictures is not allowed. -
maxSubLayerCountindicates the maximum number of H.265 sub-layers supported by the implementation. -
expectDyadicTemporalSubLayerPatternindicates that the implementation’s rate control algorithms expect the application to use a dyadic temporal sub-layer pattern when encoding multiple temporal sub-layers. -
minQpindicates the minimum QP value supported. -
maxQpindicates the maximum QP value supported. -
prefersGopRemainingFramesindicates that the implementation’s rate control algorithm prefers the application to specify the number of frames of each type remaining in the current group of pictures when beginning a video coding scope. -
requiresGopRemainingFramesindicates that the implementation’s rate control algorithm requires the application to specify the number of frames of each type remaining in the current group of pictures when beginning a video coding scope. -
stdSyntaxFlagsis a bitmask of VkVideoEncodeH265StdFlagBitsKHR indicating capabilities related to H.265 syntax elements.
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.