# VkVideoEncodeAV1QualityLevelPropertiesKHR(3) Manual Page

## Name

VkVideoEncodeAV1QualityLevelPropertiesKHR - Structure describing the AV1 encode quality level properties

Loading… please wait.

## C Specification

When calling vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR with `pVideoProfile->videoCodecOperation` specified as `VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR`, the VkVideoEncodeAV1QualityLevelPropertiesKHR structure must be included in the `pNext` chain of the VkVideoEncodeQualityLevelPropertiesKHR structure to retrieve additional video encode quality level properties specific to AV1 encoding.

The VkVideoEncodeAV1QualityLevelPropertiesKHR structure is defined as:

    // Provided by VK_KHR_video_encode_av1
    typedef struct VkVideoEncodeAV1QualityLevelPropertiesKHR {
        VkStructureType                        sType;
        void*                                  pNext;
        VkVideoEncodeAV1RateControlFlagsKHR    preferredRateControlFlags;
        uint32_t                               preferredGopFrameCount;
        uint32_t                               preferredKeyFramePeriod;
        uint32_t                               preferredConsecutiveBipredictiveFrameCount;
        uint32_t                               preferredTemporalLayerCount;
        VkVideoEncodeAV1QIndexKHR              preferredConstantQIndex;
        uint32_t                               preferredMaxSingleReferenceCount;
        uint32_t                               preferredSingleReferenceNameMask;
        uint32_t                               preferredMaxUnidirectionalCompoundReferenceCount;
        uint32_t                               preferredMaxUnidirectionalCompoundGroup1ReferenceCount;
        uint32_t                               preferredUnidirectionalCompoundReferenceNameMask;
        uint32_t                               preferredMaxBidirectionalCompoundReferenceCount;
        uint32_t                               preferredMaxBidirectionalCompoundGroup1ReferenceCount;
        uint32_t                               preferredMaxBidirectionalCompoundGroup2ReferenceCount;
        uint32_t                               preferredBidirectionalCompoundReferenceNameMask;
    } VkVideoEncodeAV1QualityLevelPropertiesKHR;

## 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 VkVideoEncodeAV1RateControlFlagBitsKHR values indicating the preferred flags to use for VkVideoEncodeAV1RateControlInfoKHR::`flags`.

- `preferredGopFrameCount` indicates the preferred value to use for VkVideoEncodeAV1RateControlInfoKHR::`gopFrameCount`.

- `preferredKeyFramePeriod` indicates the preferred value to use for VkVideoEncodeAV1RateControlInfoKHR::`keyFramePeriod`.

- `preferredConsecutiveBipredictiveFrameCount` indicates the preferred value to use for VkVideoEncodeAV1RateControlInfoKHR::`consecutiveBipredictiveFrameCount`.

- `preferredTemporalLayerCount` indicates the preferred value to use for VkVideoEncodeAV1RateControlInfoKHR::`temporalLayerCount`.

- `preferredConstantQIndex` indicates the preferred value to use for VkVideoEncodeAV1PictureInfoKHR::`constantQIndex` when using rate control mode `VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR`.

- `preferredMaxSingleReferenceCount` indicates the preferred maximum number of reference pictures to use with single reference prediction mode.

- `preferredSingleReferenceNameMask` is a bitmask of preferred AV1 reference names when using single reference prediction mode.

- `preferredMaxUnidirectionalCompoundReferenceCount` indicates the preferred maximum number of reference pictures to use with unidirectional compound prediction mode.

- `preferredMaxUnidirectionalCompoundGroup1ReferenceCount` indicates the preferred maximum number of reference pictures to use with unidirectional compound prediction mode from reference frame group 1, as defined in section 6.10.24 of the AV1 Specification.

- `preferredUnidirectionalCompoundReferenceNameMask` is a bitmask of preferred AV1 reference names when using unidirectional compound prediction mode.

- `preferredMaxBidirectionalCompoundReferenceCount` indicates the preferred maximum number of reference pictures to use with bidirectional compound prediction mode.

- `preferredMaxBidirectionalCompoundGroup1ReferenceCount` indicates the preferred maximum number of reference pictures to use with bidirectional compound prediction mode from reference frame group 1, as defined in section 6.10.24 of the AV1 Specification.

- `preferredMaxBidirectionalCompoundGroup2ReferenceCount` indicates the preferred maximum number of reference pictures to use with bidirectional compound prediction mode from reference frame group 2, as defined in section 6.10.24 of the AV1 Specification.

- `preferredBidirectionalCompoundReferenceNameMask` is a bitmask of preferred AV1 reference names when using bidirectional compound prediction mode.

## Description

`preferredSingleReferenceNameMask`, `preferredUnidirectionalCompoundReferenceNameMask`, and `preferredBidirectionalCompoundReferenceNameMask` are encoded such that when bit index i is set, it indicates preference for using the AV1 reference name `STD_VIDEO_AV1_REFERENCE_NAME_LAST_FRAME` + i.

Valid Usage (Implicit)

- VUID-VkVideoEncodeAV1QualityLevelPropertiesKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR`

## See Also

VK_KHR_video_encode_av1, VkStructureType, VkVideoEncodeAV1QIndexKHR, VkVideoEncodeAV1RateControlFlagsKHR

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

SPDX-License-Identifier: CC-BY-4.0