C Specification

The structure VkVideoEncodeH264VclFrameInfoEXT representing a frame encode operation is defined as:

// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264VclFrameInfoEXT {
    VkStructureType                           sType;
    const void*                               pNext;
    uint8_t                                   refDefaultFinalList0EntryCount;
    const VkVideoEncodeH264DpbSlotInfoEXT*    pRefDefaultFinalList0Entries;
    uint8_t                                   refDefaultFinalList1EntryCount;
    const VkVideoEncodeH264DpbSlotInfoEXT*    pRefDefaultFinalList1Entries;
    uint32_t                                  naluSliceEntryCount;
    const VkVideoEncodeH264NaluSliceEXT*      pNaluSliceEntries;
    const VkVideoEncodeH264DpbSlotInfoEXT*    pCurrentPictureInfo;
} VkVideoEncodeH264VclFrameInfoEXT;

Members

  • sType is the type of this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • refDefaultFinalList0EntryCount is the default number of reference List0 entries for all slices of this frame. Each slice may override this by providing its own List0 entries.

  • pRefDefaultFinalList0Entries is a pointer to an array of VkVideoEncodeH264DpbSlotInfoEXT structures providing information for each reference List0 entry. The entries provided must be ordered after all reference List0 modification operations are applied (i.e. final list order). The entires provided must not reflect decoded picture marking operations in this frame that are applicable to references; the impact of such operations must be reflected in future frame encode cmds. The slot index in each entry must match one of the slot indexes provided in pReferenceSlots of the VkVideoEncodeInfoKHR structure to which this structure is chained.

  • refDefaultFinalList1EntryCount is the default number of reference List1 entries for all slices of this frame. Each slice may override this by providing its own List1 entries.

  • pRefDefaultFinalList1Entries is a pointer to an array of VkVideoEncodeH264DpbSlotInfoEXT structures providing information related to each reference List1 entry. The entries provided must be ordered after all reference List1 modification operations are applied (i.e. final list order). The entires provided must not reflect decoded picture marking operations in this frame that are applicable to references; the impact of such operations must be reflected in future frame encode cmds. The slot index in each entry must match one of the slot indexes provided in pReferenceSlots of the VkVideoEncodeInfoKHR structure to which this structure is chained.

  • naluSliceEntryCount is the number of NALUs in this frame.

  • pNaluSliceEntries is a pointer to an array of naluCount VkVideoEncodeH264NaluSliceEXT structures that make up the frame. This is an ordered sequence; the NALUs are generated consecutively in the bitstream buffer (provided in bitstreamBuffer in VkVideoBeginCodingInfoKHR) in the same order as in this array.

  • pCurrentPictureInfo is a pointer to a VkVideoEncodeH264DpbSlotInfoEXT structure specifying information for the reconstructed picture for this frame. Info provided must reflect decoded picture marking operations in this frame that are applicable to this frame. The slot index in pCurrentPictureInfo must match the slot index provided in pSetupReferenceSlot of VkVideoEncodeInfoKHR structure to which this structure is chained to.

Description

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH264VclFrameInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList0Entries-parameter
    pRefDefaultFinalList0Entries must be a valid pointer to an array of refDefaultFinalList0EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-pRefDefaultFinalList1Entries-parameter
    pRefDefaultFinalList1Entries must be a valid pointer to an array of refDefaultFinalList1EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-pNaluSliceEntries-parameter
    pNaluSliceEntries must be a valid pointer to an array of naluSliceEntryCount valid VkVideoEncodeH264NaluSliceEXT structures

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-pCurrentPictureInfo-parameter
    pCurrentPictureInfo must be a valid pointer to a valid VkVideoEncodeH264DpbSlotInfoEXT structure

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList0EntryCount-arraylength
    refDefaultFinalList0EntryCount must be greater than 0

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-refDefaultFinalList1EntryCount-arraylength
    refDefaultFinalList1EntryCount must be greater than 0

  • VUID-VkVideoEncodeH264VclFrameInfoEXT-naluSliceEntryCount-arraylength
    naluSliceEntryCount must be greater than 0

See Also

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.

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0