C Specification
The VkVideoEncodeH264RateControlLayerInfoEXT structure is defined as:
// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264RateControlLayerInfoEXT {
VkStructureType sType;
const void* pNext;
uint8_t temporalLayerId;
VkBool32 useInitialRcQp;
VkVideoEncodeH264QpEXT initialRcQp;
VkBool32 useMinQp;
VkVideoEncodeH264QpEXT minQp;
VkBool32 useMaxQp;
VkVideoEncodeH264QpEXT maxQp;
VkBool32 useMaxFrameSize;
VkVideoEncodeH264FrameSizeEXT maxFrameSize;
} VkVideoEncodeH264RateControlLayerInfoEXT;
Members
-
sTypeis the type of this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
temporalLayerIdspecifies the H.264 temporal layer ID of the video coding layer that settings provided in this structure and its parent VkVideoEncodeRateControlLayerInfoKHR structure apply to. -
useInitialRcQpindicates whether the values withininitialRcQpshould be used by the implementation. -
initialRcQpprovides the QP values for each picture type, to be used in rate control calculations at the start of video encode operations on a newly-created video session, or immediately after a session reset. These values are ignored when VkVideoEncodeRateControlInfoKHR::rateControlModeisVK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR. -
useMinQpindicates whether the values withinminQpshould be used by the implementation. When it is set toVK_FALSE, the implementation ignores the values inminQpand chooses suitable values. -
minQpprovides the lower bound on the QP values for each picture type, to be used in rate control calculations. -
useMaxQpindicates whether the values withinmaxQpshould be used by the implementation. When it is set toVK_FALSE, the implementation ignores the values inmaxQpand chooses suitable values. -
maxQpprovides the upper bound on the QP values for each picture type, to be used in rate control calculations. -
useMaxFrameSizeindicates whether the values withinmaxFrameSizeshould be used by the implementation. -
maxFrameSizeprovides the upper bound on the encoded frame size for each picture type. The implementation does not guarantee the encoded frame sizes will be within the specified limits, however these limits may be used as a guide in rate control calculations. If enabled and not set properly, themaxQplimit may prevent the implementation from respecting themaxFrameSizelimit.
Description
H.264-specific per-layer rate control parameters must be specified by
adding a VkVideoEncodeH264RateControlLayerInfoEXT structure to the
pNext chain of each VkVideoEncodeRateControlLayerInfoKHR
structure in a call to vkCmdControlVideoCodingKHR command, when the
command buffer context has an active video encode H.264 session.
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.