VkVideoEncodeH265CapabilitiesKHR
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:
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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.flags
is a bitmask of VkVideoEncodeH265CapabilityFlagBitsKHR indicating supported H.265 encoding capabilities.maxLevelIdc
is aStdVideoH265LevelIdc
value 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.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, 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.ctbSizes
is a bitmask of VkVideoEncodeH265CtbSizeFlagBitsKHR describing the supported CTB sizes.transformBlockSizes
is a bitmask of VkVideoEncodeH265TransformBlockSizeFlagBitsKHR 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.As implementations may override the reference lists,
maxPPictureL0ReferenceCount
does not limit the number of elements that the application can specify in the L0 reference list for P pictures. However, ifmaxPPictureL0ReferenceCount
is zero, then the use of P pictures is not allowed. In case of H.265 encoding, pictures can be encoded using only forward prediction 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.maxBPictureL0ReferenceCount
indicates the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures.maxL1ReferenceCount
indicates the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported.As implementations may override the reference lists,
maxBPictureL0ReferenceCount
andmaxL1ReferenceCount
does not limit the number of elements that the application can specify in the L0 and L1 reference lists for B pictures. However, ifmaxBPictureL0ReferenceCount
andmaxL1ReferenceCount
are both zero, then the use of B pictures is not allowed.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 when beginning a video coding scope.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 when beginning a video coding scope.stdSyntaxFlags
is a bitmask of VkVideoEncodeH265StdFlagBitsKHR indicating capabilities related to H.265 syntax elements.
Valid Usage (Implicit)
VUID-VkVideoEncodeH265CapabilitiesKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR