Class VkVideoEncodeH264GopRemainingFrameInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
Setting useGopRemainingFrames to TRUE and including this structure in the pNext chain of VkVideoBeginCodingInfoKHR is only mandatory if the VkVideoEncodeH264CapabilitiesKHR::requiresGopRemainingFrames reported for the used video profile is TRUE. However, implementations may use these remaining frame counts, when specified, even when it is not required. In particular, when the application does not use a regular GOP structure, these values may provide additional guidance for the implementation’s rate control algorithm.
The VkVideoEncodeH264CapabilitiesKHR::prefersGopRemainingFrames capability is also used to indicate that the implementation’s rate control algorithm may operate more accurately if the application specifies the remaining frame counts using this structure.
As with other rate control guidance values, if the effective order and number of frames encoded by the application are not in line with the remaining frame counts specified in this structure at any given point, then the behavior of the implementation’s rate control algorithm may deviate from the one expected by the application.
Valid Usage (Implicit)
Layout
struct VkVideoEncodeH264GopRemainingFrameInfoKHR {
VkStructureType sType();
void const * pNext();
VkBool32 useGopRemainingFrames();
uint32_t gopRemainingI();
uint32_t gopRemainingP();
uint32_t gopRemainingB();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVideoEncodeH264GopRemainingFrameInfoKHRstructs.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 size in bytes.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionCreates aVkVideoEncodeH264GopRemainingFrameInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoEncodeH264GopRemainingFrameInfoKHRcreateSafe(long address) static @Nullable VkVideoEncodeH264GopRemainingFrameInfoKHR.BuffercreateSafe(long address, int capacity) intgopRemainingB(int value) Sets the specified value to thegopRemainingB()field.intgopRemainingI(int value) Sets the specified value to thegopRemainingI()field.intgopRemainingP(int value) Sets the specified value to thegopRemainingP()field.malloc()Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated on the specifiedMemoryStack.static intngopRemainingB(long struct) Unsafe version ofgopRemainingB().static voidngopRemainingB(long struct, int value) Unsafe version ofgopRemainingB.static intngopRemainingI(long struct) Unsafe version ofgopRemainingI().static voidngopRemainingI(long struct, int value) Unsafe version ofgopRemainingI.static intngopRemainingP(long struct) Unsafe version ofgopRemainingP().static voidngopRemainingP(long struct, int value) Unsafe version ofgopRemainingP.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.static intnuseGopRemainingFrames(long struct) Unsafe version ofuseGopRemainingFrames().static voidnuseGopRemainingFrames(long struct, int value) Unsafe version ofuseGopRemainingFrames.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, boolean useGopRemainingFrames, int gopRemainingI, int gopRemainingP, int gopRemainingB) 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_H264_GOP_REMAINING_FRAME_INFO_KHRvalue to thesType()field.booleanindicates whether the implementation’s rate control algorithm should use the values specified ingopRemainingI,gopRemainingP, andgopRemainingB.useGopRemainingFrames(boolean value) Sets the specified value to theuseGopRemainingFrames()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. -
USEGOPREMAININGFRAMES
public static final int USEGOPREMAININGFRAMESThe struct member offsets. -
GOPREMAININGI
public static final int GOPREMAININGIThe struct member offsets. -
GOPREMAININGP
public static final int GOPREMAININGPThe struct member offsets. -
GOPREMAININGB
public static final int GOPREMAININGBThe struct member offsets.
-
-
Constructor Details
-
VkVideoEncodeH264GopRemainingFrameInfoKHR
Creates aVkVideoEncodeH264GopRemainingFrameInfoKHRinstance 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<VkVideoEncodeH264GopRemainingFrameInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
useGopRemainingFrames
public boolean useGopRemainingFrames()indicates whether the implementation’s rate control algorithm should use the values specified ingopRemainingI,gopRemainingP, andgopRemainingB. IfuseGopRemainingFramesisFALSE, then the values ofgopRemainingI,gopRemainingP, andgopRemainingBare ignored. -
gopRemainingI
public int gopRemainingI() -
gopRemainingP
public int gopRemainingP() -
gopRemainingB
public int gopRemainingB() -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
useGopRemainingFrames
Sets the specified value to theuseGopRemainingFrames()field. -
gopRemainingI
Sets the specified value to thegopRemainingI()field. -
gopRemainingP
Sets the specified value to thegopRemainingP()field. -
gopRemainingB
Sets the specified value to thegopRemainingB()field. -
set
public VkVideoEncodeH264GopRemainingFrameInfoKHR set(int sType, long pNext, boolean useGopRemainingFrames, int gopRemainingI, int gopRemainingP, int gopRemainingB) 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 newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVideoEncodeH264GopRemainingFrameInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoEncodeH264GopRemainingFrameInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoEncodeH264GopRemainingFrameInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoEncodeH264GopRemainingFrameInfoKHR.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(). -
nuseGopRemainingFrames
public static int nuseGopRemainingFrames(long struct) Unsafe version ofuseGopRemainingFrames(). -
ngopRemainingI
public static int ngopRemainingI(long struct) Unsafe version ofgopRemainingI(). -
ngopRemainingP
public static int ngopRemainingP(long struct) Unsafe version ofgopRemainingP(). -
ngopRemainingB
public static int ngopRemainingB(long struct) Unsafe version ofgopRemainingB(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nuseGopRemainingFrames
public static void nuseGopRemainingFrames(long struct, int value) Unsafe version ofuseGopRemainingFrames. -
ngopRemainingI
public static void ngopRemainingI(long struct, int value) Unsafe version ofgopRemainingI. -
ngopRemainingP
public static void ngopRemainingP(long struct, int value) Unsafe version ofgopRemainingP. -
ngopRemainingB
public static void ngopRemainingB(long struct, int value) Unsafe version ofgopRemainingB.
-