Enum
VkVideoEncodeAV1RateControlGroupKHR
AV1 encode rate control group
Possible AV1 encode rate control groups are as follows:
typedef enum VkVideoEncodeAV1RateControlGroupKHR {
VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR = 0,
VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR = 1,
VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR = 2,
} VkVideoEncodeAV1RateControlGroupKHR;
VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHRshould be specified when encoding AV1 frames that use intra-only prediction (e.g. when encoding AV1 frames of typeSTD_VIDEO_AV1_FRAME_TYPE_KEYorSTD_VIDEO_AV1_FRAME_TYPE_INTRA_ONLY).VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHRshould be specified when encoding AV1 frames that only have forward references in display order.VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHRshould be specified when encoding AV1 frames that have backward references in display order.
While the application can specify any rate control group for any frame, indifferent of the frame type, prediction mode, or prediction direction, specifying a rate control group that does not reflect the prediction direction used by the encoded frame may result in unexpected behavior of the implementation’s rate control algorithm.