Partager via


structure D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT (d3d12video.h)

Fournit des données pour les appels à ID3D12VideoDevice ::CheckFeatureSupport lorsque la fonctionnalité spécifiée est D3D12_FEATURE_VIDEO_ENCODER_SUPPORT. Récupère les valeurs indiquant la prise en charge des fonctionnalités d’encodage vidéo et des valeurs de configuration spécifiées.

Syntaxe

typedef struct D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT {
  UINT                                                       NodeIndex;
  D3D12_VIDEO_ENCODER_CODEC                                  Codec;
  DXGI_FORMAT                                                InputFormat;
  D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION                    CodecConfiguration;
  D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE                 CodecGopSequence;
  D3D12_VIDEO_ENCODER_RATE_CONTROL                           RateControl;
  D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE                     IntraRefresh;
  D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE            SubregionFrameEncoding;
  UINT                                                       ResolutionsListCount;
  const D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC          *pResolutionList;
  UINT                                                       MaxReferenceFramesInDPB;
  D3D12_VIDEO_ENCODER_VALIDATION_FLAGS                       ValidationFlags;
  D3D12_VIDEO_ENCODER_SUPPORT_FLAGS                          SupportFlags;
  D3D12_VIDEO_ENCODER_PROFILE_DESC                           SuggestedProfile;
  D3D12_VIDEO_ENCODER_LEVEL_SETTING                          SuggestedLevel;
  D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS *pResolutionDependentSupport;
} D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT;

Membres

NodeIndex

Dans l’opération multi-adaptateurs, cela indique l’adaptateur physique de l’appareil auquel cette opération s’applique.

Codec

Un membre du D3D12_VIDEO_ENCODER_CODEC énumération spécifiant le codec pour lequel la prise en charge est interrogée.

InputFormat

Une structure D3D12_VIDEO_ENCODER_PROFILE_DESC spécifiant le profil pour lequel la prise en charge est interrogée.

CodecConfiguration

Une structure D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION représentant la configuration du codec pour laquelle la prise en charge est interrogée.

CodecGopSequence

Une structure D3D12_VIDEO_ENCODER_SEQUENCE_GOP_STRUCTURE représentant la structure goP pour laquelle la prise en charge est interrogée.

RateControl

Une D3D12_VIDEO_ENCODER_RATE_CONTROL représentant les paramètres de contrôle de débit pour lesquels la prise en charge est interrogée.

IntraRefresh

Un membre du D3D12_VIDEO_ENCODER_INTRA_REFRESH_MODE énumération spécifiant le mode d’actualisation intra pour lequel la prise en charge est interrogée.

SubregionFrameEncoding

Un membre de la D3D12_VIDEO_ENCODER_FRAME_SUBREGION_LAYOUT_MODE énumération, spécifiant le mode de disposition sous-régional pour lequel la prise en charge est interrogée.

ResolutionsListCount

UINT spécifiant le nombre de résolutions fournies dans le champ pResolutionList .

pResolutionList

Pointeur vers un tableau de D3D12_VIDEO_ENCODER_PICTURE_RESOLUTION_DESC spécifiant les résolutions d’images pour lesquelles la prise en charge est interrogée.

MaxReferenceFramesInDPB

UINT spécifiant le nombre maximal d’images de référence précédentes à utiliser lors de l’appel d’EncodeFrame pour inter-frames. Cette valeur est utilisée pour calculer le niveau suggéré retourné dans le champ SuggestedLevel .

ValidationFlags

Reçoit une combinaison d’indicateurs OR au niveau du bit de l’énumération D3D12_VIDEO_ENCODER_VALIDATION_FLAGS qui fournissent des détails supplémentaires si l’indicateur D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK n’est pas défini dans le champ SupportFlags . Pour plus d’informations, consultez Remarques .

SupportFlags

Reçoit une combinaison d’indicateurs OR au niveau du bit de l’énumération D3D12_VIDEO_ENCODER_SUPPORT_FLAGS spécifiant les détails de prise en charge des fonctionnalités d’encodeur et des valeurs de configuration spécifiées.

SuggestedProfile

Reçoit une D3D12_VIDEO_ENCODER_PROFILE_DESC spécifiant le profil recommandé pour les fonctionnalités d’encodeur et les valeurs de configuration spécifiées.

SuggestedLevel

Reçoit une D3D12_VIDEO_ENCODER_LEVEL_SETTING spécifiant le profil recommandé pour les fonctionnalités d’encodeur et les valeurs de configuration spécifiées. Le niveau recommandé suppose la résolution maximale de la liste fournie dans pResolutionList.

pResolutionDependentSupport

Reçoit un pointeur vers un tableau de structures D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS spécifiant des limites de prise en charge dépendantes de la résolution correspondant aux résolutions fournies dans pResolutionList.

Remarques

La prise en charge accordée ou rejetée par cette requête indique la prise en charge simultanée de toutes les fonctionnalités sélectionnées pour être utilisées dans la même session d’encodage. Il peut y avoir des fonctionnalités prises en charge individuellement lorsqu’elles sont interrogées avec des appels de requête individuels, mais pas prises en charge simultanément.

Par exemple, il peut y avoir prise en charge de l’intra-actualisation lors de la vérification des D3D12_FEATURE_VIDEO_ENCODER_INTRA_REFRESH_MODE et il peut y avoir prise en charge des images B lors de la vérification des D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT_H264. MaxL1ReferencesForB> 0. Toutefois, il se peut que les images intra-actualisation et B ne soient pas prises en charge simultanément. Dans ce cas, en interrogeant D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT avec CodecGopSequence contenant des images B et le mode basé sur les lignes intra-actualisation, l’indicateur D3D12_VIDEO_ENCODER_SUPPORT_FLAG_GENERAL_SUPPORT_OK est désactivé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Build 22000
Serveur minimal pris en charge Windows Build 22000
En-tête d3d12video.h