// d3d12umddi.h
PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0 Pfnd3d12ddiVideoEncodeResolveOutputMetadata00820;
VOID Pfnd3d12ddiVideoEncodeResolveOutputMetadata00820(
[in] D3D12DDI_HCOMMANDLIST hDrvCommandList,
[in] const D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2 *pInputArguments,
[out] const D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS_0082_0 *pOutputArguments
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
The PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0 callback function records a command to resolve the output metadata of an encoding operation into a readable format.
hDrvCommandList [in]Handle to the driver's data for the command list. The driver uses this region of memory to store internal data structures that are related to its command list.
pInputArguments [in]Pointer to a D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2 structure that contains input arguments for this callback.
pOutputArguments [out]Pointer to a D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS_0082_0 structure in which to store output from this callback.
For all encoders, the driver must position all layout information contiguously in memory in the ResolvedLayoutEncoderMetadataDrvBuffer. The API Client will parse this metadata accordingly depending on the encoder type (D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2.EncoderCodec at the driver level).
For H264 and HEVC encoders (types supported before the AV1 extension was added), the resolved buffer memory layout isn't changed.
WrittenSubregionsCount elements of type D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0 indicating each tile in the same order they're written in the compressed output bitstream.
The caller can infer the maximum size of the resolved metadata buffer by the H264/HEVC layout for ResolveEncoderOutputMetadata:
For AV1 encoding (pInputArguments->EncoderCodec equal to D3D12DDI_VIDEO_ENCODER_CODEC_0095_AV1), which was added in Windows 11, version 24H2 (WDDM 3.2), the driver should use the added AV1-specific resolved buffer layout.
The memory layout is defined as:
WrittenSubregionsCount elements of type D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0 indicating each tile in the same order they're written in the compressed output bitstream.
The caller can infer the maximum size of the resolved metadata buffer by the layout for AV1 in ResolveEncoderOutputMetadata.
See D3D12 video encoding for general information.
PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0