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;
StdVideoH265LevelIdc maxLevelIdc;
uint32_t maxSliceSegmentCount;
VkExtent2D maxTiles;
VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes;
VkVideoEncodeH265TransformBlockSizeFlagsEXT 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;
VkVideoEncodeH265StdFlagsEXT stdSyntaxFlags;
} VkVideoEncodeH265CapabilitiesEXT;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
flags
is a bitmask of VkVideoEncodeH265CapabilityFlagBitsEXT indicating supported H.265 encoding capabilities. -
maxLevelIdc
is aStdVideoH265LevelIdc
value indicating the maximum H.265 level supported. -
maxSliceSegmentCount
indicates 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. -
maxTiles
indicates the maximum number of H.265 tile columns and rows 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. -
ctbSizes
is a bitmask of VkVideoEncodeH265CtbSizeFlagBitsEXT describing the supported CTB sizes. -
transformBlockSizes
is a bitmask of VkVideoEncodeH265TransformBlockSizeFlagBitsEXT describing the supported transform block sizes. -
maxPPictureL0ReferenceCount
indicates the maximum number of reference pictures the implementation supports in the reference list L0 for P pictures. -
maxBPictureL0ReferenceCount
indicates the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures. The reported value is0
if encoding of B pictures is not supported. -
maxL1ReferenceCount
indicates the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported. The reported value is0
if encoding of B pictures is not supported. -
maxSubLayerCount
indicates the maximum number of H.265 sub-layers supported by the implementation. -
expectDyadicTemporalSubLayerPattern
indicates that the implementation’s rate control algorithms expect the application to use a dyadic temporal sub-layer pattern when encoding multiple temporal sub-layers. -
minQp
indicates the minimum QP value supported. -
maxQp
indicates the maximum QP value supported. -
prefersGopRemainingFrames
indicates 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. -
requiresGopRemainingFrames
indicates 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. -
stdSyntaxFlags
is a bitmask of VkVideoEncodeH265StdFlagBitsEXT 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.