Class VkVideoEncodeRateControlInfoKHR

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVideoEncodeRateControlInfoKHR>
org.lwjgl.vulkan.VkVideoEncodeRateControlInfoKHR
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkVideoEncodeRateControlInfoKHR extends org.lwjgl.system.Struct<VkVideoEncodeRateControlInfoKHR> implements org.lwjgl.system.NativeResource
Structure to set encode stream rate control parameters.
Description

Including this structure in the pNext chain of VkVideoCodingControlInfoKHR and including VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR in VkVideoCodingControlInfoKHR::flags will define stream rate control settings for video encoding.

Additional structures providing codec-specific rate control parameters may need to be included in the pNext chain of VkVideoCodingControlInfoKHR depending on the codec profile the bound video session was created with and the parameters specified in VkVideoEncodeRateControlInfoKHR (see Video Coding Control).

To ensure that the video session is properly initialized with stream-level rate control settings, the application must call CmdControlVideoCodingKHR with stream-level rate control settings at least once in execution order before the first CmdEncodeVideoKHR command that is executed after video session reset. If not provided, default implementation-specific stream rate control settings will be used.

Stream rate control settings can also be re-initialized during an active video encoding session. The re-initialization takes effect whenever the VkVideoEncodeRateControlInfoKHR structure is included in the pNext chain of the VkVideoCodingControlInfoKHR structure in the call to CmdControlVideoCodingKHR, and only impacts CmdEncodeVideoKHR operations that follow in execution order.

Valid Usage (Implicit)
See Also

VkVideoEncodeRateControlLayerInfoKHR

Layout


 struct VkVideoEncodeRateControlInfoKHR {
     VkStructureType sType();
     void const * pNext();
     VkVideoEncodeRateControlFlagsKHR flags();
     VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode();
     uint32_t layerCount();
     VkVideoEncodeRateControlLayerInfoKHR const * pLayers();
     uint32_t virtualBufferSizeInMs();
     uint32_t initialVirtualBufferSizeInMs();
 }