Package org.lwjgl.vulkan
Class VkVideoEncodeRateControlLayerInfoKHR
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkVideoEncodeRateControlLayerInfoKHR>
org.lwjgl.vulkan.VkVideoEncodeRateControlLayerInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class VkVideoEncodeRateControlLayerInfoKHR
extends org.lwjgl.system.Struct<VkVideoEncodeRateControlLayerInfoKHR>
implements org.lwjgl.system.NativeResource
Structure to set encode per-layer rate control parameters.
Description
Note
The ability of the implementation’s rate control algorithm to be able to match the requested average and/or peak bitrates may be limited by the set of other codec-independent and codec-specific rate control parameters specified by the application, the input content, as well as the application conforming to the rate control guidance provided to the implementation, as described earlier.
Additional structures providing codec-specific rate control parameters can be included in the pNext chain of VkVideoEncodeRateControlLayerInfoKHR depending on the video profile the bound video session was created with. For further details see:
Valid Usage
frameRateNumeratormust be greater than zeroframeRateDenominatormust be greater than zero
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR- Each
pNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance ofVkVideoEncodeAV1RateControlLayerInfoKHR,VkVideoEncodeH264RateControlLayerInfoKHR, orVkVideoEncodeH265RateControlLayerInfoKHR - The
sTypevalue of each struct in thepNextchain must be unique
See Also
VkVideoEncodeRateControlInfoKHR
Layout
struct VkVideoEncodeRateControlLayerInfoKHR {
VkStructureType sType();
void const * pNext();
uint64_t averageBitrate();
uint64_t maxBitrate();
uint32_t frameRateNumerator();
uint32_t frameRateDenominator();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVideoEncodeRateControlLayerInfoKHRstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkVideoEncodeRateControlLayerInfoKHR(ByteBuffer container) Creates aVkVideoEncodeRateControlLayerInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongthe average bitrate to be targeted by the implementation’s rate control algorithm.averageBitrate(long value) Sets the specified value to theaverageBitrate()field.calloc()Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoEncodeRateControlLayerInfoKHRcreateSafe(long address) static @Nullable VkVideoEncodeRateControlLayerInfoKHR.BuffercreateSafe(long address, int capacity) intthe denominator of the frame rate assumed by the implementation’s rate control algorithm.frameRateDenominator(int value) Sets the specified value to theframeRateDenominator()field.intthe numerator of the frame rate assumed by the implementation’s rate control algorithm.frameRateNumerator(int value) Sets the specified value to theframeRateNumerator()field.malloc()Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated on the specifiedMemoryStack.longthe peak bitrate to be targeted by the implementation’s rate control algorithm.maxBitrate(long value) Sets the specified value to themaxBitrate()field.static longnaverageBitrate(long struct) Unsafe version ofaverageBitrate().static voidnaverageBitrate(long struct, long value) Unsafe version ofaverageBitrate.static intnframeRateDenominator(long struct) Unsafe version offrameRateDenominator().static voidnframeRateDenominator(long struct, int value) Unsafe version offrameRateDenominator.static intnframeRateNumerator(long struct) Unsafe version offrameRateNumerator().static voidnframeRateNumerator(long struct, int value) Unsafe version offrameRateNumerator.static longnmaxBitrate(long struct) Unsafe version ofmaxBitrate().static voidnmaxBitrate(long struct, long value) Unsafe version ofmaxBitrate.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.Prepends the specifiedVkVideoEncodeAV1RateControlLayerInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH264RateControlLayerInfoKHRvalue to thepNextchain.Prepends the specifiedVkVideoEncodeH265RateControlLayerInfoKHRvalue to thepNextchain.set(int sType, long pNext, long averageBitrate, long maxBitrate, int frameRateNumerator, int frameRateDenominator) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHRvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
AVERAGEBITRATE
public static final int AVERAGEBITRATEThe struct member offsets. -
MAXBITRATE
public static final int MAXBITRATEThe struct member offsets. -
FRAMERATENUMERATOR
public static final int FRAMERATENUMERATORThe struct member offsets. -
FRAMERATEDENOMINATOR
public static final int FRAMERATEDENOMINATORThe struct member offsets.
-
-
Constructor Details
-
VkVideoEncodeRateControlLayerInfoKHR
Creates aVkVideoEncodeRateControlLayerInfoKHRinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkVideoEncodeRateControlLayerInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()a pointer to a structure extending this structure. -
averageBitrate
public long averageBitrate()the average bitrate to be targeted by the implementation’s rate control algorithm. -
maxBitrate
public long maxBitrate()the peak bitrate to be targeted by the implementation’s rate control algorithm. -
frameRateNumerator
public int frameRateNumerator()the numerator of the frame rate assumed by the implementation’s rate control algorithm. -
frameRateDenominator
public int frameRateDenominator()the denominator of the frame rate assumed by the implementation’s rate control algorithm. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pNext
Prepends the specifiedVkVideoEncodeAV1RateControlLayerInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH264RateControlLayerInfoKHRvalue to thepNextchain. -
pNext
Prepends the specifiedVkVideoEncodeH265RateControlLayerInfoKHRvalue to thepNextchain. -
averageBitrate
Sets the specified value to theaverageBitrate()field. -
maxBitrate
Sets the specified value to themaxBitrate()field. -
frameRateNumerator
Sets the specified value to theframeRateNumerator()field. -
frameRateDenominator
Sets the specified value to theframeRateDenominator()field. -
set
public VkVideoEncodeRateControlLayerInfoKHR set(int sType, long pNext, long averageBitrate, long maxBitrate, int frameRateNumerator, int frameRateDenominator) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVideoEncodeRateControlLayerInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoEncodeRateControlLayerInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoEncodeRateControlLayerInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoEncodeRateControlLayerInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeRateControlLayerInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nmaxBitrate
public static long nmaxBitrate(long struct) Unsafe version ofmaxBitrate(). -
nframeRateNumerator
public static int nframeRateNumerator(long struct) Unsafe version offrameRateNumerator(). -
nframeRateDenominator
public static int nframeRateDenominator(long struct) Unsafe version offrameRateDenominator(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nmaxBitrate
public static void nmaxBitrate(long struct, long value) Unsafe version ofmaxBitrate. -
nframeRateNumerator
public static void nframeRateNumerator(long struct, int value) Unsafe version offrameRateNumerator. -
nframeRateDenominator
public static void nframeRateDenominator(long struct, int value) Unsafe version offrameRateDenominator.
-