Estrutura DDVIDEOPORTCAPS (dvp.h)
A estrutura DDVIDEOPORTCAPS descreve os recursos e as restrições de alinhamento de uma porta de vídeo de hardware.
Sintaxe
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;
Membros
dwSize
Especifica o tamanho em bytes da estrutura.
dwFlags
Especifique quais membros nesta estrutura contêm dados válidos. Esse membro pode ser um OR bit a bit de qualquer um dos seguintes valores:
Sinalizador | Significado |
---|---|
DDVPD_ALIGN |
|
DDVPD_AUTOFLIP | O dwNumAutoFlipSurfaces é válido. |
DDVPD_CAPS | O membro dwCaps é válido. |
DDVPD_FX | O membro dwFX é válido. |
DDVPD_HEIGHT | O membro dwMaxHeight é válido. |
DDVPD_ID | O membro dwVideoPortID é válido. |
DDVPD_WIDTH | Os membros dwMaxWidth e dwMaxVBIWidth são válidos. |
dwMaxWidth
Especifica a largura máxima do campo em pixels compatíveis com a porta de vídeo de hardware. Esse valor normalmente é ditado pelo número de bits no registro de largura.
dwMaxVBIWidth
Especifica a largura máxima, em número de amostras, em uma linha de dados de VBI com suporte pela porta de vídeo de hardware. Esse valor poderá ser maior do que a largura normal do campo se a porta de vídeo de hardware der suporte a dados de VBI superamostrados.
dwMaxHeight
Especifica a altura máxima do campo em pixels com suporte pela porta de vídeo de hardware. Esse valor normalmente é ditado pelo número de bits no registro de altura.
dwVideoPortID
Especifica a ID da porta de vídeo de hardware para essa entrada. Esse membro deve ser o número de índice dessa estrutura DDVIDEOPORTCAPS dentro da matriz para a qual o membro lpDDVideoPortCaps dos pontos de estrutura DD_DIRECTDRAW_GLOBAL . Esse valor varia de 0 a (dwMaxVideoPorts - 1). (dwMaxVideoPorts é um membro da estrutura DDCORECAPS .) Se o dispositivo der suporte a apenas uma porta de vídeo de hardware, esse membro deverá ser zero.
dwCaps
Indica um conjunto de sinalizadores que especificam os recursos compatíveis com essa porta de vídeo de hardware. Esse membro pode ser um OR bit a bit de qualquer um dos seguintes valores:
Sinalizador | Significado |
---|---|
DDVPCAPS_AUTOFLIP | Uma inversão pode ser executada automaticamente para evitar a desinstalação. |
DDVPCAPS_COLORCONTROL | A porta de vídeo de hardware pode executar operações de cor nos dados de entrada antes de ser gravada no buffer de quadros. |
DDVPCAPS_INTERLACED | A porta de vídeo de hardware dá suporte a vídeo entrelaçado. |
DDVPCAPS_NONINTERLACED | A porta de vídeo de hardware dá suporte a vídeo não entrelaçado. |
DDVPCAPS_OVERSAMPLEDVBI | A porta de vídeo de hardware pode aceitar dados de VBI em uma largura ou formato diferente dos dados de vídeo regulares. |
DDVPCAPS_READBACKFIELD | O dispositivo pode retornar um valor que significa se o campo atual de um sinal entrelaçado é par ou ímpar. |
DDVPCAPS_READBACKLINE | O dispositivo pode retornar o número da linha de vídeo atual que está sendo gravada no buffer de quadros. |
DDVPCAPS_SHAREABLE | Ignorado pelo Microsoft DirectDraw. |
DDVPCAPS_SKIPEVENFIELDS | A porta de vídeo de hardware pode descartar automaticamente até mesmo campos de vídeo. |
DDVPCAPS_SKIPODDFIELDS | A porta de vídeo de hardware pode descartar automaticamente campos ímpares de vídeo. |
DDVPCAPS_SYNCMASTER | O dispositivo é capaz de conduzir a sincronização V de elementos gráficos com a sincronização V do driver de porta de vídeo de hardware. |
DDVPCAPS_SYSTEMMEMORY | A porta de vídeo de hardware pode gravar dados diretamente na memória do sistema. |
DDVPCAPS_VBISURFACE | Os dados dentro do intervalo de espaço em branco vertical podem ser gravados em uma superfície diferente. |
dwFX
Indica um conjunto de sinalizadores que especificam os efeitos compatíveis com essa porta de vídeo de hardware. Esse membro é um OR bit a bit de qualquer um dos seguintes valores:
Sinalizador | Significado |
---|---|
DDVPFX_CROPTOPDATA | A porta de vídeo de hardware dá suporte ao corte limitado para cortar os dados de intervalo vertical. |
DDVPFX_CROPX | A porta de vídeo de hardware pode cortar dados de entrada na direção x antes de escrevê-los na superfície. |
DDVPFX_CROPY | A porta de vídeo de hardware pode cortar dados de entrada na direção y antes de escrevê-los na superfície. |
DDVPFX_IGNOREVBIXCROP | A porta de vídeo de hardware pode ignorar as coordenadas de corte à esquerda e à direita para dados de vídeo ao cortar dados de VBI superamostrados. |
DDVPFX_INTERLEAVE | A porta de vídeo de hardware dá suporte à intercalação de campos entrelaçados na memória. |
DDVPFX_MIRRORLEFTRIGHT | A porta de vídeo de hardware dá suporte ao espelhamento da esquerda para a direita à medida que os dados de vídeo são gravados no buffer de quadros. |
DDVPFX_MIRRORUPDOWN | A porta de vídeo de hardware dá suporte ao espelhamento de cima para baixo à medida que os dados de vídeo são gravados no buffer de quadros. |
DDVPFX_PRESHRINKX | Os dados podem ser reduzidos arbitrariamente na direção x antes de serem gravados na superfície. |
DDVPFX_PRESHRINKXB | Os dados podem ser reduzidos por potências negativas de 2 (2/1, 1/4, 1/8 e assim por diante) na direção x antes de serem gravados na superfície. |
DDVPFX_PRESHRINKXS | Os dados podem ser reduzidos em incrementos de 1/dwPreshrinkXStep na direção x antes de serem gravados na superfície. |
DDVPFX_PRESHRINKY | Os dados podem ser reduzidos arbitrariamente na direção y antes de serem gravados na superfície. |
DDVPFX_PRESHRINKYB | Os dados podem ser reduzidos por potências negativas de 2 (2/1, 1/4, 1/8 e assim por diante) na direção y antes de serem gravados na superfície. |
DDVPFX_PRESHRINKYS | Os dados podem ser reduzidos em incrementos de 1/dwPreshrinkYStep na direção y antes de serem gravados na superfície. |
DDVPFX_PRESTRETCHX | Os dados podem ser arbitrariamente estendidos na direção x antes de serem gravados na superfície. |
DDVPFX_PRESTRETCHXN | Os dados podem ser estendidos por fatores inteiros na direção x antes de serem gravados na superfície. |
DDVPFX_PRESTRETCHY | Os dados podem ser arbitrariamente estendidos na direção y antes de serem gravados na superfície. |
DDVPFX_PRESTRETCHYN | Os dados podem ser estendidos por fatores inteiros na direção y antes de serem gravados na superfície. |
DDVPFX_VBICONVERT | Os dados dentro do intervalo de espaços em branco verticais podem ser convertidos independentemente dos dados de vídeo restantes. |
DDVPFX_VBINOSCALE | O dimensionamento pode ser desabilitado para dados dentro do intervalo de espaços em branco vertical. |
dwNumAutoFlipSurfaces
Especifica o número máximo de superfícies com suporte na cadeia de autoflips, se a porta de vídeo de hardware der suporte ao salto automático. Se a porta de vídeo de hardware não der suporte ao salto automático, o driver deverá definir esse membro como zero.
dwAlignVideoPortBoundary
Especifica a restrição de alinhamento de bytes, em bytes, de onde a porta de vídeo de hardware pode ser orientada em relação à origem da superfície na direção x.
dwAlignVideoPortPrescaleWidth
Especifica a restrição de alinhamento de bytes, em bytes, de quão largos os dados da porta de vídeo de hardware podem ser quando o pré-dimensionamento é executado.
dwAlignVideoPortCropBoundary
Especifica a restrição de alinhamento de bytes, em bytes, para a coordenada de corte à esquerda.
dwAlignVideoPortCropWidth
Especifica a restrição de alinhamento de bytes, em bytes, para a largura do retângulo de corte.
dwPreshrinkXStep
Indica que a porta de vídeo de hardware pode reduzir a largura dos dados de vídeo em etapas de 1/dwPreshrinkXStep. Esse membro é válido somente quando a funcionalidade DDVPFX_PRESHRINKXS é especificada.
dwPreshrinkYStep
Indica que a porta de vídeo de hardware pode reduzir a altura dos dados de vídeo em etapas de 1/dwPreshrinkYStep. Esse membro é válido somente quando a funcionalidade de DDVPFX_PRESHRINKYS é especificada.
dwNumVBIAutoFlipSurfaces
Especifica o número máximo de superfícies com suporte na cadeia de autoflips, se a porta de vídeo de hardware der suporte ao salto automático. Se a porta de vídeo de hardware não der suporte ao salto automático, o driver deverá definir esse membro como zero. Esse membro funciona da mesma maneira que dwNumAutoFlipSurfaces , exceto que ele pertence apenas a dispositivos que podem enviar os dados da VBI para uma superfície diferente daquela para a qual o vídeo normal está sendo gravado.
dwNumPreferredAutoflip
Especifica o número ideal de superfícies autoflippable compatíveis com o hardware.
wNumFilterTapsX
Indica o número de toques que o pré-dimensionador usa na direção x. Um valor de 0 indica que não há pré-dimensionamento, um valor de 1 indica replicação e assim por diante.
wNumFilterTapsY
Indica o número de toques que o pré-dimensionador usa na direção y. Um valor de 0 indica que não há pré-dimensionamento, um valor de 1 indica replicação e assim por diante.
Comentários
O driver relata os recursos descritos pela estrutura DDVIDEOPORTCAPS quando sua função DdGetDriverInfo é chamada com o GUID GUID_VideoPortCaps.
Requisitos
Cabeçalho | dvp.h (inclua Dvp.h) |