C Specification
The VkVideoEncodeAV1RateControlInfoKHR structure is defined as:
// Provided by VK_KHR_video_encode_av1
typedef struct VkVideoEncodeAV1RateControlInfoKHR {
VkStructureType sType;
const void* pNext;
VkVideoEncodeAV1RateControlFlagsKHR flags;
uint32_t gopFrameCount;
uint32_t keyFramePeriod;
uint32_t consecutiveBipredictiveFrameCount;
uint32_t temporalLayerCount;
} VkVideoEncodeAV1RateControlInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
flagsis a bitmask of VkVideoEncodeAV1RateControlFlagBitsKHR specifying AV1 rate control flags. -
gopFrameCountis the number of frames within a group of pictures (GOP) intended to be used by the application. If it is set to 0, the rate control algorithm may assume an implementation-dependent GOP length. If it is set toUINT32_MAX, the GOP length is treated as infinite. -
keyFramePeriodis the interval, in terms of number of frames, between two frames with the AV1 frame typeSTD_VIDEO_AV1_FRAME_TYPE_KEY(see key frame period). If it is set to 0, the rate control algorithm may assume an implementation-dependent key frame period. If it is set toUINT32_MAX, the key frame period is treated as infinite. -
consecutiveBipredictiveFrameCountis the number of consecutive frames encoded withVK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHRbetween frames encoded with other rate control groups within the GOP. -
temporalLayerCountspecifies the number of AV1 temporal layers that the application intends to use.
Description
When an instance of this structure is included in the pNext chain of
the VkVideoCodingControlInfoKHR structure passed to the
vkCmdControlVideoCodingKHR command, and
VkVideoCodingControlInfoKHR::flags includes
VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR, the parameters in
this structure are used as guidance for the implementation’s rate control
algorithm (see Video Coding Control).
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.