Compartir a través de


Estructura DDVIDEOPORTCAPS (dvp.h)

La estructura DDVIDEOPORTCAPS describe las funcionalidades y las restricciones de alineación de un puerto de vídeo de hardware.

Sintaxis

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;

Miembros

dwSize

Especifica el tamaño en bytes de la estructura.

dwFlags

Especifique qué miembros de esta estructura contienen datos válidos. Este miembro puede ser un OR bit a bit de cualquiera de los valores siguientes:

Marca Significado
DDVPD_ALIGN
Todos los miembros de alineación son válidos. Entre ellas se incluyen las siguientes:
dwAlignVideoPortBoundary,
dwAlignVideoPortPrescaleWidth,
dwAlignVideoPortCropBoundary y
dwAlignVideoPortCropWidth.
DDVPD_AUTOFLIP DwNumAutoFlipSurfaces es válido.
DDVPD_CAPS El miembro dwCaps es válido.
DDVPD_FX El miembro dwFX es válido.
DDVPD_HEIGHT El miembro dwMaxHeight es válido.
DDVPD_ID El miembro dwVideoPortID es válido.
DDVPD_WIDTH Los miembros dwMaxWidth y dwMaxVBIWidth son válidos.

dwMaxWidth

Especifica el ancho máximo de campo en píxeles admitidos por el puerto de vídeo de hardware. Este valor suele estar determinado por el número de bits del registro de ancho.

dwMaxVBIWidth

Especifica el ancho máximo, en número de muestras, en una línea de datos VBI admitidos por el puerto de vídeo de hardware. Este valor puede ser mayor que el ancho de campo normal si el puerto de vídeo de hardware admite datos VBI sobremuestreo.

dwMaxHeight

Especifica el alto máximo de campo en píxeles admitidos por el puerto de vídeo de hardware. Este valor suele ser dictado por el número de bits del registro de alto.

dwVideoPortID

Especifica el identificador de puerto de vídeo de hardware para esta entrada. Este miembro debe ser el número de índice de esta estructura DDVIDEOPORTCAPS dentro de la matriz a la que apunta el miembro lpDDVideoPortCaps de la estructura DD_DIRECTDRAW_GLOBAL . Este valor va de 0 a (dwMaxVideoPorts - 1). (dwMaxVideoPorts es miembro de la estructura DDCORECAPS ). Si el dispositivo solo admite un puerto de vídeo de hardware, este miembro debe ser cero.

dwCaps

Indica un conjunto de marcas que especifican las funcionalidades admitidas por este puerto de vídeo de hardware. Este miembro puede ser un OR bit a bit de cualquiera de los valores siguientes:

Marca Significado
DDVPCAPS_AUTOFLIP Un volteo se puede realizar automáticamente para evitar el desgarro.
DDVPCAPS_COLORCONTROL El puerto de vídeo de hardware puede realizar operaciones de color en los datos entrantes antes de escribirlos en el búfer de fotogramas.
DDVPCAPS_INTERLACED El puerto de vídeo de hardware admite vídeo entrelazado.
DDVPCAPS_NONINTERLACED El puerto de vídeo de hardware admite vídeo no entrelazado.
DDVPCAPS_OVERSAMPLEDVBI El puerto de vídeo de hardware puede aceptar datos de VBI en un ancho o formato diferente a los datos de vídeo normales.
DDVPCAPS_READBACKFIELD El dispositivo puede devolver un valor que indica si el campo actual de una señal entrelazada es par o impar.
DDVPCAPS_READBACKLINE El dispositivo puede devolver el número de la línea de vídeo actual que se escribe en el búfer de fotogramas.
DDVPCAPS_SHAREABLE Microsoft DirectDraw omite.
DDVPCAPS_SKIPEVENFIELDS El puerto de vídeo de hardware puede descartar automáticamente incluso campos de vídeo.
DDVPCAPS_SKIPODDFIELDS El puerto de vídeo de hardware puede descartar automáticamente campos impares de vídeo.
DDVPCAPS_SYNCMASTER El dispositivo es capaz de impulsar la sincronización de V de gráficos con la sincronización de V del controlador de puerto de vídeo de hardware.
DDVPCAPS_SYSTEMMEMORY El puerto de vídeo de hardware puede escribir datos directamente en la memoria del sistema.
DDVPCAPS_VBISURFACE Los datos dentro del intervalo de en blanco vertical se pueden escribir en una superficie diferente.

dwFX

Indica un conjunto de marcas que especifican los efectos admitidos por este puerto de vídeo de hardware. Este miembro es un OR bit a bit de cualquiera de los siguientes valores:

Marca Significado
DDVPFX_CROPTOPDATA El puerto de vídeo de hardware admite recortes limitados para recortar los datos del intervalo vertical.
DDVPFX_CROPX El puerto de vídeo de hardware puede recortar los datos entrantes en la dirección x antes de escribirlos en la superficie.
DDVPFX_CROPY El puerto de vídeo de hardware puede recortar los datos entrantes en la dirección y antes de escribirlos en la superficie.
DDVPFX_IGNOREVBIXCROP El puerto de vídeo de hardware puede omitir las coordenadas de recorte izquierdo y derecho de los datos de vídeo al recortar datos de VBI sobremuestreo.
DDVPFX_INTERLEAVE El puerto de vídeo de hardware admite la intercalación de campos entrelazados en memoria.
DDVPFX_MIRRORLEFTRIGHT El puerto de vídeo de hardware admite la creación de reflejo de izquierda a derecha, ya que los datos de vídeo se escriben en el búfer de fotogramas.
DDVPFX_MIRRORUPDOWN El puerto de vídeo de hardware admite la creación de reflejo de arriba abajo, ya que los datos de vídeo se escriben en el búfer de fotogramas.
DDVPFX_PRESHRINKX Los datos se pueden reducir arbitrariamente en la dirección x antes de escribirlos en la superficie.
DDVPFX_PRESHRINKXB Los datos pueden reducirse por potencias negativas de 2 (1/2, 1/4, 1/8, etc.) en la dirección x antes de escribirse en la superficie.
DDVPFX_PRESHRINKXS Los datos se pueden reducir en incrementos de 1/dwPreshrinkXStep en la dirección x antes de escribirlos en la superficie.
DDVPFX_PRESHRINKY Los datos se pueden reducir arbitrariamente en la dirección y antes de escribirlos en la superficie.
DDVPFX_PRESHRINKYB Los datos pueden reducirse por potencias negativas de 2 (1/2, 1/4, 1/8, etc.) en la dirección y antes de escribirse en la superficie.
DDVPFX_PRESHRINKYS Los datos se pueden reducir en incrementos de 1/dwPreshrinkYStep en la dirección y antes de escribirlos en la superficie.
DDVPFX_PRESTRETCHX Los datos se pueden estirar arbitrariamente en la dirección x antes de escribirlos en la superficie.
DDVPFX_PRESTRETCHXN Los datos se pueden ampliar por factores enteros en la dirección x antes de escribirlos en la superficie.
DDVPFX_PRESTRETCHY Los datos se pueden extender arbitrariamente en la dirección y antes de escribirlos en la superficie.
DDVPFX_PRESTRETCHYN Los datos se pueden ampliar por factores enteros en la dirección y antes de escribirlos en la superficie.
DDVPFX_VBICONVERT Los datos dentro del intervalo de en blanco vertical se pueden convertir independientemente de los datos de vídeo restantes.
DDVPFX_VBINOSCALE El escalado se puede deshabilitar para los datos dentro del intervalo de en blanco vertical.

dwNumAutoFlipSurfaces

Especifica el número máximo de superficies admitidas en la cadena de autoflip, si el puerto de vídeo de hardware admite autoflipping. Si el puerto de vídeo de hardware no admite el coqueteo automático, el controlador debe establecer este miembro en cero.

dwAlignVideoPortBoundary

Especifica la restricción de alineación de bytes, en bytes, de donde el puerto de vídeo de hardware se puede orientar con respecto al origen de la superficie en la dirección x.

dwAlignVideoPortPrescaleWidth

Especifica la restricción de alineación de bytes, en bytes, de la amplitud que pueden tener los datos del puerto de vídeo de hardware cuando se realiza el escalado previo.

dwAlignVideoPortCropBoundary

Especifica la restricción de alineación de bytes, en bytes, para la coordenada de recorte izquierda.

dwAlignVideoPortCropWidth

Especifica la restricción de alineación de bytes, en bytes, para el ancho del rectángulo de recorte.

dwPreshrinkXStep

Indica que el puerto de vídeo de hardware puede reducir el ancho de los datos de vídeo en pasos de 1/dwPreshrinkXStep. Este miembro solo es válido cuando se especifica la funcionalidad DDVPFX_PRESHRINKXS.

dwPreshrinkYStep

Indica que el puerto de vídeo de hardware puede reducir el alto de los datos de vídeo en pasos de 1/dwPreshrinkYStep. Este miembro solo es válido cuando se especifica la funcionalidad DDVPFX_PRESHRINKYS.

dwNumVBIAutoFlipSurfaces

Especifica el número máximo de superficies admitidas en la cadena de autoflip, si el puerto de vídeo de hardware admite autoflipping. Si el puerto de vídeo de hardware no admite el coqueteo automático, el controlador debe establecer este miembro en cero. Este miembro funciona de la misma manera que dwNumAutoFlipSurfaces , salvo que pertenece solo a los dispositivos que pueden enviar los datos de VBI a una superficie diferente a la que se está escribiendo el vídeo normal.

dwNumPreferredAutoflip

Especifica el número óptimo de superficies autoflippables compatibles con el hardware.

wNumFilterTapsX

Indica el número de pulsaciones que usa el escalador previo en la dirección x. Un valor de 0 indica que no hay escala previa, un valor de 1 indica la replicación, etc.

wNumFilterTapsY

Indica el número de pulsaciones que usa el escalador previo en la dirección y. Un valor de 0 indica que no hay escala previa, un valor de 1 indica la replicación, etc.

Comentarios

El controlador informa de las funcionalidades descritas por la estructura DDVIDEOPORTCAPS cuando se llama a su función DdGetDriverInfo con el GUID de GUID_VideoPortCaps.

Requisitos

   
Encabezado dvp.h (incluye Dvp.h)

Consulte también

DDCORECAPS

DD_DIRECTDRAW_GLOBAL

DdGetDriverInfo