VkVideoEncodeAV1GopRemainingFrameInfoKHR
The VkVideoEncodeAV1GopRemainingFrameInfoKHR
structure is defined as:
typedef struct VkVideoEncodeAV1GopRemainingFrameInfoKHR {
VkStructureType sType;
const void* pNext;
VkBool32 useGopRemainingFrames;
uint32_t gopRemainingIntra;
uint32_t gopRemainingPredictive;
uint32_t gopRemainingBipredictive;
} VkVideoEncodeAV1GopRemainingFrameInfoKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.useGopRemainingFrames
indicates whether the implementation’s rate control algorithm should use the values specified ingopRemainingIntra
,gopRemainingPredictive
, andgopRemainingBipredictive
. IfuseGopRemainingFrames
isVK_FALSE
, then the values ofgopRemainingIntra
,gopRemainingPredictive
, andgopRemainingBipredictive
are ignored.gopRemainingIntra
specifies the number of frames encoded withVK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR
the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the next video encode operation.gopRemainingPredictive
specifies the number of frames encoded withVK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR
the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the next video encode operation.gopRemainingBipredictive
specifies the number of frames encoded withVK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR
the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the next video encode operation.
Setting useGopRemainingFrames
to VK_TRUE
and including this
structure in the pNext
chain of VkVideoBeginCodingInfoKHR is
only mandatory if the
VkVideoEncodeAV1CapabilitiesKHR::requiresGopRemainingFrames
reported for the used video profile is VK_TRUE
.
However, implementations may use these remaining frame counts, when
specified, even when it is not required.
In particular, when the application does not use a
regular GOP structure, these values may provide
additional guidance for the implementation’s rate control algorithm.
The VkVideoEncodeAV1CapabilitiesKHR::prefersGopRemainingFrames
capability is also used to indicate that the implementation’s rate control
algorithm may operate more accurately if the application specifies the
remaining frame counts using this structure.
As with other rate control guidance values, if the effective order and number of frames encoded by the application are not in line with the remaining frame counts specified in this structure at any given point, then the behavior of the implementation’s rate control algorithm may deviate from the one expected by the application.
Valid Usage (Implicit)
VUID-VkVideoEncodeAV1GopRemainingFrameInfoKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR