C Specification

When calling vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR with pVideoProfile->videoCodecOperation specified as VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, the VkVideoEncodeH264QualityLevelPropertiesEXT structure can be included in the pNext chain of the VkVideoEncodeQualityLevelPropertiesKHR structure to retrieve additional video encode quality level properties specific to H.264 encoding.

The VkVideoEncodeH264QualityLevelPropertiesEXT structure is defined as:

// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264QualityLevelPropertiesEXT {
    VkStructureType                         sType;
    void*                                   pNext;
    VkVideoEncodeH264RateControlFlagsEXT    preferredRateControlFlags;
    uint32_t                                preferredGopFrameCount;
    uint32_t                                preferredIdrPeriod;
    uint32_t                                preferredConsecutiveBFrameCount;
    uint32_t                                preferredTemporalLayerCount;
    VkVideoEncodeH264QpEXT                  preferredConstantQp;
    uint32_t                                preferredMaxL0ReferenceCount;
    uint32_t                                preferredMaxL1ReferenceCount;
    VkBool32                                preferredStdEntropyCodingModeFlag;
} VkVideoEncodeH264QualityLevelPropertiesEXT;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • preferredRateControlFlags is a bitmask of VkVideoEncodeH264RateControlFlagBitsEXT values indicating the preferred flags to use for VkVideoEncodeH264RateControlInfoEXT::flags.

  • preferredGopFrameCount indicates the preferred value to use for VkVideoEncodeH264RateControlInfoEXT::gopFrameCount.

  • preferredIdrPeriod indicates the preferred value to use for VkVideoEncodeH264RateControlInfoEXT::idrPeriod.

  • preferredConsecutiveBFrameCount indicates the preferred value to use for VkVideoEncodeH264RateControlInfoEXT::consecutiveBFrameCount.

  • preferredTemporalLayerCount indicates the preferred value to use for VkVideoEncodeH264RateControlInfoEXT::temporalLayerCount.

  • preferredConstantQp indicates the preferred values to use for VkVideoEncodeH264NaluSliceInfoEXT::constantQp for each picture type when using rate control mode VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR.

  • preferredMaxL0ReferenceCount indicates the preferred maximum number of reference pictures to use in the reference list L0.

  • preferredMaxL1ReferenceCount indicates the preferred maximum number of reference pictures to use in the reference list L1.

  • preferredStdEntropyCodingModeFlag indicates the preferred value to use for entropy_coding_mode_flag in StdVideoH264PpsFlags.

Description

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH264QualityLevelPropertiesEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT

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

SPDX-License-Identifier: CC-BY-4.0