A codec-specific structure specifying additional per-layer rate control settings must be chained to VkVideoEncodeRateControlLayerInfoKHR. If multiple rate control layers are enabled (VkVideoEncodeRateControlInfoKHR::layerCount is greater than 1), then the chained codec-specific extension structure also identifies the specific video coding layer its parent VkVideoEncodeRateControlLayerInfoKHR applies to. If multiple rate control layers are enabled, the number of rate control layers must match the number of video coding layers. The specification for an encode codec-specific extension would describe how multiple video coding layers are enabled for the corresponding codec.
Per-layer rate control settings for all enabled rate control layers must be initialized or re-initialized whenever stream rate control settings are provided via VkVideoEncodeRateControlInfoKHR. This is done by specifying settings for all enabled rate control layers in VkVideoEncodeRateControlInfoKHR::pLayers.
It is possible for an application to enable multiple video coding layers (via codec-specific extensions to encoding operations) while only enabling a single layer of rate control for the entire video stream. To achieve this, layerCount in VkVideoEncodeRateControlInfoKHR must be set to 1, and the single VkVideoEncodeRateControlLayerInfoKHR provided in pLayers would apply to all encoded segments of the video stream, regardless of which codec-defined video coding layer they belong to. In this case, the implementation decides bitrate distribution across video coding layers (if applicable to the specified stream rate control mode).
sType must be STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHRpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkVideoEncodeH264RateControlLayerInfoEXT or VkVideoEncodeH265RateControlLayerInfoEXTsType value of each struct in the pNext chain must be uniqueVkVideoEncodeRateControlInfoKHR
struct VkVideoEncodeRateControlLayerInfoKHR {
VkStructureType sType;
void const * pNext;
uint64_t averageBitrate;
uint64_t maxBitrate;
uint32_t frameRateNumerator;
uint32_t frameRateDenominator;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkVideoEncodeRateControlLayerInfoKHR.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | AVERAGEBITRATE
The struct member offsets. |
| public static final int | FRAMERATEDENOMINATOR
The struct member offsets. |
| public static final int | FRAMERATENUMERATOR
The struct member offsets. |
| public static final int | MAXBITRATE
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. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkVideoEncodeRateControlLayerInfoKHR(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkVideoEncodeRateControlLayerInfoKHR | 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 VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR | create(long address)
Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR. | create(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR. | |
| public int | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public int | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR | |
| public static VkVideoEncodeRateControlLayerInfoKHR. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeRateControlLayerInfoKHR. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public long | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public VkVideoEncodeRateControlLayerInfoKHR | pNext(VkVideoEncodeH264RateControlLayerInfoEXT value)
Prepends the specified |
| public VkVideoEncodeRateControlLayerInfoKHR | pNext(VkVideoEncodeH265RateControlLayerInfoEXT value)
Prepends the specified |
| public VkVideoEncodeRateControlLayerInfoKHR | set(int sType, long pNext, long averageBitrate, long maxBitrate, int frameRateNumerator, int frameRateDenominator)
Initializes this struct with the specified values. |
| public VkVideoEncodeRateControlLayerInfoKHR | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkVideoEncodeRateControlLayerInfoKHR | |
| public VkVideoEncodeRateControlLayerInfoKHR | sType$Default()
Sets the |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| AVERAGEBITRATE | back to summary |
|---|---|
| public static final int AVERAGEBITRATE The struct member offsets. | |
| FRAMERATEDENOMINATOR | back to summary |
|---|---|
| public static final int FRAMERATEDENOMINATOR The struct member offsets. | |
| FRAMERATENUMERATOR | back to summary |
|---|---|
| public static final int FRAMERATENUMERATOR The struct member offsets. | |
| MAXBITRATE | back to summary |
|---|---|
| public static final int MAXBITRATE 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. | |
| VkVideoEncodeRateControlLayerInfoKHR | back to summary |
|---|---|
| protected VkVideoEncodeRateControlLayerInfoKHR(long address, ByteBuffer container) | |
| VkVideoEncodeRateControlLayerInfoKHR | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| averageBitrate | back to summary |
|---|---|
| public long averageBitrate() the average bitrate in bits/second. Valid when rate control mode is
| |
| averageBitrate | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR averageBitrate(long value) Sets the specified value to the | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkVideoEncodeRateControlLayerInfoKHR create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Like
| |
| frameRateDenominator | back to summary |
|---|---|
| public int frameRateDenominator() the denominator of the frame rate. Valid when rate control mode is
| |
| frameRateDenominator | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR frameRateDenominator(int value) Sets the specified value to the | |
| frameRateNumerator | back to summary |
|---|---|
| public int frameRateNumerator() the numerator of the frame rate. Valid when rate control mode is
| |
| frameRateNumerator | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR frameRateNumerator(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeRateControlLayerInfoKHR. Returns a new
| |
| maxBitrate | back to summary |
|---|---|
| public long maxBitrate() the peak bitrate in bits/second. Valid when rate control mode is
| |
| maxBitrate | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR maxBitrate(long value) Sets the specified value to the | |
| naverageBitrate | back to summary |
|---|---|
| public static long naverageBitrate(long struct) Unsafe version of | |
| naverageBitrate | back to summary |
|---|---|
| public static void naverageBitrate(long struct, long value) Unsafe version of | |
| nframeRateDenominator | back to summary |
|---|---|
| public static int nframeRateDenominator(long struct) Unsafe version of | |
| nframeRateDenominator | back to summary |
|---|---|
| public static void nframeRateDenominator(long struct, int value) Unsafe version of | |
| nframeRateNumerator | back to summary |
|---|---|
| public static int nframeRateNumerator(long struct) Unsafe version of | |
| nframeRateNumerator | back to summary |
|---|---|
| public static void nframeRateNumerator(long struct, int value) Unsafe version of | |
| nmaxBitrate | back to summary |
|---|---|
| public static long nmaxBitrate(long struct) Unsafe version of | |
| nmaxBitrate | back to summary |
|---|---|
| public static void nmaxBitrate(long struct, long 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 | |
| pNext | back to summary |
|---|---|
| public long pNext() a pointer to a structure extending this structure.
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR pNext(long value) Sets the specified value to the | |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR pNext(VkVideoEncodeH264RateControlLayerInfoEXT value) Prepends the specified | |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR pNext(VkVideoEncodeH265RateControlLayerInfoEXT value) Prepends the specified | |
| set | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR set(int sType, long pNext, long averageBitrate, long maxBitrate, int frameRateNumerator, int frameRateDenominator) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR set(VkVideoEncodeRateControlLayerInfoKHR 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 VkVideoEncodeRateControlLayerInfoKHR sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR sType$Default() Sets the | |
VkVideoEncodeRateControlLayerInfoKHR structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkVideoEncodeRateControlLayerInfoKHR |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkVideoEncodeRateControlLayerInfoKHR 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) | |
| averageBitrate | back to summary |
|---|---|
public long averageBitrate()
| |
| averageBitrate | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| frameRateDenominator | back to summary |
|---|---|
public int frameRateDenominator()
| |
| frameRateDenominator | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| frameRateNumerator | back to summary |
|---|---|
public int frameRateNumerator()
| |
| frameRateNumerator | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkVideoEncodeRateControlLayerInfoKHR getElementFactory() Implements abstract org.
| |
| maxBitrate | back to summary |
|---|---|
public long maxBitrate()
| |
| maxBitrate | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Prepends the specified | |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Prepends the specified | |
| self | back to summary |
|---|---|
| protected VkVideoEncodeRateControlLayerInfoKHR. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeRateControlLayerInfoKHR. Sets the | |