The coded size of the encode operation is specified in codedExtent of srcPictureResource.
Multiple CmdEncodeVideoKHR commands may be recorded within a Vulkan Video Encode Context. The execution of each CmdEncodeVideoKHR command will result in generating codec-specific bitstream units. These bitstream units are generated consecutively into the bitstream buffer specified in dstBuffer of a VkVideoEncodeInfoKHR structure within the CmdBeginVideoCodingKHR command. The produced bitstream is the sum of all these bitstream units, including any padding between the bitstream units. Any bitstream padding must be filled with data compliant to the codec standard so as not to cause any syntax errors during decoding of the bitstream units with the padding included. The range of the bitstream buffer written can be queried via video encode feedback queries.
sType must be STRUCTURE_TYPE_VIDEO_ENCODE_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 VkVideoEncodeH264PictureInfoEXT or VkVideoEncodeH265PictureInfoEXTsType value of each struct in the pNext chain must be uniqueflags must be 0dstBuffer must be a valid VkBuffer handlesrcPictureResource must be a valid VkVideoPictureResourceInfoKHR structurepSetupReferenceSlot is not NULL, pSetupReferenceSlot must be a valid pointer to a valid VkVideoReferenceSlotInfoKHR structurereferenceSlotCount is not 0, pReferenceSlots must be a valid pointer to an array of referenceSlotCount valid VkVideoReferenceSlotInfoKHR structuresVkVideoPictureResourceInfoKHR, VkVideoReferenceSlotInfoKHR, CmdEncodeVideoKHR
struct VkVideoEncodeInfoKHR {
VkStructureType sType;
void const * pNext;
VkVideoEncodeFlagsKHR flags;
VkBuffer dstBuffer;
VkDeviceSize dstBufferOffset;
VkDeviceSize dstBufferRange;
VkVideoPictureResourceInfoKHR srcPictureResource;
VkVideoReferenceSlotInfoKHR const * pSetupReferenceSlot;
uint32_t referenceSlotCount;
VkVideoReferenceSlotInfoKHR const * pReferenceSlots;
uint32_t precedingExternallyEncodedBytes;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkVideoEncodeInfoKHR.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | DSTBUFFER
The struct member offsets. |
| public static final int | DSTBUFFEROFFSET
The struct member offsets. |
| public static final int | DSTBUFFERRANGE
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PRECEDINGEXTERNALLYENCODEDBYTES
The struct member offsets. |
| public static final int | PREFERENCESLOTS
The struct member offsets. |
| public static final int | PSETUPREFERENCESLOT
The struct member offsets. |
| public static final int | REFERENCESLOTCOUNT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | SRCPICTURERESOURCE
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkVideoEncodeInfoKHR(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeInfoKHR | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeInfoKHR. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkVideoEncodeInfoKHR | 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 VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR. | create(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeInfoKHR. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR. | |
| public long | |
| public VkVideoEncodeInfoKHR | |
| public long | dstBufferOffset()
the starting offset in bytes from the start of |
| public VkVideoEncodeInfoKHR | |
| public long | dstBufferRange()
the maximum size in bytes of the encoded bitstream written to |
| public VkVideoEncodeInfoKHR | |
| public int | |
| public VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR | |
| public static VkVideoEncodeInfoKHR. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkVideoEncodeInfoKHR | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkVideoEncodeInfoKHR. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | nprecedingExternallyEncodedBytes(long struct, int value)
Unsafe version of |
| public static VkVideoReferenceSlotInfoKHR. | |
| public static void | npReferenceSlots(long struct, VkVideoReferenceSlotInfoKHR.
Unsafe version of |
| public static VkVideoReferenceSlotInfoKHR | |
| public static void | npSetupReferenceSlot(long struct, VkVideoReferenceSlotInfoKHR value)
Unsafe version of |
| public static int | |
| public static void | nreferenceSlotCount(long struct, int value)
Sets the specified value to the |
| public static VkVideoPictureResourceInfoKHR | |
| public static void | nsrcPictureResource(long struct, VkVideoPictureResourceInfoKHR value)
Unsafe version of |
| public static int | |
| public static void | |
| public long | |
| public VkVideoEncodeInfoKHR | |
| public VkVideoEncodeInfoKHR | pNext(VkVideoEncodeH264PictureInfoEXT value)
Prepends the specified |
| public VkVideoEncodeInfoKHR | pNext(VkVideoEncodeH265PictureInfoEXT value)
Prepends the specified |
| public int | precedingExternallyEncodedBytes()
the number of bytes externally encoded for insertion in the active video encode session overall bitstream prior to the bitstream that will be generated by the implementation for this instance of |
| public VkVideoEncodeInfoKHR | precedingExternallyEncodedBytes(int value)
Sets the specified value to the |
| public VkVideoReferenceSlotInfoKHR. | pReferenceSlots()
|
| public VkVideoEncodeInfoKHR | pReferenceSlots(VkVideoReferenceSlotInfoKHR.
Sets the address of the specified |
| public VkVideoReferenceSlotInfoKHR | pSetupReferenceSlot()
a pointer to a |
| public VkVideoEncodeInfoKHR | pSetupReferenceSlot(VkVideoReferenceSlotInfoKHR value)
Sets the address of the specified |
| public int | referenceSlotCount()
the number of Reconstructed Reference Pictures that will be used when this encoding operation is executing. |
| public VkVideoEncodeInfoKHR | set(int sType, long pNext, int flags, long dstBuffer, long dstBufferOffset, long dstBufferRange, VkVideoPictureResourceInfoKHR srcPictureResource, VkVideoReferenceSlotInfoKHR pSetupReferenceSlot, VkVideoReferenceSlotInfoKHR.
Initializes this struct with the specified values. |
| public VkVideoEncodeInfoKHR | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public VkVideoPictureResourceInfoKHR | |
| public VkVideoEncodeInfoKHR | srcPictureResource(VkVideoPictureResourceInfoKHR value)
Copies the specified |
| public VkVideoEncodeInfoKHR | srcPictureResource(Consumer<VkVideoPictureResourceInfoKHR> consumer)
Passes the |
| public int | |
| public VkVideoEncodeInfoKHR | |
| public VkVideoEncodeInfoKHR | |
| public static void |