Structure DDVIDEOPORTINFO (dvp.h)
La structure DDVIDEOPORTINFO décrit comment le pilote doit transférer des données vidéo vers une surface (ou vers des surfaces) ; DDVIDEOPORTINFO est membre de la structure DD_VIDEOPORT_LOCAL .
Syntaxe
typedef struct _DDVIDEOPORTINFO {
DWORD dwSize;
DWORD dwOriginX;
DWORD dwOriginY;
DWORD dwVPFlags;
RECT rCrop;
DWORD dwPrescaleWidth;
DWORD dwPrescaleHeight;
LPDDPIXELFORMAT lpddpfInputFormat;
LPDDPIXELFORMAT lpddpfVBIInputFormat;
LPDDPIXELFORMAT lpddpfVBIOutputFormat;
DWORD dwVBIHeight;
ULONG_PTR dwReserved1;
ULONG_PTR dwReserved2;
} *LPDDVIDEOPORTINFO, DDVIDEOPORTINFO;
Membres
dwSize
Spécifie la taille en octets de la structure. Ce membre doit être initialisé avant l’utilisation de la structure.
dwOriginX
Indique le x placement des données vidéo dans la surface, en pixels. Ce décalage s’applique à toutes les surfaces lorsque la capture automatique est demandée.
dwOriginY
Indique le placement y des données vidéo dans la surface, en pixels. Ce décalage s’applique à toutes les surfaces lorsque la capture automatique est demandée.
dwVPFlags
Indique un ensemble d’indicateurs qui spécifient la façon dont le pilote doit transférer les données vidéo. Ce membre peut être un or au niveau du bit des valeurs suivantes :
Indicateur | Signification |
---|---|
DDVP_AUTOFLIP | Effectuez un basculement automatique. Le basculement automatique est effectué entre la surface de superposition attachée au port vidéo matériel et les surfaces de superposition attachées à la surface. L’ordre de retournement est l’ordre dans lequel les surfaces de superposition ont été attachées. |
DDVP_CONVERT | Les données vidéo et la surface cible ont différents formats. Le pilote doit convertir les données vidéo au format de la surface cible. |
DDVP_CROP | Le pilote doit rogner les données vidéo et VBI à l’aide du rectangle dans le membre rCrop . |
DDVP_IGNOREVBIXCROP | Le pilote doit ignorer les coordonnées de rognage gauche et droite lors du rognage des données VBI. |
DDVP_INTERLEAVE | Les champs entrelacés des données vidéo et VBI doivent être entrelacés en mémoire. |
DDVP_MIRRORLEFTRIGHT | Les données vidéo doivent être mises en miroir de gauche à droite au fur et à mesure qu’elles sont écrites dans la mémoire tampon d’image. |
DDVP_MIRRORUPDOWN | Les données vidéo doivent être mises en miroir de haut en bas à mesure qu’elles sont écrites dans la mémoire tampon d’image. |
DDVP_NOINTERLEAVE | Si l’indicateur DDVP_INTERLEAVE est défini, le pilote doit entrelacer les données vidéo uniquement ; autrement dit, le pilote ne doit pas entrelacer les données VBI. |
DDVP_OVERRIDEBOBWEAVE | Les décisions de bob et de tissage ne doivent pas être remplacées par d’autres interfaces. Si cet indicateur est défini, Microsoft DirectDraw n’autorise pas un pilote en mode noyau à utiliser la fonctionnalité de transport vidéo en mode noyau pour basculer le matériel entre les modes bob et weave. |
DDVP_PRESCALE | Effectuez un précalage/zoom en fonction des membres dwPrescaleWidth et dwPrescaleHeight . Le pilote ne doit pré-mettre à l’échelle que les données vidéo si DDVP_VBINOSCALE est défini ; sinon, il doit pré-mettre à l’échelle les données vidéo et VBI. |
DDVP_SKIPEVENFIELDS | Ignorez l’entrée de champs pairs pour les données vidéo et VBI. |
DDVP_SKIPODDFIELDS | Ignorez l’entrée de champs impairs pour les données vidéo et VBI. |
DDVP_SYNCMASTER | Pilotez les VSYNCs graphiques à l’aide des VSYNCs du port vidéo matériel. |
DDVP_VBICONVERT | La structure DDPIXELFORMAT vers laquelle le membre lpddpfVBIOutputFormat pointe contient des données qui doivent être utilisées pour convertir les données dans l’intervalle de remplissage vertical. |
DDVP_VBINOSCALE | Les données dans l’intervalle de vide vertical ne doivent pas être mises à l’échelle. |
rCrop
Spécifie une structure RECT qui spécifie un rectangle de rognage en pixels. Ce membre contient un rectangle valide lorsque l’indicateur DDVP_CROP est défini dans le membre dwVPFlags .
dwPrescaleWidth
Spécifie la largeur en pixels à laquelle les données vidéo et VBI doivent être précalées ou zoomées. Par exemple, si les données vidéo ont une largeur de 720 pixels et que le client demande la réduction de la largeur en deux, le client spécifie 360 dans dwPrescaleWidth. Ce membre contient une largeur valide lorsque l’indicateur DDVP_PRESCALE est défini dans le membre dwVPFlags .
dwPrescaleHeight
Spécifie la hauteur en pixels à laquelle les données vidéo et VBI doivent être précalées ou zoomées. Par exemple, si les données vidéo ont une largeur de 240 pixels et que le client demande la réduction de la largeur en deux, le client spécifie 120 dans dwPrescaleHeight. Ce membre contient une largeur valide lorsque l’indicateur DDVP_PRESCALE est défini dans le membre dwVPFlags .
lpddpfInputFormat
Pointe vers une structure DDPIXELFORMAT qui spécifie le format des données vidéo à écrire dans l’objet VPE (Video Port Extensions ). Ce format peut être différent du format de surface cible si l’objet VPE effectue une conversion.
lpddpfVBIInputFormat
Pointe vers une structure DDPIXELFORMAT qui spécifie le format d’entrée des données dans l’intervalle de remplissage vertical.
lpddpfVBIOutputFormat
Pointe vers une structure DDPIXELFORMAT qui spécifie le format de sortie des données dans l’intervalle de remplissage vertical.
dwVBIHeight
Spécifie le nombre de lignes de données dans l’intervalle de remplissage vertical.
dwReserved1
Réservé à l’utilisation du système et doit être ignoré par le pilote.
dwReserved2
Réservé à l’utilisation du système et doit être ignoré par le pilote.
Remarques
Tous les membres de cette structure sont définis par le client et le pilote ne doit jamais les modifier. Le client est généralement le mélangeur de superposition.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dvp.h (include Dvp.h) |