VkVideoEncodeH264VclFrameInfoEXT(3)

# VkVideoEncodeH264VclFrameInfoEXT(3) Manual Page

## Name

VkVideoEncodeH264VclFrameInfoEXT - Structure specifies H.264 encode frame parameters

Loading… please wait.

## 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 an array of VkVideoEncodeH264DpbSlotInfoEXT providing info 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 VkVideoEncodeInfoKHR structure to which this structure is chained to.

- `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 an array of VkVideoEncodeH264DpbSlotInfoEXT providing info for 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 VkVideoEncodeInfoKHR structure to which this structure is chained to.

- `naluSliceEntryCount` is the number of NALUs in this frame.

- `pNaluSliceEntries` is an array of `naluCount` VkVideoEncodeH264Nalu* structs 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 the VkVideoEncodeH264DpbSlotInfoEXT info 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

VkStructureType, VkVideoEncodeH264DpbSlotInfoEXT, VkVideoEncodeH264NaluSliceEXT

## 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

Copyright 2014-2021 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0