C Specification
Bits which can be set in
VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR::perPartitionEncodeFeedbackFlags
for video encode feedback query pools are:
// Provided by VK_KHR_video_encode_feedback2
typedef enum VkVideoEncodePerPartitionFeedbackFlagBitsKHR {
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_STATUS_BIT_KHR = 0x00000001,
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000002,
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000004,
} VkVideoEncodePerPartitionFeedbackFlagBitsKHR;
Description
-
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_STATUS_BIT_KHR specifies that queries managed by the pool will capture the result status of each encoded picture partition. These result status values are reported as VkQueryResultStatusKHR values, similar to result status queries but indicate the result status of the encoding of individual picture partitions instead of that of the whole video encode operation.
-
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR specifies that queries managed by the pool will capture the byte offset of the bitstream data of the corresponding picture partition written to the bitstream buffer specified in VkVideoEncodeInfoKHR::
dstBufferrelative to the offset specified in VkVideoEncodeInfoKHR::dstBufferOffset. -
VK_VIDEO_ENCODE_PER_PARTITION_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR specifies that queries managed by the pool will capture the number of bytes written by the video encode operation for the corresponding picture partition to the bitstream buffer specified in VkVideoEncodeInfoKHR::
dstBuffer.
The bitstream offsets reported for subsequent picture partitions are always monotonically increasing and the bitstream buffer ranges corresponding to individual picture partitions do not overlap.
|
Note
|
The bitstream range corresponding to the entire frame, as reported through
the VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR and
VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR feedback
values may contain additional data such as frame headers.
In addition, certain implementations or video compression standards may have
additional payloads in between subsequent picture partitions.
For example, AV1 bitstreams contain the |
When retrieving the results of video encode feedback queries with per picture partition video encode feedback values, the values corresponding to each enabled per picture partition video encode feedback are written for each encoded picture partition in the order of the bits defined above, in picture-partition-major order.
If the video encode operation results in more encoded picture partitions
than the maxPerPartitionFeedbackEntries specified in the
VkQueryPoolVideoEncodePerPartitionFeedbackCreateInfoKHR structure the
query pool was created with, then the per picture partition feedback values
corresponding to additional picture partitions are not available for
retrieval.
If the per picture partition feedback status is negative, then all other per partition feedback values corresponding to that picture partition will be undefined. Specifically, implementations may report a per picture partition feedback status of VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR for the picture partition(s) whose encoded bitstream data no longer fit into the destination video bitstream buffer range.
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.