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