structure D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 (d3d12video.h)

Récupère les besoins en ressources pour l’encodage vidéo, avec prise en charge des métadonnées facultatives. Utilisé avec ID3D12VideoDevice ::CheckFeatureSupport et la valeur de la fonctionnalité D3D12_FEATURE_VIDEO_ENCODER_RESOURCE_REQUIREMENTS1 .

Syntaxe

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;

Members

NodeIndex

Pour une opération GPU unique, définissez cette valeur sur zéro. S’il existe plusieurs nœuds GPU, définissez un peu pour identifier le nœud (l’une des cartes physiques de l’appareil) auquel la file d’attente de commandes s’applique. Chaque bit du masque correspond à un nœud unique. Un seul bit doit être défini.

Codec

Un D3D12_VIDEO_ENCODER_CODEC spécifiant le codec à interroger.

Profile

Un D3D12_VIDEO_ENCODER_PROFILE_DESC spécifiant le profil d’encodeur.

InputFormat

Une DXGI_FORMAT spécifiant le format d’entrée.

PictureTargetResolution

Une D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC spécifiant la résolution cible.

IsSupported

Sortie : Indique si la configuration est prise en charge.

CompressedBitstreamBufferAccessAlignment

Sortie : Alignement requis pour la mémoire tampon de flux binaire compressé.

EncoderMetadataBufferAccessAlignment

Sortie : Alignement requis pour la mémoire tampon des métadonnées de l’encodeur.

MaxEncoderOutputMetadataBufferSize

Sortie : Taille maximale en octets de la mémoire tampon de métadonnées de sortie de l’encodeur.

OptionalMetadata

Valeur D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS indiquant quelles métadonnées facultatives sont demandées.

CodecConfiguration

Une D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION en spécifiant la configuration du codec. Obligatoire quand des indicateurs sont définis dans OptionalMetadata ; sinon, passez en tant que zéro/NULL.

EncoderOutputMetadataQPMapTextureDimensions

Sortie : Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC indiquant les dimensions de texture de la sortie de la carte QP. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_QP_MAP est défini. La taille de bloc peut être dérivée en divisant PictureTargetResolution par ces dimensions.

EncoderOutputMetadataSATDMapTextureDimensions

Sortie : Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC indiquant les dimensions de texture de la sortie de la carte SATD. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SATD_MAP est défini. La taille de bloc peut être dérivée en divisant PictureTargetResolution par ces dimensions.

EncoderOutputMetadataBitAllocationMapTextureDimensions

Sortie : Un D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC indiquant les dimensions de texture de la sortie du mappage d’allocation de bits. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_RC_BIT_ALLOCATION_MAP est défini. La taille de bloc peut être dérivée en divisant PictureTargetResolution par ces dimensions.

EncoderOutputMetadataFramePSNRComponentsNumber

Sortie : Nombre de composants PSNR (Y, U et V dans cet ordre) écrits pour le PSNR au niveau de l’image. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_FRAME_PSNR est défini.

EncoderOutputMetadataSubregionsPSNRComponentsNumber

Sortie : Nombre de composants PSNR (Y, U et V dans cet ordre) écrits par sous-région. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR est défini.

EncoderOutputMetadataSubregionsPSNRResolvedMetadataBufferSize

Sortie : Taille de largeur requise de la mémoire tampon pour les données PSNR de sous-région. Valide lorsque D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_SUBREGIONS_PSNR est défini.

Remarques

Lorsque OptionalMetadata est D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAG_NONE, les sorties qui sont également présentes dans D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS doivent signaler des valeurs identiques pour la compatibilité descendante. Les champs de sortie pour les indicateurs de métadonnées facultatifs non sélectionnés sont signalés comme zéro.

Exigences

Prérequis Valeur
En-tête d3d12video.h

Voir également

D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS

D3D12_VIDEO_ENCODER_OPTIONAL_METADATA_ENABLE_FLAGS