Setting useGopRemainingFrames to TRUE and including this structure in the pNext chain of VkVideoEncodeInfoKHR is only mandatory if the VkVideoEncodeH265CapabilitiesEXT::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 VkVideoEncodeH265CapabilitiesEXT::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.
struct VkVideoEncodeH265GopRemainingFrameInfoEXT {
VkStructureType sType;
void const * pNext;
VkBool32 useGopRemainingFrames;
uint32_t gopRemainingI;
uint32_t gopRemainingP;
uint32_t gopRemainingB;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | GOPREMAININGB
The struct member offsets. |
| public static final int | GOPREMAININGI
The struct member offsets. |
| public static final int | GOPREMAININGP
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | USEGOPREMAININGFRAMES
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkVideoEncodeH265GopRemainingFrameInfoEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkVideoEncodeH265GopRemainingFrameInfoEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | create()
Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | create(long address)
Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | |
| public int | gopRemainingB()
specifies the number of B-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation. |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public int | gopRemainingI()
specifies the number of I-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation. |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public int | gopRemainingP()
specifies the number of P-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation. |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | set(int sType, long pNext, boolean useGopRemainingFrames, int gopRemainingI, int gopRemainingP, int gopRemainingB)
Initializes this struct with the specified values. |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT | sType$Default()
Sets the |
| public boolean | useGopRemainingFrames()
indicates whether the implementation’s rate control algorithm should use the values specified in |
| public VkVideoEncodeH265GopRemainingFrameInfoEXT |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| GOPREMAININGB | back to summary |
|---|---|
| public static final int GOPREMAININGB The struct member offsets. | |
| GOPREMAININGI | back to summary |
|---|---|
| public static final int GOPREMAININGI The struct member offsets. | |
| GOPREMAININGP | back to summary |
|---|---|
| public static final int GOPREMAININGP The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| USEGOPREMAININGFRAMES | back to summary |
|---|---|
| public static final int USEGOPREMAININGFRAMES The struct member offsets. | |
| VkVideoEncodeH265GopRemainingFrameInfoEXT | back to summary |
|---|---|
| protected VkVideoEncodeH265GopRemainingFrameInfoEXT(long address, ByteBuffer container) | |
| VkVideoEncodeH265GopRemainingFrameInfoEXT | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkVideoEncodeH265GopRemainingFrameInfoEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Like
| |
| gopRemainingB | back to summary |
|---|---|
| public int gopRemainingB() specifies the number of B-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation.
| |
| gopRemainingB | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT gopRemainingB(int value) Sets the specified value to the | |
| gopRemainingI | back to summary |
|---|---|
| public int gopRemainingI() specifies the number of I-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation.
| |
| gopRemainingI | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT gopRemainingI(int value) Sets the specified value to the | |
| gopRemainingP | back to summary |
|---|---|
| public int gopRemainingP() specifies the number of P-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation.
| |
| gopRemainingP | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT gopRemainingP(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeH265GopRemainingFrameInfoEXT. Returns a new
| |
| ngopRemainingB | back to summary |
|---|---|
| public static int ngopRemainingB(long struct) Unsafe version of | |
| ngopRemainingB | back to summary |
|---|---|
| public static void ngopRemainingB(long struct, int value) Unsafe version of | |
| ngopRemainingI | back to summary |
|---|---|
| public static int ngopRemainingI(long struct) Unsafe version of | |
| ngopRemainingI | back to summary |
|---|---|
| public static void ngopRemainingI(long struct, int value) Unsafe version of | |
| ngopRemainingP | back to summary |
|---|---|
| public static int ngopRemainingP(long struct) Unsafe version of | |
| ngopRemainingP | back to summary |
|---|---|
| public static void ngopRemainingP(long struct, int value) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| nuseGopRemainingFrames | back to summary |
|---|---|
| public static int nuseGopRemainingFrames(long struct) Unsafe version of | |
| nuseGopRemainingFrames | back to summary |
|---|---|
| public static void nuseGopRemainingFrames(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT pNext(long value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT set(int sType, long pNext, boolean useGopRemainingFrames, int gopRemainingI, int gopRemainingP, int gopRemainingB) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT set(VkVideoEncodeH265GopRemainingFrameInfoEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT sType$Default() Sets the | |
| useGopRemainingFrames | back to summary |
|---|---|
| public boolean useGopRemainingFrames() indicates whether the implementation’s rate control algorithm should use the values specified in
| |
| useGopRemainingFrames | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT useGopRemainingFrames(boolean value) Sets the specified value to the | |
VkVideoEncodeH265GopRemainingFrameInfoEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkVideoEncodeH265GopRemainingFrameInfoEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkVideoEncodeH265GopRemainingFrameInfoEXT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected VkVideoEncodeH265GopRemainingFrameInfoEXT getElementFactory() Implements abstract org.
| |
| gopRemainingB | back to summary |
|---|---|
public int gopRemainingB()
| |
| gopRemainingB | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |
| gopRemainingI | back to summary |
|---|---|
public int gopRemainingI()
| |
| gopRemainingI | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |
| gopRemainingP | back to summary |
|---|---|
public int gopRemainingP()
| |
| gopRemainingP | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkVideoEncodeH265GopRemainingFrameInfoEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the | |
| useGopRemainingFrames | back to summary |
|---|---|
public boolean useGopRemainingFrames()
| |
| useGopRemainingFrames | back to summary |
|---|---|
| public VkVideoEncodeH265GopRemainingFrameInfoEXT. Sets the specified value to the | |