C Specification
The VkVideoEncodeH265GopRemainingFrameInfoEXT
structure is defined as:
// Provided by VK_EXT_video_encode_h265
typedef struct VkVideoEncodeH265GopRemainingFrameInfoEXT {
VkStructureType sType;
const void* pNext;
VkBool32 useGopRemainingFrames;
uint32_t gopRemainingI;
uint32_t gopRemainingP;
uint32_t gopRemainingB;
} VkVideoEncodeH265GopRemainingFrameInfoEXT;
Members
-
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 ingopRemainingI
,gopRemainingP
, andgopRemainingB
. IfuseGopRemainingFrames
isVK_FALSE
, then the values ofgopRemainingI
,gopRemainingP
, andgopRemainingB
are ignored. -
gopRemainingI
specifies the number of I-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation. -
gopRemainingP
specifies the number of P-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation. -
gopRemainingB
specifies the number of B-frames the implementation’s rate control algorithm should assume to be remaining in the GOP prior to executing the video encode operation.
Description
Setting useGopRemainingFrames
to VK_TRUE
and including this
structure in the pNext
chain of VkVideoEncodeInfoKHR is only
mandatory if the
VkVideoEncodeH265CapabilitiesEXT::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 VkVideoEncodeH265CapabilitiesEXT::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.
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.