structure DXVAHDDDI_VPDEVCAPS (d3dumddi.h)
La structure DXVAHDDDI_VPDEVCAPS décrit les fonctionnalités du processeur vidéo prises en charge par l’appareil de décodage.
Syntaxe
typedef struct _DXVAHDDDI_VPDEVCAPS {
[in] UINT Reserved;
[out] UINT DeviceCaps;
[out] UINT FeatureCaps;
[out] UINT FilterCaps;
[out] UINT InputFormatCaps;
[out] D3DDDI_POOL InputPool;
[out] UINT OutputFormatCount;
[out] UINT InputFormatCount;
[out] UINT VideoProcessorCount;
[out] UINT MaxInputStreams;
[out] UINT MaxStreamStates;
} DXVAHDDDI_VPDEVCAPS;
Membres
[in] Reserved
Réservé. Doit être égal à zéro.
[out] DeviceCaps
Or au niveau du bit des valeurs suivantes de l’énumération DXVAHDDDI_DEVICE_CAPS pour indiquer des fonctionnalités spécifiques à l’appareil.
DXVAHDDDI_DEVICE_CAPS_LINEAR_SPACE (0x1)
Le pilote peut fusionner le contenu vidéo dans un espace linéaire. Étant donné que le contenu vidéo est traditionnellement dans un espace non linéaire et gamma 2,2 corrigé (sRVB), le pilote peut convertir le contenu vidéo en espace linéaire avant d’effectuer des opérations de fusion pour obtenir de meilleurs résultats.
DXVAHDDDI_DEVICE_CAPS_xvYCC (0x2)
Le pilote peut effectuer un traitement vidéo tout en conservant la couleur gamut étendue lorsque les entrées et sorties du pilote vers le type de format YCbCr.
DXVAHDDDI_DEVICE_CAPS_RGB_RANGE_CONVERSION (0x4)
Le pilote peut effectuer la conversion de plage lorsque l’entrée et la sortie sont des espaces de couleurs RVB, mais que la plage est différente (par exemple, l’entrée est une plage RVB complète et la sortie est limitée RVB). Si cette valeur n’est pas définie, le pilote ignore la plage RVB et compose le flux d’entrée RVB en sortie RVB sans modifier la plage.
DXVAHDDDI_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION (0x8)
Le pilote peut effectuer la conversion de matrice lorsque l’entrée et la sortie sont des espaces de couleurs YCbCr, mais que la matrice est différente (par exemple, l’entrée est BT.601 et la sortie est BT.709). Si cette valeur n’est pas définie, le pilote ignore la matrice YCbCr et compose le flux d’entrée YCbCr en sortie YCbCr sans modifier la matrice.
DXVAHDDDI_DEVICE_CAPS_NOMINAL_RANGE (0x10)
Le processeur vidéo peut convertir entre les plages de luminance lorsque l’entrée et la sortie utilisent des plages de luminosité différentes.
Pour plus d’informations sur la plage de luminosité, consultez plages de format YUV dans Windows 8.1.
Prise en charge à partir de Windows 8.1.
Le pilote détermine que les formats XR_BIAS, FP16 et FP32 (formats de gamut large) se trouvent dans un espace linéaire et peuvent ainsi conserver la couleur de gamut étendue, que les valeurs de capacité précédentes soient définies ou non.
[out] FeatureCaps
Or au niveau du bit des valeurs suivantes de l’énumération DXVAHDDDI_FEATURE_CAPS pour indiquer des fonctionnalités spécifiques aux fonctionnalités.
DXVAHDDDI_FEATURE_CAPS_ALPHA_FILL (0x1)
Le pilote peut définir les valeurs alpha à l’intérieur du rectangle cible sur l’aire de sortie, comme spécifié pour le mode de remplissage alpha. Pour plus d’informations sur cette opération, consultez DXVAHDDDI_BLT_STATE_ALPHA_FILL_DATA.
DXVAHDDDI_FEATURE_CAPS_CONSTRICTION (0x2)
Le pilote peut échantillonner le rectangle cible composé. Pour plus d’informations sur cette opération, consultez DXVAHDDDI_BLT_STATE_CONSTRICTION_DATA.
DXVAHDDDI_FEATURE_CAPS_LUMA_KEY (0x4)
Le pilote peut rendre les pixels dans une plage luma-key transparente. Pour plus d’informations sur cette opération, consultez DXVAHDDDI_STREAM_STATE_LUMA_KEY_DATA.
DXVAHDDDI_FEATURE_CAPS_ALPHA_PALETTE (0x8)
Le pilote peut appliquer la valeur alpha de l’entrée de palette. Pour plus d’informations sur la fusion alpha, consultez DXVAHDDDI_STREAM_STATE_ALPHA_DATA.
DXVAHDDDI_FEATURE_CAPS_ROTATION (0x10)
Le pilote peut appliquer des valeurs de rotation d’affichage discrètes à l’aire de sortie d’affichage. Pour plus d’informations sur cette opération, consultez DXVAHDDDI_STREAM_STATE_ROTATION_DATA.
Prise en charge à partir de Windows 8.
[out] FilterCaps
Or au niveau du bit des valeurs suivantes de l’énumération DXVAHDDDI_FILTER_CAPS pour indiquer des fonctionnalités spécifiques au filtre.
DXVAHDDDI_FILTER_CAPS_BRIGHTNESS (0x1)
Le pilote prend en charge la luminosité ProcAmp.
DXVAHDDDI_FILTER_CAPS_CONTRAST (0x2)
Le pilote prend en charge le contraste ProcAmp.
DXVAHDDDI_FILTER_CAPS_HUE (0x4)
Le pilote prend en charge hue ProcAmp.
DXVAHDDDI_FILTER_CAPS_SATURATION (0x8)
Le pilote prend en charge la saturation ProcAmp.
DXVAHDDDI_FILTER_CAPS_NOISE_REDUCTION (0x10)
Le pilote prend en charge le filtre de réduction du bruit.
DXVAHDDDI_FILTER_CAPS_EDGE_ENHANCEMENT (0x20)
Le pilote prend en charge le filtre d’amélioration de la périphérie.
DXVAHDDDI_FILTER_CAPS_ANAMORPHIC_SCALING (0x40)
Le pilote peut passer du rectangle source au rectangle de destination de manière linéaire ou non linéaire. Si le pilote a cette fonctionnalité, il peut étirer du contenu vidéo standard de 4:3 à 16:9 widescreen.
[out] InputFormatCaps
Or au niveau du bit des valeurs suivantes de l’énumération DXVAHDDDI_INPUT_FORMAT_CAPS pour indiquer les fonctionnalités spécifiques au format d’entrée.
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_INTERLACED (0x1)
Le pilote peut déinterlacer le flux d’entrée avec le type de format RVB.
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_PROCAMP (0x2)
Le pilote peut appliquer un filtre ProcAmp au flux d’entrée avec le type de format RVB.
DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_LUMA_KEY (0x4)
Le pilote peut luma-key le flux d’entrée avec le type de format RVB.
DXVAHDDDI_INPUT_FORMAT_CAPS_PALETTE_INTERLACED (0x8)
Le pilote peut déinterlacer le flux d’entrée avec un type de format palettisé.
Le pilote peut prendre en charge les fonctionnalités précédentes plutôt que de prendre en charge le traitement vidéo rarement utilisé pour les images d’entrée. Étant donné que la prise en charge de ces fonctionnalités nécessite des étapes supplémentaires dans le pipeline de processeur vidéo, le pilote peut ne pas les prendre en charge.
Si le pilote prend en charge ces fonctionnalités, le pilote peut nécessiter un certain espace de couleur pour effectuer le traitement vers le flux d’entrée. Par exemple, ProcAmp et le keying luma sont effectués dans l’espace de couleur YCbCr. Le pilote fait référence à l’espace de couleur de l’état du flux pour effectuer la conversion de couleur intermédiaire.
Par exemple, lorsque le pilote définit les membres de RGB_Range et de YCbCr_Matrix de DXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA sur 0 et 1 respectivement, le pilote se convertit en RVB de plage complète en BT.709 YCbCr avant que le pilote n’applique ProcAmp, puis convertit le flux d’entrée en RVB de plage complète.
[out] InputPool
Valeur D3DDDI_POOL-typée qui indique le pool de mémoire à partir duquel les surfaces d’entrée doivent être allouées.
[out] OutputFormatCount
Nombre de formats de sortie pris en charge. Le pilote retourne un tableau de types d’énumération D3DDDIFORMAT pour les formats de sortie pris en charge par l’appareil de décodage lorsque la fonction GetCaps du pilote est appelée avec le jeu de valeurs D3DDDICAPS_DXVAHD_GETVPOUTPUTFORMATS.
[out] InputFormatCount
Nombre de formats d’entrée pris en charge. Le pilote retourne un tableau de types d’énumération D3DDDIFORMAT pour les formats d’entrée pris en charge par l’appareil de décodage lorsque la fonction GetCaps du pilote est appelée avec le jeu de valeurs D3DDDICAPS_DXVAHD_GETVPINPUTFORMATS.
[out] VideoProcessorCount
Nombre de processeurs vidéo pris en charge. Le pilote retourne un tableau de structures DXVAHDDDI_VPCAPS pour les fonctionnalités de chaque processeur vidéo pris en charge par l’appareil de décodage lorsque la fonction GetCaps du pilote est appelée avec le jeu de valeurs D3DDDICAPS_DXVAHD_GETVPCAPS.
[out] MaxInputStreams
Le pilote peut activer le nombre maximal de flux d’entrée à la fois.
[out] MaxStreamStates
Nombre maximal d’états de flux.
Remarques
Le pilote d’affichage en mode utilisateur retourne un pointeur vers une structure de DXVAHDDDI_VPDEVCAPS remplie dans le membre pData de la structure D3DDDIARG_GETCAPS lorsque sa fonction GetCaps est appelée avec la valeur D3DDDICAPS_DXVAHD_GETVPDEVCAPS définie dans le membre Type de D3DDDIARG_GETCAPS.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | DXVAHDDDI_VPDEVCAPS est pris en charge à partir de Windows 7. |
d’en-tête | d3dumddi.h (include D3dumddi.h) |