DXVAHDDDI_VPDEVCAPS structure (d3dumddi.h)

La structure DXVAHDDDI_VPDEVCAPS décrit les fonctionnalités de 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 zéro.

[out] DeviceCaps

Or au niveau du bit des valeurs suivantes de l’énumération DXVAHDDDI_DEVICE_CAPS pour indiquer les fonctionnalités spécifiques de l’appareil.

DXVAHDDDI_DEVICE_CAPS_LINEAR_SPACE (0x1)

Le pilote peut fusionner du contenu vidéo dans un espace linéaire. Étant donné que le contenu vidéo est traditionnellement dans un espace non linéaire et que gamma 2.2 est corrigé (sRGB), 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 de la gamme étendue lorsque le pilote entre et sort au 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 couleur RVB, mais que la plage est différente (par exemple, l’entrée est RVB de plage complète et la sortie est une plage RVB limitée). Si cette valeur n’est pas définie, le pilote ignore la plage RVB et compose le flux d’entrée RVB dans la 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 couleur 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 dans la sortie YCbCr sans modifier la matrice.

DXVAHDDDI_DEVICE_CAPS_NOMINAL_RANGE (0x10)

Le processeur vidéo peut effectuer une conversion entre des plages de luminance lorsque l’entrée et la sortie utilisent des plages de luminance différentes.

Pour plus d’informations sur la plage de luminance, consultez Plages de format YUV dans Windows 8.1.

Pris en charge à partir de Windows 8.1.

Le pilote détermine que les formats XR_BIAS, FP16 et FP32 (formats de gamme large) se trouvent dans un espace linéaire et peuvent donc conserver la couleur de la gamme é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 les 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 la surface 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 réduire l’échantillon du 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 transparents les pixels dans une plage de touches luma. 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 à la surface de sortie d’affichage. Pour plus d’informations sur cette opération, consultez DXVAHDDDI_STREAM_STATE_ROTATION_DATA.

Pris 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 les 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 la teinte 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 périmètre.

DXVAHDDDI_FILTER_CAPS_ANAMORPHIC_SCALING (0x40)

Le pilote peut effectuer une mise à l’échelle du rectangle source vers le rectangle de destination de manière linéaire ou non linéaire. Si le pilote dispose de cette fonctionnalité, il peut étendre le contenu vidéo standard 4 :3 à l’écran large 16 :9.

[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ésinterlacer 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ésinterlacer le flux d’entrée avec un type de format palettisé.

Le pilote peut prendre en charge les fonctionnalités précédentes au lieu 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 du processeur vidéo, le pilote peut ne pas les prendre en charge.

Si le pilote prend en charge ces fonctionnalités, il peut avoir besoin d’un certain espace de couleurs pour effectuer le traitement vers le flux d’entrée. Par exemple, ProcAmp et la touche luma sont effectuées dans l’espace de couleurs YCbCr. Le pilote fait référence à l’espace de couleurs de l’état du flux pour effectuer la conversion de couleur intermédiaire.

Par exemple, lorsque le pilote définit les RGB_Range et YCbCr_Matrix membres de DXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA sur 0 et 1 respectivement, le pilote convertit de la plage complète RVB en BT.709 YCbCr avant que le pilote applique ProcAmp, puis reconvertit le flux d’entrée en RVB de plage complète.

[out] InputPool

Valeur de type D3DDDI_POOL 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 le périphérique 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 le périphérique 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 le périphérique de décodage lorsque la fonction GetCaps du pilote est appelée avec la valeur D3DDDICAPS_DXVAHD_GETVPCAPS définie.

[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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge DXVAHDDDI_VPDEVCAPS est pris en charge à partir de Windows 7.
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDIARG_GETCAPS

D3DDDIFORMAT

D3DDDI_POOL

DXVAHDDDI_VPCAPS

GetCaps