Share via


Estructura DDVIDEOPORTINFO (dvp.h)

La estructura DDVIDEOPORTINFO describe cómo el controlador debe transferir datos de vídeo a una superficie (o a superficies); DDVIDEOPORTINFO es miembro de la estructura DD_VIDEOPORT_LOCAL .

Sintaxis

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;

Miembros

dwSize

Especifica el tamaño en bytes de la estructura. Este miembro debe inicializarse antes de usar la estructura.

dwOriginX

Indica la posición x de los datos de vídeo dentro de la superficie, en píxeles. Este desplazamiento se aplica a todas las superficies cuando se solicita autoflipping.

dwOriginY

Indica la ubicación y de los datos de vídeo dentro de la superficie, en píxeles. Este desplazamiento se aplica a todas las superficies cuando se solicita autoflipping.

dwVPFlags

Indica un conjunto de marcas que especifican cómo el controlador debe transferir los datos de vídeo. Este miembro puede ser un OR bit a bit de los siguientes valores:

Marca Significado
DDVP_AUTOFLIP Realice el volteo automático. El volteo automático se realiza entre la superficie superpuesta que se adjuntó al puerto de vídeo de hardware y las superficies de superposición que están conectadas a la superficie. El orden de volteo es el orden en el que se adjuntaron las superficies superpuestas.
DDVP_CONVERT Los datos de vídeo y la superficie de destino tienen diferentes formatos. El controlador debe convertir los datos de vídeo al formato de la superficie de destino.
DDVP_CROP El controlador debe recortar los datos de vídeo y VBI mediante el rectángulo en el miembro rCrop .
DDVP_IGNOREVBIXCROP El controlador debe omitir las coordenadas de recorte izquierda y derecha al recortar los datos de VBI.
DDVP_INTERLEAVE Los campos entrelazados de datos de vídeo y VBI deben intercalarse en la memoria.
DDVP_MIRRORLEFTRIGHT Los datos de vídeo deben reflejarse de izquierda a derecha, ya que se escriben en el búfer de fotogramas.
DDVP_MIRRORUPDOWN Los datos de vídeo deben reflejarse de arriba abajo, ya que se escriben en el búfer de fotogramas.
DDVP_NOINTERLEAVE Si se establece la marca DDVP_INTERLEAVE, el controlador solo debe intercalar los datos de vídeo; es decir, el controlador no debe intercalar los datos de VBI.
DDVP_OVERRIDEBOBWEAVE Las decisiones bob y weave no deben reemplazarse por otras interfaces. Si se establece esta marca, Microsoft DirectDraw no permite que un controlador en modo kernel use la funcionalidad de transporte de vídeo en modo kernel para cambiar el hardware entre los modos bob y weave.
DDVP_PRESCALE Realice el escalado previo o zoom en función de los miembros dwPrescaleWidth y dwPrescaleHeight . El controlador debe escalar previamente solo los datos de vídeo si se establece DDVP_VBINOSCALE; de lo contrario, debe escalar previamente los datos de vídeo y VBI.
DDVP_SKIPEVENFIELDS Omita la entrada de campos pares para los datos de vídeo y VBI.
DDVP_SKIPODDFIELDS Omita la entrada de campos impares para los datos de vídeo y VBI.
DDVP_SYNCMASTER Controle los VSYNC gráficos mediante el puerto de vídeo de hardware VSYNCs.
DDVP_VBICONVERT La estructura DDPIXELFORMAT a la que los puntos de miembro lpddpfVBIOutputFormat contienen datos que se deben usar para convertir los datos dentro del intervalo de en blanco vertical.
DDVP_VBINOSCALE No se deben escalar los datos dentro del intervalo de en blanco vertical.

rCrop

Especifica una estructura RECT que especifica un rectángulo de recorte en píxeles. Este miembro contiene un rectángulo válido cuando la marca DDVP_CROP se establece en el miembro dwVPFlags .

dwPrescaleWidth

Especifica el ancho en píxeles al que se deben escalar o ampliar los datos de vídeo y VBI. Por ejemplo, si los datos de vídeo son de 720 píxeles de ancho y el cliente solicita el corte de ancho en la mitad, el cliente especifica 360 en dwPrescaleWidth. Este miembro contiene un ancho válido cuando la marca DDVP_PRESCALE se establece en el miembro dwVPFlags .

dwPrescaleHeight

Especifica el alto en píxeles al que se deben escalar o ampliar los datos de vídeo y VBI. Por ejemplo, si los datos de vídeo son de 240 píxeles de ancho y el cliente solicita el corte de ancho en la mitad, el cliente especifica 120 en dwPrescaleHeight. Este miembro contiene un ancho válido cuando la marca DDVP_PRESCALE se establece en el miembro dwVPFlags .

lpddpfInputFormat

Apunta a una estructura DDPIXELFORMAT que especifica el formato de los datos de vídeo que se van a escribir en el objeto de extensiones de puerto de vídeo (VPE). Este formato puede ser diferente del formato de superficie de destino si el objeto VPE realiza una conversión.

lpddpfVBIInputFormat

Apunta a una estructura DDPIXELFORMAT que especifica el formato de entrada de los datos dentro del intervalo de en blanco vertical.

lpddpfVBIOutputFormat

Apunta a una estructura DDPIXELFORMAT que especifica el formato de salida de los datos dentro del intervalo de en blanco vertical.

dwVBIHeight

Especifica el número de líneas de datos dentro del intervalo de en blanco vertical.

dwReserved1

Reservado para uso del sistema y debe omitirlo el controlador.

dwReserved2

Reservado para uso del sistema y debe omitirlo el controlador.

Comentarios

El cliente establece todos los miembros de esta estructura y el controlador nunca debe cambiarlos. El cliente suele ser el mezclador de superposición.

Requisitos

Requisito Valor
Header dvp.h (incluye Dvp.h)

Consulte también

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL