Implementations must include support for at least VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR and VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR in supportedEncodeFeedbackFlags.
The input content and encode resolution (specified in VkVideoEncodeInfoKHR::codedExtent) may not be aligned with the codec-specific coding block size. For example, the input content may be 1920x1080 and the coding block size may be 16x16 pixel blocks. In this example, the content is horizontally aligned with the coding block size, but not vertically aligned with the coding block size. Encoding of the last row of blocks may be impacted by contents of the input image in pixel rows 1081 to 1088 (the next vertical alignment with the coding block size). In general, to ensure efficient encoding for the last row/column of blocks, and/or to ensure consistent encoding results between repeated encoding of the same input content, these extra pixel rows/columns should be filled to known values up to the coding block size alignment before encoding operations are performed. Some implementations support performing auto-fill of unaligned pixels beyond a specific alignment for the purposes of encoding, which is reported in encodeInputPictureGranularity. For example, if an implementation reports 1x1 in encodeInputPictureGranularity, then the implementation will perform auto-fill for any unaligned pixels beyond the encode resolution up to the next coding block size. For a coding block size of 16x16, if the implementation reports 16x16 in encodeInputPictureGranularity, then it is the application’s responsibility to fill any unaligned pixels, if desired. When the application does not fill these unaligned pixels, there may be an impact on the encoding efficiency but there will be no effect on the validity of the generated bitstream. If the implementation reports 8x8 in encodeInputPictureGranularity, then for the 1920x1080 example, since the content is aligned to 8 pixels vertically, the implementation will auto-fill pixel rows 1081 to 1088 (up to the 16x16 coding block size in the example). The auto-fill value(s) are implementation-specific. The auto-fill value(s) are not written to the input image memory, but are used as part of the encoding operation on the input image.
sType must be STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR
struct VkVideoEncodeCapabilitiesKHR {
VkStructureType sType;
void * pNext;
VkVideoEncodeCapabilityFlagsKHR flags;
VkVideoEncodeRateControlModeFlagsKHR rateControlModes;
uint32_t maxRateControlLayers;
uint64_t maxBitrate;
uint32_t maxQualityLevels;
VkExtent2D encodeInputPictureGranularity;
VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkVideoEncodeCapabilitiesKHR.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | ENCODEINPUTPICTUREGRANULARITY
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | MAXBITRATE
The struct member offsets. |
| public static final int | MAXQUALITYLEVELS
The struct member offsets. |
| public static final int | MAXRATECONTROLLAYERS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | RATECONTROLMODES
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 | SUPPORTEDENCODEFEEDBACKFLAGS
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkVideoEncodeCapabilitiesKHR(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR | |
| public static VkVideoEncodeCapabilitiesKHR. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeCapabilitiesKHR | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeCapabilitiesKHR. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkVideoEncodeCapabilitiesKHR | 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 VkVideoEncodeCapabilitiesKHR | |
| public static VkVideoEncodeCapabilitiesKHR | create(long address)
Returns a new |
| public static VkVideoEncodeCapabilitiesKHR. | create(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeCapabilitiesKHR. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkVideoEncodeCapabilitiesKHR | |
| public static VkVideoEncodeCapabilitiesKHR. | |
| public VkExtent2D | encodeInputPictureGranularity()
indicates the granularity at which encode input picture data is encoded. |
| public int | |
| public static VkVideoEncodeCapabilitiesKHR | |
| public static VkVideoEncodeCapabilitiesKHR. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeCapabilitiesKHR | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeCapabilitiesKHR. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public long | |
| public int | |
| public int | |
| public static VkExtent2D | |
| public static int | |
| public static long | |
| public static int | |
| public static int | |
| public static long | |
| public static void | |
| public static int | |
| public static int | |
| public static void | |
| public static int | |
| public long | |
| public VkVideoEncodeCapabilitiesKHR | |
| public int | rateControlModes()
a bitmask of |
| public VkVideoEncodeCapabilitiesKHR | |
| public VkVideoEncodeCapabilitiesKHR | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkVideoEncodeCapabilitiesKHR | |
| public VkVideoEncodeCapabilitiesKHR | |
| public int | supportedEncodeFeedbackFlags()
a bitmask of |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| ENCODEINPUTPICTUREGRANULARITY | back to summary |
|---|---|
| public static final int ENCODEINPUTPICTUREGRANULARITY The struct member offsets. | |
| FLAGS | back to summary |
|---|---|
| public static final int FLAGS The struct member offsets. | |
| MAXBITRATE | back to summary |
|---|---|
| public static final int MAXBITRATE The struct member offsets. | |
| MAXQUALITYLEVELS | back to summary |
|---|---|
| public static final int MAXQUALITYLEVELS The struct member offsets. | |
| MAXRATECONTROLLAYERS | back to summary |
|---|---|
| public static final int MAXRATECONTROLLAYERS The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| RATECONTROLMODES | back to summary |
|---|---|
| public static final int RATECONTROLMODES 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. | |
| SUPPORTEDENCODEFEEDBACKFLAGS | back to summary |
|---|---|
| public static final int SUPPORTEDENCODEFEEDBACKFLAGS The struct member offsets. | |
| VkVideoEncodeCapabilitiesKHR | back to summary |
|---|---|
| protected VkVideoEncodeCapabilitiesKHR(long address, ByteBuffer container) | |
| VkVideoEncodeCapabilitiesKHR | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkVideoEncodeCapabilitiesKHR create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Like
| |
| encodeInputPictureGranularity | back to summary |
|---|---|
| public VkExtent2D encodeInputPictureGranularity() indicates the granularity at which encode input picture data is encoded. | |
| flags | back to summary |
|---|---|
| public int flags() a bitmask of
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkVideoEncodeCapabilitiesKHR. Returns a new
| |
| maxBitrate | back to summary |
|---|---|
| public long maxBitrate() indicates the maximum supported bitrate.
| |
| maxQualityLevels | back to summary |
|---|---|
| public int maxQualityLevels() indicates the number of discrete video encode quality levels supported. Implementations must report at least 1.
| |
| maxRateControlLayers | back to summary |
|---|---|
| public int maxRateControlLayers() indicates the maximum number of rate control layers supported.
| |
| nencodeInputPictureGranularity | back to summary |
|---|---|
| public static VkExtent2D nencodeInputPictureGranularity(long struct) Unsafe version of | |
| nflags | back to summary |
|---|---|
| public static int nflags(long struct) Unsafe version of | |
| nmaxBitrate | back to summary |
|---|---|
| public static long nmaxBitrate(long struct) Unsafe version of | |
| nmaxQualityLevels | back to summary |
|---|---|
| public static int nmaxQualityLevels(long struct) Unsafe version of | |
| nmaxRateControlLayers | back to summary |
|---|---|
| public static int nmaxRateControlLayers(long struct) 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 | |
| nrateControlModes | back to summary |
|---|---|
| public static int nrateControlModes(long struct) 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 | |
| nsupportedEncodeFeedbackFlags | back to summary |
|---|---|
| public static int nsupportedEncodeFeedbackFlags(long struct) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR pNext(long value) Sets the specified value to the | |
| rateControlModes | back to summary |
|---|---|
| public int rateControlModes() a bitmask of
| |
| set | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR set(int sType, long pNext) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR set(VkVideoEncodeCapabilitiesKHR 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 VkVideoEncodeCapabilitiesKHR sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR sType$Default() Sets the | |
| supportedEncodeFeedbackFlags | back to summary |
|---|---|
| public int supportedEncodeFeedbackFlags() a bitmask of
| |
VkVideoEncodeCapabilitiesKHR structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkVideoEncodeCapabilitiesKHR |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public VkExtent2D | |
| public int | |
| protected VkVideoEncodeCapabilitiesKHR | |
| public long | |
| public int | |
| public int | Returns: the value of theVkVideoEncodeCapabilitiesKHR#maxRateControlLayers field.
|
| public long | |
| public VkVideoEncodeCapabilitiesKHR. | |
| public int | |
| protected VkVideoEncodeCapabilitiesKHR. | |
| public int | |
| public VkVideoEncodeCapabilitiesKHR. | |
| public VkVideoEncodeCapabilitiesKHR. | sType$Default()
Sets the |
| public int | Returns: the value of theVkVideoEncodeCapabilitiesKHR#supportedEncodeFeedbackFlags field.
|
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkVideoEncodeCapabilitiesKHR 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) | |
| encodeInputPictureGranularity | back to summary |
|---|---|
public VkExtent2D encodeInputPictureGranularity()
| |
| flags | back to summary |
|---|---|
public int flags()
| |
| getElementFactory | back to summary |
|---|---|
| protected VkVideoEncodeCapabilitiesKHR getElementFactory() Implements abstract org.
| |
| maxBitrate | back to summary |
|---|---|
public long maxBitrate()
| |
| maxQualityLevels | back to summary |
|---|---|
public int maxQualityLevels()
| |
| maxRateControlLayers | back to summary |
|---|---|
public int maxRateControlLayers()
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR. Sets the specified value to the | |
| rateControlModes | back to summary |
|---|---|
public int rateControlModes()
| |
| self | back to summary |
|---|---|
| protected VkVideoEncodeCapabilitiesKHR. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkVideoEncodeCapabilitiesKHR. Sets the | |
| supportedEncodeFeedbackFlags | back to summary |
|---|---|
public int supportedEncodeFeedbackFlags()
| |