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 |