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
Todos os membros de alinhamento são válidos. Estão incluídos:
dwAlignVideoPortBoundary,
dwAlignVideoPortPrescaleWidth,
dwAlignVideoPortCropBoundary e
dwAlignVideoPortCropWidth.
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)

Confira também

DDCORECAPS

DD_DIRECTDRAW_GLOBAL

DdGetDriverInfo