C Specification
The VkVideoEncodeH264RateControlLayerInfoKHR structure is defined as:
// Provided by VK_KHR_video_encode_h264
typedef struct VkVideoEncodeH264RateControlLayerInfoKHR {
VkStructureType sType;
const void* pNext;
VkBool32 useMinQp;
VkVideoEncodeH264QpKHR minQp;
VkBool32 useMaxQp;
VkVideoEncodeH264QpKHR maxQp;
VkBool32 useMaxFrameSize;
VkVideoEncodeH264FrameSizeKHR maxFrameSize;
} VkVideoEncodeH264RateControlLayerInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
useMinQpindicates whether the QP values determined by rate control will be clamped to the lower bounds on the QP values specified inminQp. -
minQpspecifies the lower bounds on the QP values, for each picture type, that the implementation’s rate control algorithm will use whenuseMinQpis set toVK_TRUE. -
useMaxQpindicates whether the QP values determined by rate control will be clamped to the upper bounds on the QP values specified inmaxQp. -
maxQpspecifies the upper bounds on the QP values, for each picture type, that the implementation’s rate control algorithm will use whenuseMaxQpis set toVK_TRUE. -
useMaxFrameSizeindicates whether the implementation’s rate control algorithm should use the values specified inmaxFrameSizeas the upper bounds on the encoded frame size for each picture type. -
maxFrameSizespecifies the upper bounds on the encoded frame size, for each picture type, whenuseMaxFrameSizeis set toVK_TRUE.
Description
When used, the values in minQp and maxQp guarantee that the
effective QP values used by the implementation will respect those lower and
upper bounds, respectively.
However, limiting the range of QP values that the implementation is able to
use will also limit the capabilities of the implementation’s rate control
algorithm to comply to other constraints.
In particular, the implementation may not be able to comply to the
following:
-
The average and/or peak bitrate values to be used for the encoded bitstream specified in the
averageBitrateandmaxBitratemembers of the VkVideoEncodeRateControlLayerInfoKHR structure. -
The upper bounds on the encoded frame size, for each picture type, specified in the
maxFrameSizemember ofVkVideoEncodeH264RateControlLayerInfoKHR.
|
Note
In general, applications need to configure rate control parameters appropriately in order to be able to get the desired rate control behavior, as described in the Video Encode Rate Control section. |
When an instance of this structure is included in the pNext chain of a
VkVideoEncodeRateControlLayerInfoKHR structure specified in one of the
elements of the pLayers array member of the
VkVideoEncodeRateControlInfoKHR structure passed to the
vkCmdControlVideoCodingKHR command,
VkVideoCodingControlInfoKHR::flags includes
VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR, and the bound
video session was created with the video codec operation
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, it specifies the
H.264-specific rate control parameters of the rate control layer
corresponding to that element of pLayers.
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.