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