C Specification

The VkVideoEncodeH264RateControlLayerInfoEXT structure is defined as:

// Provided by VK_EXT_video_encode_h264
typedef struct VkVideoEncodeH264RateControlLayerInfoEXT {
    VkStructureType                  sType;
    const void*                      pNext;
    VkBool32                         useMinQp;
    VkVideoEncodeH264QpEXT           minQp;
    VkBool32                         useMaxQp;
    VkVideoEncodeH264QpEXT           maxQp;
    VkBool32                         useMaxFrameSize;
    VkVideoEncodeH264FrameSizeEXT    maxFrameSize;
} VkVideoEncodeH264RateControlLayerInfoEXT;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • useMinQp indicates whether the values within minQp should be used by the implementation. When it is set to VK_FALSE, the implementation ignores the values in minQp and chooses suitable values.

  • minQp provides the lower bound on the QP values for each picture type, to be used in rate control calculations.

  • useMaxQp indicates whether the values within maxQp should be used by the implementation. When it is set to VK_FALSE, the implementation ignores the values in maxQp and chooses suitable values.

  • maxQp provides the upper bound on the QP values for each picture type, to be used in rate control calculations.

  • useMaxFrameSize indicates whether the values within maxFrameSize should be used by the implementation.

  • maxFrameSize provides the upper bound on the encoded frame size for each picture type. The implementation does not guarantee the encoded frame sizes will be within the specified limits, however these limits may be used as a guide in rate control calculations. If enabled and not set properly, the maxQp limit may prevent the implementation from respecting the maxFrameSize limit.

Description

H.264-specific per-layer rate control parameters must be specified by adding a VkVideoEncodeH264RateControlLayerInfoEXT structure to the pNext chain of each VkVideoEncodeRateControlLayerInfoKHR structure in a call to vkCmdControlVideoCodingKHR command, when the command buffer context has an active video encode H.264 session.

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH264RateControlLayerInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT

  • VUID-VkVideoEncodeH264RateControlLayerInfoEXT-minQp-parameter
    minQp must be a valid VkVideoEncodeH264QpEXT structure

  • VUID-VkVideoEncodeH264RateControlLayerInfoEXT-maxQp-parameter
    maxQp must be a valid VkVideoEncodeH264QpEXT structure

  • VUID-VkVideoEncodeH264RateControlLayerInfoEXT-maxFrameSize-parameter
    maxFrameSize must be a valid VkVideoEncodeH264FrameSizeEXT structure

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