C Specification
When calling vkGetPhysicalDeviceVideoCapabilitiesKHR with
pVideoProfile->videoCodecOperation specified as
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, the
VkVideoEncodeH264CapabilitiesEXT structure must be included in the
pNext chain of the VkVideoCapabilitiesKHR structure to retrieve
more capabilities specific to H.264 video encoding.
The VkVideoEncodeH264CapabilitiesEXT structure is defined as:
// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264CapabilitiesEXT {
VkStructureType sType;
void* pNext;
VkVideoEncodeH264CapabilityFlagsEXT flags;
StdVideoH264LevelIdc maxLevelIdc;
uint32_t maxSliceCount;
uint32_t maxPPictureL0ReferenceCount;
uint32_t maxBPictureL0ReferenceCount;
uint32_t maxL1ReferenceCount;
uint32_t maxTemporalLayerCount;
VkBool32 expectDyadicTemporalLayerPattern;
int32_t minQp;
int32_t maxQp;
VkBool32 prefersGopRemainingFrames;
VkBool32 requiresGopRemainingFrames;
VkVideoEncodeH264StdFlagsEXT stdSyntaxFlags;
} VkVideoEncodeH264CapabilitiesEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkVideoEncodeH264CapabilityFlagBitsEXT indicating supported H.264 encoding capabilities. -
maxLevelIdcis aStdVideoH264LevelIdcvalue indicating the maximum H.264 level supported. -
maxSliceCountindicates the maximum number of slices that can be encoded for a single picture. Further restrictions may apply to the number of slices that can be encoded for a single picture depending on other capabilities and codec-specific rules. -
maxPPictureL0ReferenceCountindicates the maximum number of reference pictures the implementation supports in the reference list L0 for P pictures. -
maxBPictureL0ReferenceCountindicates the maximum number of reference pictures the implementation supports in the reference list L0 for B pictures. The reported value is0if encoding of B pictures is not supported. -
maxL1ReferenceCountreports the maximum number of reference pictures the implementation supports in the reference list L1 if encoding of B pictures is supported. The reported value is0if encoding of B pictures is not supported. -
maxTemporalLayerCountindicates the maximum number of H.264 temporal layers supported by the implementation. -
expectDyadicTemporalLayerPatternindicates that the implementation’s rate control algorithms expect the application to use a dyadic temporal layer pattern when encoding multiple temporal 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. -
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. -
stdSyntaxFlagsis a bitmask of VkVideoEncodeH264StdFlagBitsEXT indicating capabilities related to H.264 syntax elements.
Description
When vkGetPhysicalDeviceVideoCapabilitiesKHR is called to query the
capabilities with parameter videoCodecOperation specified as
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, a
VkVideoEncodeH264CapabilitiesEXT structure can be chained to
VkVideoCapabilitiesKHR to retrieve H.264 extension specific
capabilities.
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.