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_KHRspecifies the use of intra-only prediction mode, used when encoding AV1 frames of typeSTD_VIDEO_AV1_FRAME_TYPE_KEYorSTD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY. -
VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHRspecifies the use of single reference prediction mode, used when encoding AV1 frames of typeSTD_VIDEO_AV1_FRAME_TYPE_INTERorSTD_VIDEO_AV1_FRAME_TYPE_SWITCHwithreference_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::referenceNameSlotIndicesthat is supported by the implementation, as reported in VkVideoEncodeAV1CapabilitiesKHR::singleReferenceNameMask. -
VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHRspecifies the use of unidirectional compound prediction mode, used when encoding AV1 frames of typeSTD_VIDEO_AV1_FRAME_TYPE_INTERorSTD_VIDEO_AV1_FRAME_TYPE_SWITCHwithreference_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::referenceNameSlotIndicesthat 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_FRAMEandLAST2_FRAME, -
LAST_FRAMEandLAST3_FRAME, -
LAST_FRAMEandGOLDEN_FRAME, or -
BWDREF_FRAMEandALTREF_FRAME.
-
-
VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHRspecifies the use of bidirectional compound prediction mode, used when encoding AV1 frames of typeSTD_VIDEO_AV1_FRAME_TYPE_INTERorSTD_VIDEO_AV1_FRAME_TYPE_SWITCHwithreference_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::referenceNameSlotIndicesthat 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.
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.