Class VkVideoDecodeAV1DpbSlotInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
This structure is specified in the pNext chain of VkVideoDecodeInfoKHR::pSetupReferenceSlot, if not NULL, and the pNext chain of the elements of VkVideoDecodeInfoKHR::pReferenceSlots to specify the codec-specific reference picture information for an AV1 decode operation.
- Active Reference Picture Information
- The image subregion used is determined according to the AV1 Decode Picture Data Access section.
- The reference picture is associated with the DPB slot index specified in the
slotIndexmember of the corresponding element ofVkVideoDecodeInfoKHR::pReferenceSlots. - The reference picture is associated with the AV1 reference information provided in
pStdReferenceInfo.
- Reconstructed Picture Information
- The image subregion used is determined according to the AV1 Decode Picture Data Access section.
- If reference picture setup is requested, then the reconstructed picture is used to activate the DPB slot with the index specified in
VkVideoDecodeInfoKHR::pSetupReferenceSlot→slotIndex. - The reconstructed picture is associated with the AV1 reference information provided in
pStdReferenceInfo.
- Std Reference Information
flags.reservedandreserved1are used only for padding purposes and are otherwise ignored;flags.disable_frame_end_update_cdfis interpreted as defined in section 6.8.2 of the AV1 Specification;flags.segmentation_enabledis interpreted as defined in section 6.8.13 of the AV1 Specification;frame_typeis interpreted as defined in section 6.8.2 of the AV1 Specification;Note
The
frame_typemember is defined with the typeuint8_t, but it takes the same values defined in theStdVideoAV1FrameTypeenumeration type asStdVideoDecodeAV1PictureInfo::frame_type.RefFrameSignBiasis a bitmask where bit indexicorresponds toRefFrameSignBias[i]as defined in section 6.8.2 of the AV1 Specification;OrderHintis interpreted as defined in section 6.8.2 of the AV1 Specification;SavedOrderHintsis interpreted as defined in section 7.20 of the AV1 Specification.Note
When the AV1 reference information is provided for the reconstructed picture, certain parameters (e.g.
frame_type) are specified both in the AV1 picture information and in the AV1 reference information. This is necessary because unlike the AV1 picture information, which is only used for the purposes of the video decode operation in question, the AV1 reference information specified for the reconstructed picture may be associated with the activated DPB slot, meaning that some implementations may maintain it as part of the reference picture metadata corresponding to the video picture resource associated with the DPB slot. When the AV1 reference information is provided for an active reference picture, the specified parameters correspond to the parameters specified when the DPB slot was activated (set up) with the reference picture, as usual, in order to communicate these parameters for implementations that do not maintain any subset of these parameters as part of the DPB slot’s reference picture metadata.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHRpStdReferenceInfomust be a valid pointer to a validStdVideoDecodeAV1ReferenceInfovalue
Layout
struct VkVideoDecodeAV1DpbSlotInfoKHR {
VkStructureType sType();
void const * pNext();
StdVideoDecodeAV1ReferenceInfo const * pStdReferenceInfo();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVideoDecodeAV1DpbSlotInfoKHRstructs.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 size in bytes.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
ConstructorsConstructorDescriptionVkVideoDecodeAV1DpbSlotInfoKHR(ByteBuffer container) Creates aVkVideoDecodeAV1DpbSlotInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoDecodeAV1DpbSlotInfoKHRcreateSafe(long address) static @Nullable VkVideoDecodeAV1DpbSlotInfoKHR.BuffercreateSafe(long address, int capacity) malloc()Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated on the specifiedMemoryStack.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.npStdReferenceInfo(long struct) Unsafe version ofpStdReferenceInfo().static voidnpStdReferenceInfo(long struct, StdVideoDecodeAV1ReferenceInfo value) Unsafe version ofpStdReferenceInfo.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.a pointer to aStdVideoDecodeAV1ReferenceInfostructure specifying AV1 reference information.Sets the address of the specifiedStdVideoDecodeAV1ReferenceInfoto thepStdReferenceInfo()field.set(int sType, long pNext, StdVideoDecodeAV1ReferenceInfo pStdReferenceInfo) 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_DECODE_AV1_DPB_SLOT_INFO_KHRvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.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. -
PSTDREFERENCEINFO
public static final int PSTDREFERENCEINFOThe struct member offsets.
-
-
Constructor Details
-
VkVideoDecodeAV1DpbSlotInfoKHR
Creates aVkVideoDecodeAV1DpbSlotInfoKHRinstance 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<VkVideoDecodeAV1DpbSlotInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
pStdReferenceInfo
a pointer to aStdVideoDecodeAV1ReferenceInfostructure specifying AV1 reference information. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pStdReferenceInfo
Sets the address of the specifiedStdVideoDecodeAV1ReferenceInfoto thepStdReferenceInfo()field. -
set
public VkVideoDecodeAV1DpbSlotInfoKHR set(int sType, long pNext, StdVideoDecodeAV1ReferenceInfo pStdReferenceInfo) 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 newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVideoDecodeAV1DpbSlotInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoDecodeAV1DpbSlotInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoDecodeAV1DpbSlotInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoDecodeAV1DpbSlotInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1DpbSlotInfoKHR.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(). -
npStdReferenceInfo
Unsafe version ofpStdReferenceInfo(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
npStdReferenceInfo
Unsafe version ofpStdReferenceInfo. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-