D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 Struktur (d3d12video.h)

Ruft Ressourcenanforderungen für die Videocodierung mit Unterstützung für optionale Metadaten ab. Wird mit ID3D12VideoDevice::CheckFeatureSupport und dem D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 Featurewert verwendet.

Syntax

typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 {
  UINT                                               NodeIndex;
  D3D12_VIDEO_ENCODER_CODEC                          Codec;
  D3D12_VIDEO_ENCODER_PROFILE_DESC                   Profile;
  DXGI_FORMAT                                        InputFormat;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        PictureTargetResolution;
  BOOL                                               IsSupported;
  UINT                                               CompressedBitstreamBufferAccessAlignment;
  UINT                                               EncoderMetadataBufferAccessAlignment;
  UINT                                               MaxEncoderOutputMetadataBufferSize;
  D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS OptionalMetadata;
  D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION            CodecConfiguration;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataQPMapTextureDimensions;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataSATDMapTextureDimensions;
  D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC        EncoderOutputMetadataBitAllocationMapTextureDimensions;
  UINT                                               EncoderOutputMetadataFramePSNRComponentsNumber;
  UINT                                               EncoderOutputMetadataSubregionsPSNRComponentsNumber;
  UINT                                               EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1;

Elemente

NodeIndex

Legen Sie dies für einen einzelnen GPU-Vorgang auf Null fest. Wenn mehrere GPU-Knoten vorhanden sind, legen Sie einen Bit fest, um den Knoten (einen der physischen Adapter des Geräts) zu identifizieren, auf den die Befehlswarteschlange angewendet wird. Jedes Bit in der Maske entspricht einem einzelnen Knoten. Es muss nur ein Bit festgelegt werden.

Codec

Ein D3D12_VIDEO_ENCODER_CODEC , der den abzufragenden Codec angibt.

Profile

Ein D3D12_VIDEO_ENCODER_PROFILE_DESC , der das Encoderprofil angibt.

InputFormat

Ein DXGI_FORMAT , der das Eingabeformat angibt.

PictureTargetResolution

Ein D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC , der die Zielauflösung angibt.

IsSupported

Ausgabe Gibt an, ob die Konfiguration unterstützt wird.

CompressedBitstreamBufferAccessAlignment

Ausgabe Die erforderliche Ausrichtung für den komprimierten Bitstreampuffer.

EncoderMetadataBufferAccessAlignment

Ausgabe Die erforderliche Ausrichtung für den Encodermetadatenpuffer.

MaxEncoderOutputMetadataBufferSize

Ausgabe Die maximale Größe in Bytes des Encoder-Ausgabemetadatenpuffers.

OptionalMetadata

Ein D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS Wert, der angibt, welche optionalen Metadaten angefordert werden.

CodecConfiguration

Ein D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION , der die Codeckonfiguration angibt. Erforderlich, wenn flags in OptionalMetadata festgelegt werden; andernfalls als Null/NULL übergeben.

EncoderOutputMetadataQPMapTextureDimensions

Ausgabe Ein D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC , der die Texturabmessungen für die QP-Kartenausgabe angibt. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP festgelegt ist. Die Blockgröße kann abgeleitet werden, indem PictureTargetResolution durch diese Dimensionen geteilt wird.

EncoderOutputMetadataSATDMapTextureDimensions

Ausgabe Ein D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC , der die Texturabmessungen für die SATD-Kartenausgabe angibt. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP festgelegt ist. Die Blockgröße kann abgeleitet werden, indem PictureTargetResolution durch diese Dimensionen geteilt wird.

EncoderOutputMetadataBitAllocationMapTextureDimensions

Ausgabe Ein D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC , der die Texturabmessungen für die Bitzuordnungsausgabe angibt. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP festgelegt ist. Die Blockgröße kann abgeleitet werden, indem PictureTargetResolution durch diese Dimensionen geteilt wird.

EncoderOutputMetadataFramePSNRComponentsNumber

Ausgabe Die Anzahl der PSNR-Komponenten (Y, U und V in dieser Reihenfolge), die für PSNR auf Frameebene geschrieben wurden. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR festgelegt ist.

EncoderOutputMetadataSubregionsPSNRComponentsNumber

Ausgabe Die Anzahl der PSNR-Komponenten (Y, U und V in dieser Reihenfolge), die pro Unterregion geschrieben wurden. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR festgelegt ist.

EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize

Ausgabe Die erforderliche Breite des Puffers für PSNR-Daten im Unterbereich. Gültig, wenn D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR festgelegt ist.

Bemerkungen

Wenn OptionalMetadataD3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE ist, müssen die Ausgaben, die auch in D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS vorhanden sind, identische Werte für die Abwärtskompatibilität melden. Ausgabefelder für nicht ausgewählte optionale Metadatenkennzeichnungen werden als Null gemeldet.

Anforderungen

Anforderung Wert
Header d3d12video.h

Siehe auch

D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS

D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS