VkVideoEncodeH264RateControlLayerInfoEXT(3)

# VkVideoEncodeH264RateControlLayerInfoEXT(3) Manual Page

## Name

VkVideoEncodeH264RateControlLayerInfoEXT - Structure describing H.264 per-layer rate control parameters

Loading… please wait.

## 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 the type of 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

VK_EXT_video_encode_h264, VkBool32, VkStructureType, VkVideoEncodeH264FrameSizeEXT, VkVideoEncodeH264QpEXT

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

SPDX-License-Identifier: CC-BY-4.0