Partager via


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)

Voir aussi

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL