Class VkVideoDecodeAV1PictureInfoKHR
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
This structure is specified in the pNext chain of the VkVideoDecodeInfoKHR structure passed to CmdDecodeVideoKHR to specify the codec-specific picture information for an AV1 decode operation.
- Decode Output Picture Information
- The image subregion used is determined according to the AV1 Decode Picture Data Access section.
- The decode output picture is associated with the AV1 picture information provided in
pStdPictureInfo.
- Std Picture Information
flags.reserved,reserved1, andreserved2are used only for padding purposes and are otherwise ignored;flags.apply_grainindicates that film grain is enabled for the decoded picture, as defined in section 6.8.20 of the AV1 Specification;OrderHint,OrderHints, andexpectedFrameIdare interpreted as defined in section 6.8.2 of the AV1 Specification;- the
StdVideoAV1TileInfostructure pointed to bypTileInfois interpreted as follows:flags.reservedandreserved1are used only for padding purposes and are otherwise ignored;pMiColStartsis a pointer to an array ofTileColsnumber of unsigned integers that corresponds toMiColStartsdefined in section 6.8.14 of the AV1 Specification;pMiRowStartsis a pointer to an array ofTileRowsnumber of unsigned integers that corresponds toMiRowStartsdefined in section 6.8.14 of the AV1 Specification;pWidthInSbsMinus1is a pointer to an array ofTileColsnumber of unsigned integers that corresponds towidth_in_sbs_minus_1defined in section 6.8.14 of the AV1 Specification;pHeightInSbsMinus1is a pointer to an array ofTileRowsnumber of unsigned integers that corresponds toheight_in_sbs_minus_1defined in section 6.8.14 of the AV1 Specification;- all other members of
StdVideoAV1TileInfoare interpreted as defined in section 6.8.14 of the AV1 Specification;
- the
StdVideoAV1Quantizationstructure pointed to bypQuantizationis interpreted as follows:flags.reservedis used only for padding purposes and is otherwise ignored;- all other members of
StdVideoAV1Quantizationare interpreted as defined in section 6.8.11 of the AV1 Specification;
- if
flags.segmentation_enabledis set, then theStdVideoAV1Segmentationstructure pointed to bypSegmentationis interpreted as follows:- the elements of
FeatureEnabledare bitmasks where bit indexjof elementicorresponds toFeatureEnabled[i][j]as defined in section 6.8.13 of the AV1 Specification; FeatureDatais interpreted as defined in section 6.8.13 of the AV1 Specification;
- the elements of
- the
StdVideoAV1LoopFilterstructure pointed to bypLoopFilteris interpreted as follows:flags.reservedis used only for padding purposes and is otherwise ignored;update_ref_deltais a bitmask where bit indexiis interpreted as the value ofupdate_ref_deltacorresponding to elementiofloop_filter_ref_deltasas defined in section 6.8.10 of the AV1 Specification;update_mode_deltais a bitmask where bit indexiis interpreted as the value ofupdate_mode_deltacorresponding to elementiofloop_filter_mode_deltasas defined in section 6.8.10 of the AV1 Specification;- all other members of
StdVideoAV1LoopFilterare interpreted as defined in section 6.8.10 of the AV1 Specification;
- if
flags.enable_cdefis set in the active sequence header, then the members of theStdVideoAV1CDEFstructure pointed to bypCDEFare interpreted as follows:cdef_y_sec_strengthandcdef_uv_sec_strengthare the bitstream values of the corresponding syntax elements defined in section 5.9.19 of the AV1 Specification;- all other members of
StdVideoAV1CDEFare interpreted as defined in section 6.10.14 of the AV1 Specification;
- the
StdVideoAV1LoopRestorationstructure pointed to bypLoopRestorationis interpreted as follows:LoopRestorationSize[plane] is interpreted aslog2(size) - 5, wheresizeis the value ofLoopRestorationSize[plane] as defined in section 6.10.15 of the AV1 Specification.- all other members of
StdVideoAV1LoopRestorationare defined as in section 6.10.15 of the AV1 Specification;
- the members of the
StdVideoAV1GlobalMotionstructure provided inglobal_motionare interpreted as defined in section 7.10 of the AV1 Specification; - if
flags.film_grain_params_presentis set in the active sequence header, then theStdVideoAV1FilmGrainstructure pointed to bypFilmGrainis interpreted as follows:flags.reservedis used only for padding purposes and is otherwise ignored;- all other members of
StdVideoAV1FilmGrainare interpreted as defined in section 6.8.20 of the AV1 Specification;
- all other members are interpreted as defined in section 6.8 of the AV1 Specification.
When film grain is enabled for the decoded frame, the flags.update_grain and film_grain_params_ref_idx values specified in StdVideoAV1FilmGrain are ignored by AV1 decode operations and the load_grain_params function, as defined in section 6.8.20 of the AV1 Specification, is not executed. Instead, the application is responsible for specifying the effective film grain parameters for the frame in StdVideoAV1FilmGrain.
When film grain is enabled for the decoded frame, the application is required to specify a different decode output picture resource in VkVideoDecodeInfoKHR::dstPictureResource compared to the reconstructed picture specified in VkVideoDecodeInfoKHR::pSetupReferenceSlot→pPictureResource even if the implementation does not report support for VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR in VkVideoDecodeCapabilitiesKHR::flags for the video decode profile.
Reference picture setup is controlled by the value of StdVideoDecodeAV1PictureInfo::refresh_frame_flags. If it is not zero and a reconstructed picture is specified, then the latter is used as the target of picture reconstruction to activate the DPB slot specified in pDecodeInfo→pSetupReferenceSlot→slotIndex. If StdVideoDecodeAV1PictureInfo::refresh_frame_flags is zero, but a reconstructed picture is specified, then the corresponding picture reference associated with the DPB slot is invalidated, as described in the DPB Slot States section.
- Active Parameter Sets
- The active sequence header is the AV1 sequence header stored in the bound video session parameters object.
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHRpStdPictureInfomust be a valid pointer to a validStdVideoDecodeAV1PictureInfovaluepTileOffsetsmust be a valid pointer to an array oftileCountuint32_tvaluespTileSizesmust be a valid pointer to an array oftileCountuint32_tvaluestileCountmust be greater than 0
Layout
struct VkVideoDecodeAV1PictureInfoKHR {
VkStructureType sType();
void const * pNext();
StdVideoDecodeAV1PictureInfo const * pStdPictureInfo();
int32_t referenceNameSlotIndices()[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
uint32_t frameHeaderOffset();
uint32_t tileCount();
uint32_t const * pTileOffsets();
uint32_t const * pTileSizes();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkVideoDecodeAV1PictureInfoKHRstructs.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 member offsets.static final intThe struct member offsets.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.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
ConstructorsConstructorDescriptionVkVideoDecodeAV1PictureInfoKHR(ByteBuffer container) Creates aVkVideoDecodeAV1PictureInfoKHRinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated withBufferUtils.create(int capacity) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkVideoDecodeAV1PictureInfoKHRinstance for the specified memory address.create(long address, int capacity) Create aVkVideoDecodeAV1PictureInfoKHR.Bufferinstance at the specified memory.static @Nullable VkVideoDecodeAV1PictureInfoKHRcreateSafe(long address) static @Nullable VkVideoDecodeAV1PictureInfoKHR.BuffercreateSafe(long address, int capacity) intthe byte offset of the AV1 frame header OBU, as defined in section 5.9 of the AV1 Specification, within the video bitstream buffer range specified inVkVideoDecodeInfoKHR.frameHeaderOffset(int value) Sets the specified value to theframeHeaderOffset()field.malloc()Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated on the specifiedMemoryStack.static intnframeHeaderOffset(long struct) Unsafe version offrameHeaderOffset().static voidnframeHeaderOffset(long struct, int value) Unsafe version offrameHeaderOffset.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static StdVideoDecodeAV1PictureInfonpStdPictureInfo(long struct) Unsafe version ofpStdPictureInfo().static voidnpStdPictureInfo(long struct, StdVideoDecodeAV1PictureInfo value) Unsafe version ofpStdPictureInfo.static IntBuffernpTileOffsets(long struct) Unsafe version ofpTileOffsets.static voidnpTileOffsets(long struct, IntBuffer value) Unsafe version ofpTileOffsets.static IntBuffernpTileSizes(long struct) Unsafe version ofpTileSizes.static voidnpTileSizes(long struct, IntBuffer value) Unsafe version ofpTileSizes.static IntBuffernreferenceNameSlotIndices(long struct) Unsafe version ofreferenceNameSlotIndices().static intnreferenceNameSlotIndices(long struct, int index) Unsafe version ofreferenceNameSlotIndices.static voidnreferenceNameSlotIndices(long struct, int index, int value) Unsafe version ofreferenceNameSlotIndices.static voidnreferenceNameSlotIndices(long struct, IntBuffer value) Unsafe version ofreferenceNameSlotIndices.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.static intntileCount(long struct) Unsafe version oftileCount().static voidntileCount(long struct, int value) Sets the specified value to thetileCountfield of the specifiedstruct.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.a pointer to aStdVideoDecodeAV1PictureInfostructure specifying AV1 picture information.Sets the address of the specifiedStdVideoDecodeAV1PictureInfoto thepStdPictureInfo()field.a pointer to an array oftileCountintegers specifying the byte offset of the tiles of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR.pTileOffsets(IntBuffer value) Sets the address of the specifiedIntBufferto thepTileOffsets()field.a pointer to an array oftileCountintegers specifying the byte size of the tiles of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR.pTileSizes(IntBuffer value) Sets the address of the specifiedIntBufferto thepTileSizes()field.an array of seven (MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR, which is equal to the Video Std definitionSTD_VIDEO_AV1_REFS_PER_FRAME) signed integer values specifying the index of the DPB slot or a negative integer value for each AV1 reference name used for inter coding.intreferenceNameSlotIndices(int index) an array of seven (MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR, which is equal to the Video Std definitionSTD_VIDEO_AV1_REFS_PER_FRAME) signed integer values specifying the index of the DPB slot or a negative integer value for each AV1 reference name used for inter coding.referenceNameSlotIndices(int index, int value) Sets the specified value at the specified index of thereferenceNameSlotIndices()field.Copies the specifiedIntBufferto thereferenceNameSlotIndices()field.set(int sType, long pNext, StdVideoDecodeAV1PictureInfo pStdPictureInfo, IntBuffer referenceNameSlotIndices, int frameHeaderOffset, int tileCount, IntBuffer pTileOffsets, IntBuffer pTileSizes) 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_PICTURE_INFO_KHRvalue to thesType()field.intthe number of elements inpTileOffsetsandpTileSizes.tileCount(int value) Sets the specified value to thetileCount()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. -
PSTDPICTUREINFO
public static final int PSTDPICTUREINFOThe struct member offsets. -
REFERENCENAMESLOTINDICES
public static final int REFERENCENAMESLOTINDICESThe struct member offsets. -
FRAMEHEADEROFFSET
public static final int FRAMEHEADEROFFSETThe struct member offsets. -
TILECOUNT
public static final int TILECOUNTThe struct member offsets. -
PTILEOFFSETS
public static final int PTILEOFFSETSThe struct member offsets. -
PTILESIZES
public static final int PTILESIZESThe struct member offsets.
-
-
Constructor Details
-
VkVideoDecodeAV1PictureInfoKHR
Creates aVkVideoDecodeAV1PictureInfoKHRinstance 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<VkVideoDecodeAV1PictureInfoKHR>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
pStdPictureInfo
a pointer to aStdVideoDecodeAV1PictureInfostructure specifying AV1 picture information. -
referenceNameSlotIndices
an array of seven (MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR, which is equal to the Video Std definitionSTD_VIDEO_AV1_REFS_PER_FRAME) signed integer values specifying the index of the DPB slot or a negative integer value for each AV1 reference name used for inter coding. In particular, the DPB slot index for the AV1 reference nameframeis specified inreferenceNameSlotIndices[frame-STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME]. -
referenceNameSlotIndices
public int referenceNameSlotIndices(int index) an array of seven (MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR, which is equal to the Video Std definitionSTD_VIDEO_AV1_REFS_PER_FRAME) signed integer values specifying the index of the DPB slot or a negative integer value for each AV1 reference name used for inter coding. In particular, the DPB slot index for the AV1 reference nameframeis specified inreferenceNameSlotIndices[frame-STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME]. -
frameHeaderOffset
public int frameHeaderOffset()the byte offset of the AV1 frame header OBU, as defined in section 5.9 of the AV1 Specification, within the video bitstream buffer range specified inVkVideoDecodeInfoKHR. -
tileCount
public int tileCount()the number of elements inpTileOffsetsandpTileSizes. -
pTileOffsets
a pointer to an array oftileCountintegers specifying the byte offset of the tiles of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR. -
pTileSizes
a pointer to an array oftileCountintegers specifying the byte size of the tiles of the picture within the video bitstream buffer range specified inVkVideoDecodeInfoKHR. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHRvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pStdPictureInfo
Sets the address of the specifiedStdVideoDecodeAV1PictureInfoto thepStdPictureInfo()field. -
referenceNameSlotIndices
Copies the specifiedIntBufferto thereferenceNameSlotIndices()field. -
referenceNameSlotIndices
Sets the specified value at the specified index of thereferenceNameSlotIndices()field. -
frameHeaderOffset
Sets the specified value to theframeHeaderOffset()field. -
tileCount
Sets the specified value to thetileCount()field. -
pTileOffsets
Sets the address of the specifiedIntBufferto thepTileOffsets()field. -
pTileSizes
Sets the address of the specifiedIntBufferto thepTileSizes()field. -
set
public VkVideoDecodeAV1PictureInfoKHR set(int sType, long pNext, StdVideoDecodeAV1PictureInfo pStdPictureInfo, IntBuffer referenceNameSlotIndices, int frameHeaderOffset, int tileCount, IntBuffer pTileOffsets, IntBuffer pTileSizes) 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 newVkVideoDecodeAV1PictureInfoKHRinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated withBufferUtils. -
create
Returns a newVkVideoDecodeAV1PictureInfoKHRinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkVideoDecodeAV1PictureInfoKHR.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkVideoDecodeAV1PictureInfoKHR.Buffer createSafe(long address, int capacity) -
malloc
Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkVideoDecodeAV1PictureInfoKHRinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkVideoDecodeAV1PictureInfoKHR.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHR.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkVideoDecodeAV1PictureInfoKHR.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkVideoDecodeAV1PictureInfoKHR.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(). -
npStdPictureInfo
Unsafe version ofpStdPictureInfo(). -
nreferenceNameSlotIndices
Unsafe version ofreferenceNameSlotIndices(). -
nreferenceNameSlotIndices
public static int nreferenceNameSlotIndices(long struct, int index) Unsafe version ofreferenceNameSlotIndices. -
nframeHeaderOffset
public static int nframeHeaderOffset(long struct) Unsafe version offrameHeaderOffset(). -
ntileCount
public static int ntileCount(long struct) Unsafe version oftileCount(). -
npTileOffsets
Unsafe version ofpTileOffsets. -
npTileSizes
Unsafe version ofpTileSizes. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
npStdPictureInfo
Unsafe version ofpStdPictureInfo. -
nreferenceNameSlotIndices
Unsafe version ofreferenceNameSlotIndices. -
nreferenceNameSlotIndices
public static void nreferenceNameSlotIndices(long struct, int index, int value) Unsafe version ofreferenceNameSlotIndices. -
nframeHeaderOffset
public static void nframeHeaderOffset(long struct, int value) Unsafe version offrameHeaderOffset. -
ntileCount
public static void ntileCount(long struct, int value) Sets the specified value to thetileCountfield of the specifiedstruct. -
npTileOffsets
Unsafe version ofpTileOffsets. -
npTileSizes
Unsafe version ofpTileSizes. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-