C Specification
The VkVideoEncodeH264RateControlInfoEXT structure is defined as:
// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264RateControlInfoEXT {
VkStructureType sType;
const void* pNext;
uint32_t gopFrameCount;
uint32_t idrPeriod;
uint32_t consecutiveBFrameCount;
VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure;
uint8_t temporalLayerCount;
} VkVideoEncodeH264RateControlInfoEXT;
Members
-
sTypeis the type of this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
gopFrameCountis the number of frames contained within the group of pictures (GOP), starting from an intra frame and until the next intra frame. If it is set to 0, the implementation chooses a suitable value. If it is set toUINT32_MAX, the GOP length is treated as infinite. -
idrPeriodis the interval, in terms of number of frames, between two IDR frames. If it is set to 0, the implementation chooses a suitable value. If it is set toUINT32_MAX, the IDR period is treated as infinite. -
consecutiveBFrameCountis the number of consecutive B-frames between I- and/or P-frames within the GOP. -
rateControlStructureis a VkVideoEncodeH264RateControlStructureFlagBitsEXT value specifying the expected encode stream reference structure, to aid in rate control calculations. -
temporalLayerCountspecifies the number of temporal layers enabled in the stream.
Description
In order to provide H.264-specific stream rate control parameters, add a
VkVideoEncodeH264RateControlInfoEXT structure to the pNext chain
of the VkVideoEncodeRateControlInfoKHR structure in the pNext
chain of the VkVideoCodingControlInfoKHR structure passed to the
vkCmdControlVideoCodingKHR command.
The parameters from this structure act as a guidance for implementations to apply various rate control heuristics.
It is possible to infer the picture type to be used when encoding a frame,
on the basis of the values provided for consecutiveBFrameCount,
idrPeriod, and gopFrameCount, but this inferred picture type
will not be used by implementations to override the picture type provided in
vkCmdEncodeVideoKHR.
Additionally, it is not required for the video session to be reset if the
inferred picture type does not match the actual picture type.
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.