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 |
|
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) |