VkVideoEncodeAV1QualityLevelPropertiesKHR
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:
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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
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 modeVK_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.
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