Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |