C Specification

The VkVideoEncodeH265RateControlLayerInfoEXT structure is defined as:

// Provided by VK_EXT_video_encode_h265
typedef struct VkVideoEncodeH265RateControlLayerInfoEXT {
    VkStructureType                  sType;
    const void*                      pNext;
    uint8_t                          temporalId;
    VkBool32                         useInitialRcQp;
    VkVideoEncodeH265QpEXT           initialRcQp;
    VkBool32                         useMinQp;
    VkVideoEncodeH265QpEXT           minQp;
    VkBool32                         useMaxQp;
    VkVideoEncodeH265QpEXT           maxQp;
    VkBool32                         useMaxFrameSize;
    VkVideoEncodeH265FrameSizeEXT    maxFrameSize;
} VkVideoEncodeH265RateControlLayerInfoEXT;

Members

  • sType is the type of this structure.

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

  • temporalId specifies the H.265 temporal ID of the video coding layer that settings provided in this structure and its parent VkVideoEncodeRateControlLayerInfoKHR structure apply to.

  • useInitialRcQp indicates whether the values within initialRcQp should be used by the implementation.

  • initialRcQp provides the QP values for each picture type, to be used in rate control calculations at the start of video encode operations on a newly-created video session, or immediately after a session reset. These values are ignored when VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR.

  • 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.265-specific per-layer rate control parameters must be specified by adding a VkVideoEncodeH265RateControlLayerInfoEXT 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.265 session.

Valid Usage
  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-rateControlMode-06476
    When VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, both useMinQp and useMaxQp must be set to VK_TRUE.

  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-rateControlMode-06477
    When VkVideoEncodeRateControlInfoKHR::rateControlMode is VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, the values provided in minQP must be identical to those provided in maxQp.

Valid Usage (Implicit)
  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT

  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-initialRcQp-parameter
    initialRcQp must be a valid VkVideoEncodeH265QpEXT structure

  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-minQp-parameter
    minQp must be a valid VkVideoEncodeH265QpEXT structure

  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-maxQp-parameter
    maxQp must be a valid VkVideoEncodeH265QpEXT structure

  • VUID-VkVideoEncodeH265RateControlLayerInfoEXT-maxFrameSize-parameter
    maxFrameSize must be a valid VkVideoEncodeH265FrameSizeEXT 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-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0