C Specification

The VkVideoEncodeH264ReferenceListsEXT structure representing reference lists is defined as:

// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264ReferenceListsEXT {
    VkStructureType                                      sType;
    const void*                                          pNext;
    uint8_t                                              referenceList0EntryCount;
    const VkVideoEncodeH264DpbSlotInfoEXT*               pReferenceList0Entries;
    uint8_t                                              referenceList1EntryCount;
    const VkVideoEncodeH264DpbSlotInfoEXT*               pReferenceList1Entries;
    const StdVideoEncodeH264RefMemMgmtCtrlOperations*    pMemMgmtCtrlOperations;
} VkVideoEncodeH264ReferenceListsEXT;

Members

  • sType is the type of this structure.

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

  • referenceList0EntryCount is the number of reference pictures in reference list L0 and is identical to StdVideoEncodeH264SliceHeader::num_ref_idx_l0_active_minus1 + 1.

  • pReferenceList0Entries is a pointer to an array of referenceList0EntryCount VkVideoEncodeH264DpbSlotInfoEXT structures specifying the reference list L0 entries for the current picture. The entries provided must be ordered after all reference list L0 modification operations are applied (i.e. final list order). The entries 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 commands. The slot index in each entry must match one of the slot indexes provided in the pReferenceSlots of the parent VkVideoEncodeInfoKHR structure.

  • referenceList1EntryCount is the number of reference pictures in reference list L1 and is identical to StdVideoEncodeH264SliceHeader::num_ref_idx_l1_active_minus1 + 1.

  • pReferenceList1Entries is a pointer to an array of referenceList1EntryCount VkVideoEncodeH264DpbSlotInfoEXT structures specifying the reference list L1 entries for the current picture. The entries provided must be ordered after all reference list L1 modification operations are applied (i.e. final list order). The entries 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 commands. The slot index in each entry must match one of the slot indexes provided in the pReferenceSlots of the parent VkVideoEncodeInfoKHR structure.

  • pMemMgmtCtrlOperations is a pointer to a StdVideoEncodeH264RefMemMgmtCtrlOperations structure specifying reference lists modifications and decoded picture marking operations.

Description

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH264ReferenceListsEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT

  • VUID-VkVideoEncodeH264ReferenceListsEXT-pNext-pNext
    pNext must be NULL

  • VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList0Entries-parameter
    If referenceList0EntryCount is not 0, pReferenceList0Entries must be a valid pointer to an array of referenceList0EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures

  • VUID-VkVideoEncodeH264ReferenceListsEXT-pReferenceList1Entries-parameter
    If referenceList1EntryCount is not 0, pReferenceList1Entries must be a valid pointer to an array of referenceList1EntryCount valid VkVideoEncodeH264DpbSlotInfoEXT structures

  • VUID-VkVideoEncodeH264ReferenceListsEXT-pMemMgmtCtrlOperations-parameter
    pMemMgmtCtrlOperations must be a valid pointer to a valid StdVideoEncodeH264RefMemMgmtCtrlOperations value

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-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0