共用方式為


PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0回呼函式 (d3d12umddi.h)

PFND3D12DDI_VIDEO_ENCODE_RESOLVE_OUTPUT_METADATA_0082_0回呼函式會記錄命令,以將編碼作業的輸出元數據解析為可讀取的格式。

語法

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
)
{...}

參數

[in] hDrvCommandList

命令清單的驅動程序數據句柄。 驅動程式會使用此記憶體區域來儲存與其命令清單相關的內部數據結構。

[in] pInputArguments

包含這個回呼之輸入自變數 之D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2 結構的指標。

[out] pOutputArguments

要儲存此回呼輸出 之D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS_0082_0 結構的指標。

傳回值

備註

對於所有編碼器,驅動程式必須在 ResolvedLayoutEncoderMetadataDrvBuffer 的記憶體中連續放置所有配置資訊。 API 用戶端會根據驅動程式層級) 的編碼器類型 (D3D12DDI_VIDEO_ENCODER_RESOLVE_METADATA_INPUT_ARGUMENTS_0080_2.EncoderCodec 來剖析此元數據。

ResolvedLayoutEncoderMetadataDrvBuffer for H264/HEVC 編解碼器

針對 H264 和 HEVC 編碼器 (在新增 AV1 擴充功能之前支援的類型) ,解析的緩衝區內存配置不會變更。

ResolvedLayoutEncoderMetadataDrvBuffer for AV1 編解碼器

針對 av1 編碼 (pInputArguments-EncoderCodec> 等於 D3D12DDI_VIDEO_ENCODER_CODEC_0095_AV1) ,其已新增 Windows 11 版本 24H2 (WDDM 3.2) ,驅動程式應該使用新增的 AV1 特定已解析緩衝區配置。

  • 記憶體設定定義為:

  • 呼叫端可以藉由 ResolveEncoderOutputMetadata 中 AV1 的配置推斷已解析元數據緩衝區的大小上限。

    • MaxTiles = D3D12DDI_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS_0080_2.MaxSubregionsNumber;
    • MaxEncoderOutputMetadataResolvedBufferSize = sizeof (D3D12DDI_VIDEO_ENCODER_OUTPUT_METADATA_0083_0) + (MaxTiles * sizeof (D3D12DDI_VIDEO_ENCODER_FRAME_SUBREGION_METADATA_0083_0) ) ;+ sizeof (D3D12DDI_VIDEO_ENCODER_AV1_PICTURE_CONTROL_SUBREGIONS_LAYOUT_DATA_TILES_0095) + sizeof (D3D12DDI_VIDEO_ENCODER_AV1_POST_ENCODE_VALUES_0095)

如需一般資訊,請參閱 D3D12 視訊編碼

規格需求

需求
最低支援的用戶端 Windows 11 (WDDM 3.0)
標頭 d3d12umddi.h

另請參閱

PFND3D12DDI_VIDEO_ENCODE_FRAME_0082_0