# VkVideoEncodeAV1PredictionModeKHR(3) Manual Page

## Name

VkVideoEncodeAV1PredictionModeKHR - AV1 encode prediction mode

Loading… please wait.

## C Specification

Possible AV1 encode prediction modes are as follows:

    // Provided by VK_KHR_video_encode_av1
    typedef enum VkVideoEncodeAV1PredictionModeKHR {
        VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR = 0,
        VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR = 1,
        VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR = 2,
        VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR = 3,
    } VkVideoEncodeAV1PredictionModeKHR;

## Description

- `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR` specifies the use of intra-only prediction mode, used when encoding AV1 frames of type `STD_VIDEO_AV1_FRAME_TYPE_KEY` or `STD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY`.

- `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR` specifies the use of single reference prediction mode, used when encoding AV1 frames of type `STD_VIDEO_AV1_FRAME_TYPE_INTER` or `STD_VIDEO_AV1_FRAME_TYPE_SWITCH` with `reference_select`, as defined in section 6.8.23 of the AV1 Specification, equal to 0. When using this prediction mode, the application must specify a reference picture for at least one AV1 reference name in VkVideoEncodeAV1PictureInfoKHR::`referenceNameSlotIndices` that is supported by the implementation, as reported in VkVideoEncodeAV1CapabilitiesKHR::`singleReferenceNameMask`.

- `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR` specifies the use of unidirectional compound prediction mode, used when encoding AV1 frames of type `STD_VIDEO_AV1_FRAME_TYPE_INTER` or `STD_VIDEO_AV1_FRAME_TYPE_SWITCH` with `reference_select`, as defined in section 6.8.23 of the AV1 Specification, equal to 1, and both reference names used for prediction are from the same reference frame group, as defined in section 6.10.24 of the AV1 Specification. When using this prediction mode, the application must specify a reference picture for at least two AV1 reference names in VkVideoEncodeAV1PictureInfoKHR::`referenceNameSlotIndices` that is supported by the implementation, as reported in VkVideoEncodeAV1CapabilitiesKHR::`unidirectionalCompoundReferenceNameMask`, where those two reference names are one of the allowed pairs of reference names, as defined in section 5.11.25 of the AV1 Specification, listed below:

  - `LAST_FRAME` and `LAST2_FRAME`,

  - `LAST_FRAME` and `LAST3_FRAME`,

  - `LAST_FRAME` and `GOLDEN_FRAME`, or

  - `BWDREF_FRAME` and `ALTREF_FRAME`.

- `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR` specifies the use of bidirectional compound prediction mode, used when encoding AV1 frames of type `STD_VIDEO_AV1_FRAME_TYPE_INTER` or `STD_VIDEO_AV1_FRAME_TYPE_SWITCH` with `reference_select`, as defined in section 6.8.23 of the AV1 Specification, equal to 1, and the two reference names used for prediction are from different reference frame groups, as defined in section 6.10.24 of the AV1 Specification. When using this prediction mode, the application must specify a reference picture for at least one AV1 reference name from each reference frame group in VkVideoEncodeAV1PictureInfoKHR::`referenceNameSlotIndices` that is supported by the implementation, as reported in VkVideoEncodeAV1CapabilitiesKHR::`bidirectionalCompoundReferenceNameMask`.

The effective prediction mode used to encode individual AV1 mode info blocks may use simpler prediction modes than the one set by the application for the frame, as allowed by the AV1 Specification, in particular:

- Frames encoded with single reference prediction mode may contain mode info blocks encoded with intra-only prediction mode.

- Frames encoded with unidirectional compound prediction mode may contain mode info blocks encoded with intra-only or single reference prediction mode.

- Frames encoded with bidirectional compound prediction mode may contain mode info blocks encoded with intra-only, single reference, or unidirectional compound prediction mode.

## See Also

VK_KHR_video_encode_av1, VkVideoEncodeAV1PictureInfoKHR

## 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