C Specification
The VkVideoDecodeAV1PictureInfoKHR structure is defined as:
// Provided by VK_KHR_video_decode_av1
typedef struct VkVideoDecodeAV1PictureInfoKHR {
VkStructureType sType;
const void* pNext;
const StdVideoDecodeAV1PictureInfo* pStdPictureInfo;
int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
uint32_t frameHeaderOffset;
uint32_t tileCount;
const uint32_t* pTileOffsets;
const uint32_t* pTileSizes;
} VkVideoDecodeAV1PictureInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
pStdPictureInfois a pointer to aStdVideoDecodeAV1PictureInfostructure specifying AV1 picture information. -
referenceNameSlotIndicesis an array of seven (VK_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]. -
frameHeaderOffsetis 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 in VkVideoDecodeInfoKHR. -
tileCountis the number of elements inpTileOffsetsandpTileSizes. -
pTileOffsetsis a pointer to an array oftileCountintegers specifying the byte offset of the tiles of the picture within the video bitstream buffer range specified in VkVideoDecodeInfoKHR. -
pTileSizesis a pointer to an array oftileCountintegers specifying the byte size of the tiles of the picture within the video bitstream buffer range specified in VkVideoDecodeInfoKHR.
Description
This structure is specified in the pNext chain of the
VkVideoDecodeInfoKHR structure passed to vkCmdDecodeVideoKHR to
specify the codec-specific picture information for an AV1
decode operation.
- Decode Output Picture Information
-
When this structure is specified in the
pNextchain of the VkVideoDecodeInfoKHR structure passed to vkCmdDecodeVideoKHR, the information related to the decode output picture is defined as follows:-
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
-
The members of the
StdVideoDecodeAV1PictureInfostructure pointed to bypStdPictureInfoare interpreted as follows:-
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 index j of element i corresponds toFeatureEnabled[i][j]as defined in section 5.9.14 of the AV1 Specification; -
FeatureDatais interpreted as defined in section 5.9.14 of the AV1 Specification;
-
-
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 index i is interpreted as the value ofupdate_ref_deltacorresponding to element i ofloop_filter_ref_deltasas defined in section 6.8.10 of the AV1 Specification; -
update_mode_deltais a bitmask where bit index i is interpreted as the value ofupdate_mode_deltacorresponding to element i ofloop_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;NoteIf the syntax elements corresponding to
loop_filter_ref_deltasandloop_filter_mode_deltasare not present or otherwise defined according to section 5.9.11 of the AV1 Specification, the application should specify the previous values, 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 as log2(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
VK_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 , unless the bound video session was created with
VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHRand the active sequence header is specified inline. .
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.