D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 Struktur (d3d12video.h)

Stellt Ausgabeargumente für ID3D12VideoEncodeCommandList4::ResolveEncoderOutputMetadata1 dar, mit Unterstützung für optionale Metadatenausgaben, einschließlich QP-Karten, SATD-Karten, Bitzuordnungen und PSNR-Daten.

Syntax

typedef struct D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1 {
  D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedLayoutMetadata;
  ID3D12Resource                                       *pOutputQPMap;
  ID3D12Resource                                       *pOutputSATDMap;
  ID3D12Resource                                       *pOutputBitAllocationMap;
  D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedFramePSNRData;
  D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER ResolvedSubregionsPSNRData;
} D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS1;

Elemente

ResolvedLayoutMetadata

Eine D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER, die die obligatorischen aufgelösten Metadaten enthält. Das aufgelöste Layout ist von früheren Versionen unverändert.

pOutputQPMap

Ein Zeiger auf eine ID3D12Resource-Textur für die QP-Kartenausgabe. Kann NULL sein, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP nicht festgelegt ist. Wenn vorhanden, muss das Texturformat für H.264 und HEVC DXGI_FORMAT_R8_SINT oder DXGI_FORMAT_R8_UINT für AV1 sein. Dimensionen müssen encoderOutputMetadataQPMapTextureDimensions aus D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 entsprechen.

pOutputSATDMap

Ein Zeiger auf eine ID3D12Resource-Textur für die SATD-Kartenausgabe. Kann NULL sein, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP nicht festgelegt ist. Wenn vorhanden, muss das Texturformat DXGI_FORMAT_R32_UINT werden. Dimensionen müssen encoderOutputMetadataSATDMapTextureDimensions aus D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 entsprechen.

pOutputBitAllocationMap

Ein Zeiger auf eine ID3D12Resource-Textur für die Bitzuordnungsausgabe. Kann NULL sein, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP nicht festgelegt ist. Wenn vorhanden, muss das Texturformat DXGI_FORMAT_R32_UINT werden. Dimensionen müssen encoderOutputMetadataBitAllocationMapTextureDimensions aus D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 entsprechen.

ResolvedFramePSNRData

Eine D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER für PSNR-Daten auf Frameebene. Die zugeordnete ID3D12Resource kann NULL sein, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR nicht festgelegt ist. Wenn vorhanden, muss die Ressource eine D3D12_RESOURCE_DIMENSION_BUFFER sein, wobei "Width" auf " sizeof(D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT). Der Inhalt wird als D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT interpretiert.

ResolvedSubregionsPSNRData

Eine D3D12_VIDEO_ENCODER_ENCODE_OPERATION_METADATA_BUFFER für PSNR-Daten auf Unterregionsebene. Die zugeordnete ID3D12Resource kann NULL sein, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR nicht festgelegt ist. Wenn vorhanden, muss es sich bei der Ressource um eine D3D12_RESOURCE_DIMENSION_BUFFER mit "Width matching EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize " aus D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 handeln. Der Inhalt wird als ein gepacktes Array von D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT mit einem Element pro Unterregion interpretiert.

Bemerkungen

Diese Struktur erweitert D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS mit optionalen Metadatenausgaben.

Anforderungen

Anforderung Wert
Header d3d12video.h

Siehe auch

ID3D12VideoEncodeCommandList4::ResolveEncoderOutputMetadata1

D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_ARGUMENTS

D3D12_VIDEO_ENCODER_RESOLVE_METADATA_OUTPUT_PSNR_RESOLVED_LAYOUT