Partager via


Structure DDVIDEOPORTCAPS (dvp.h)

La structure DDVIDEOPORTCAPS décrit les fonctionnalités et les restrictions d’alignement d’un port vidéo matériel.

Syntaxe

typedef struct _DDVIDEOPORTCAPS {
  DWORD dwSize;
  DWORD dwFlags;
  DWORD dwMaxWidth;
  DWORD dwMaxVBIWidth;
  DWORD dwMaxHeight;
  DWORD dwVideoPortID;
  DWORD dwCaps;
  DWORD dwFX;
  DWORD dwNumAutoFlipSurfaces;
  DWORD dwAlignVideoPortBoundary;
  DWORD dwAlignVideoPortPrescaleWidth;
  DWORD dwAlignVideoPortCropBoundary;
  DWORD dwAlignVideoPortCropWidth;
  DWORD dwPreshrinkXStep;
  DWORD dwPreshrinkYStep;
  DWORD dwNumVBIAutoFlipSurfaces;
  DWORD dwNumPreferredAutoflip;
  WORD  wNumFilterTapsX;
  WORD  wNumFilterTapsY;
} *LPDDVIDEOPORTCAPS, DDVIDEOPORTCAPS;

Membres

dwSize

Spécifie la taille en octets de la structure.

dwFlags

Spécifiez les membres de cette structure qui contiennent des données valides. Ce membre peut être un or au niveau du bit de l’une des valeurs suivantes :

Indicateur Signification
DDVPD_ALIGN
Tous les membres d’alignement sont valides. Il s’agit notamment des paramètres suivants :
dwAlignVideoPortBoundary,
dwAlignVideoPortPrescaleWidth,
dwAlignVideoPortCropBoundary, et
dwAlignVideoPortCropWidth.
DDVPD_AUTOFLIP DwNumAutoFlipSurfaces est valide.
DDVPD_CAPS Le membre dwCaps est valide.
DDVPD_FX Le membre dwFX est valide.
DDVPD_HEIGHT Le membre dwMaxHeight est valide.
DDVPD_ID Le membre dwVideoPortID est valide.
DDVPD_WIDTH Les membres dwMaxWidth et dwMaxVBIWidth sont valides.

dwMaxWidth

Spécifie la largeur de champ maximale en pixels prise en charge par le port vidéo matériel. Cette valeur est généralement dictée par le nombre de bits dans le registre de largeur.

dwMaxVBIWidth

Spécifie la largeur maximale, en nombre d’exemples, dans une ligne de données VBI prises en charge par le port vidéo matériel. Cette valeur peut être supérieure à la largeur de champ normale si le port vidéo matériel prend en charge les données VBI suréchantées.

dwMaxHeight

Spécifie la hauteur de champ maximale en pixels prise en charge par le port vidéo matériel. Cette valeur est généralement dictée par le nombre de bits dans le registre de hauteur.

dwVideoPortID

Spécifie l’ID de port vidéo matériel pour cette entrée. Ce membre doit être le numéro d’index de cette structure DDVIDEOPORTCAPS dans le tableau vers lequel pointe le membre lpDDVideoPortCaps de la structure DD_DIRECTDRAW_GLOBAL . Cette valeur est comprise entre 0 et (dwMaxVideoPorts - 1). (dwMaxVideoPorts est membre de la structure DDCORECAPS .) Si l’appareil ne prend en charge qu’un seul port vidéo matériel, ce membre doit être égal à zéro.

dwCaps

Indique un ensemble d’indicateurs qui spécifient les fonctionnalités prises en charge par ce port vidéo matériel. Ce membre peut être un or au niveau du bit de l’une des valeurs suivantes :

Indicateur Signification
DDVPCAPS_AUTOFLIP Un retournement peut être effectué automatiquement pour éviter la déchirure.
DDVPCAPS_COLORCONTROL Le port vidéo matériel peut effectuer des opérations de couleur sur les données entrantes avant qu’elles ne soient écrites dans la mémoire tampon de trame.
DDVPCAPS_INTERLACED Le port vidéo matériel prend en charge la vidéo entrelacée.
DDVPCAPS_NONINTERLACED Le port vidéo matériel prend en charge la vidéo non entrelacée.
DDVPCAPS_OVERSAMPLEDVBI Le port vidéo matériel peut accepter des données VBI dans une largeur ou un format différent de celui des données vidéo normales.
DDVPCAPS_READBACKFIELD L’appareil peut retourner une valeur indiquant si le champ actuel d’un signal entrelacé est pair ou impair.
DDVPCAPS_READBACKLINE L’appareil peut retourner le numéro de la ligne de vidéo en cours d’écriture dans la mémoire tampon d’images.
DDVPCAPS_SHAREABLE Ignoré par Microsoft DirectDraw.
DDVPCAPS_SKIPEVENFIELDS Le port vidéo matériel peut ignorer automatiquement les champs pairs de la vidéo.
DDVPCAPS_SKIPODDFIELDS Le port vidéo matériel peut ignorer automatiquement les champs impairs de la vidéo.
DDVPCAPS_SYNCMASTER L’appareil est capable de piloter la V-sync graphique avec le pilote de port vidéo matériel V-sync.
DDVPCAPS_SYSTEMMEMORY Le port vidéo matériel peut écrire des données directement dans la mémoire système.
DDVPCAPS_VBISURFACE Les données dans l’intervalle de remplissage vertical peuvent être écrites sur une autre surface.

dwFX

Indique un ensemble d’indicateurs qui spécifient les effets pris en charge par ce port vidéo matériel. Ce membre est un or au niveau du bit de l’une des valeurs suivantes :

Indicateur Signification
DDVPFX_CROPTOPDATA Le port vidéo matériel prend en charge le rognage limité pour rogner les données d’intervalle vertical.
DDVPFX_CROPX Le port vidéo matériel peut rogner les données entrantes dans la direction x avant de les écrire sur la surface.
DDVPFX_CROPY Le port vidéo matériel peut rogner les données entrantes dans la direction y avant de les écrire sur la surface.
DDVPFX_IGNOREVBIXCROP Le port vidéo matériel peut ignorer les coordonnées de rognage gauche et droite pour les données vidéo lors du rognage de données VBI suréchantillonnée.
DDVPFX_INTERLEAVE Le port vidéo matériel prend en charge l’entrelacement des champs en mémoire.
DDVPFX_MIRRORLEFTRIGHT Le port vidéo matériel prend en charge la mise en miroir de gauche à droite à mesure que les données vidéo sont écrites dans la mémoire tampon de trame.
DDVPFX_MIRRORUPDOWN Le port vidéo matériel prend en charge la mise en miroir de haut en bas à mesure que les données vidéo sont écrites dans la mémoire tampon de trame.
DDVPFX_PRESHRINKX Les données peuvent être arbitrairement réduites dans la direction x avant d’être écrites sur la surface.
DDVPFX_PRESHRINKXB Les données peuvent être réduites par des puissances négatives de 2 (1/2, 1/4, 1/8, etc.) dans la direction x avant d’être écrites à la surface.
DDVPFX_PRESHRINKXS Les données peuvent être réduites par incréments de 1/dwPreshrinkXStep dans la direction x avant d’être écrites sur la surface.
DDVPFX_PRESHRINKY Les données peuvent être réduites arbitrairement dans la direction y avant d’être écrites à la surface.
DDVPFX_PRESHRINKYB Les données peuvent être réduites par des puissances négatives de 2 (1/2, 1/4, 1/8, etc.) dans la direction y avant d’être écrites à la surface.
DDVPFX_PRESHRINKYS Les données peuvent être réduites par incréments de 1/dwPreshrinkYStep dans le sens y avant d’être écrites sur la surface.
DDVPFX_PRESTRETCHX Les données peuvent être étirées arbitrairement dans la direction x avant d’être écrites sur la surface.
DDVPFX_PRESTRETCHXN Les données peuvent être étirées par des facteurs entiers dans la direction x avant d’être écrites sur la surface.
DDVPFX_PRESTRETCHY Les données peuvent être étirées arbitrairement dans la direction y avant d’être écrites sur la surface.
DDVPFX_PRESTRETCHYN Les données peuvent être étirées par des facteurs entiers dans la direction y avant d’être écrites sur la surface.
DDVPFX_VBICONVERT Les données dans l’intervalle de remplissage vertical peuvent être converties indépendamment des données vidéo restantes.
DDVPFX_VBINOSCALE La mise à l’échelle peut être désactivée pour les données dans l’intervalle de remplissage vertical.

dwNumAutoFlipSurfaces

Spécifie le nombre maximal de surfaces prises en charge dans la chaîne autoflip, si le port vidéo matériel prend en charge la capture automatique. Si le port vidéo matériel ne prend pas en charge la capture automatique, le pilote doit définir ce membre sur zéro.

dwAlignVideoPortBoundary

Spécifie la restriction d’alignement d’octets, en octets, de l’endroit où le port vidéo matériel peut être orienté par rapport à l’origine de la surface dans la direction x.

dwAlignVideoPortPrescaleWidth

Spécifie la restriction d’alignement d’octets, en octets, de l’étendue des données du port vidéo matériel lors de l’exécution d’une précalcalation.

dwAlignVideoPortCropBoundary

Spécifie la restriction d’alignement d’octets, en octets, pour la coordonnée de rognage gauche.

dwAlignVideoPortCropWidth

Spécifie la restriction d’alignement d’octets, en octets, pour la largeur du rectangle de rognage.

dwPreshrinkXStep

Indique que le port vidéo matériel peut réduire la largeur des données vidéo à l’étape de 1/dwPreshrinkXStep. Ce membre n’est valide que lorsque la fonctionnalité DDVPFX_PRESHRINKXS est spécifiée.

dwPreshrinkYStep

Indique que le port vidéo matériel peut réduire la hauteur des données vidéo à l’étape de 1/dwPreshrinkYStep. Ce membre n’est valide que lorsque la fonctionnalité DDVPFX_PRESHRINKYS est spécifiée.

dwNumVBIAutoFlipSurfaces

Spécifie le nombre maximal de surfaces prises en charge dans la chaîne autoflip, si le port vidéo matériel prend en charge la capture automatique. Si le port vidéo matériel ne prend pas en charge la capture automatique, le pilote doit définir ce membre sur zéro. Ce membre fonctionne de la même façon que dwNumAutoFlipSurfaces , sauf qu’il concerne uniquement les appareils qui peuvent envoyer les données VBI à une surface différente de celle sur laquelle la vidéo normale est écrite.

dwNumPreferredAutoflip

Spécifie le nombre optimal de surfaces autoflippables prises en charge par le matériel.

wNumFilterTapsX

Indique le nombre d’appuis que le préscaler utilise dans la direction x. La valeur 0 indique l’absence de préscale, la valeur 1 indique la réplication, etc.

wNumFilterTapsY

Indique le nombre d’appuis que le préscaler utilise dans le sens y. La valeur 0 indique l’absence de préscale, la valeur 1 indique la réplication, etc.

Notes

Le pilote signale les fonctionnalités décrites par la structure DDVIDEOPORTCAPS lorsque sa fonction DdGetDriverInfo est appelée avec le GUID GUID_VideoPortCaps.

Spécifications

   
En-tête dvp.h (include Dvp.h)

Voir aussi

DDCORECAPS

DD_DIRECTDRAW_GLOBAL

DdGetDriverInfo