Estrutura DDVIDEOPORTINFO (dvp.h)

A estrutura DDVIDEOPORTINFO descreve como o driver deve transferir dados de vídeo para uma superfície (ou para superfícies); DDVIDEOPORTINFO é um membro da estrutura DD_VIDEOPORT_LOCAL .

Sintaxe

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;

Membros

dwSize

Especifica o tamanho em bytes da estrutura. Esse membro deve ser inicializado antes que a estrutura seja usada.

dwOriginX

Indica o posicionamento x dos dados de vídeo dentro da superfície, em pixels. Esse deslocamento se aplica a todas as superfícies quando o salto automático é solicitado.

dwOriginY

Indica o posicionamento y dos dados de vídeo na superfície, em pixels. Esse deslocamento se aplica a todas as superfícies quando o salto automático é solicitado.

dwVPFlags

Indica um conjunto de sinalizadores que especificam como o driver deve transferir os dados de vídeo. Esse membro pode ser um OR bit a bit dos seguintes valores:

Sinalizador Significado
DDVP_AUTOFLIP Executar inversão automática. A inversão automática é executada entre a superfície de sobreposição que foi anexada à porta de vídeo de hardware e as superfícies de sobreposição anexadas à superfície. A ordem de inversão é a ordem na qual as superfícies de sobreposição foram anexadas.
DDVP_CONVERT Os dados de vídeo e a superfície de destino têm formatos diferentes. O driver deve converter os dados de vídeo no formato da superfície de destino.
DDVP_CROP O driver deve cortar os dados de vídeo e VBI usando o retângulo no membro rCrop .
DDVP_IGNOREVBIXCROP O driver deve ignorar as coordenadas de corte à esquerda e à direita ao cortar os dados da VBI.
DDVP_INTERLEAVE Campos entrelaçados de dados de vídeo e VBI devem ser intercalados na memória.
DDVP_MIRRORLEFTRIGHT Os dados de vídeo devem ser espelhados da esquerda para a direita, pois são gravados no buffer de quadros.
DDVP_MIRRORUPDOWN Os dados de vídeo devem ser espelhados de cima para baixo conforme são gravados no buffer de quadros.
DDVP_NOINTERLEAVE Se o sinalizador DDVP_INTERLEAVE estiver definido, o driver deverá intercalar somente os dados de vídeo; ou seja, o driver não deve intercalar os dados da VBI.
DDVP_OVERRIDEBOBWEAVE As decisões bob e weave não devem ser substituídas por outras interfaces. Se esse sinalizador estiver definido, o Microsoft DirectDraw não permitirá que um driver no modo kernel use a funcionalidade de transporte de vídeo no modo kernel para alternar o hardware entre os modos bob e weave.
DDVP_PRESCALE Execute pré-dimensionamento/zoom com base nos membros dwPrescaleWidth e dwPrescaleHeight . O driver deverá dimensionar previamente apenas os dados de vídeo se DDVP_VBINOSCALE estiver definido; caso contrário, ele deve pré-dimensionar os dados de vídeo e VBI.
DDVP_SKIPEVENFIELDS Ignorar a entrada de campos par para dados de vídeo e VBI.
DDVP_SKIPODDFIELDS Ignorar a entrada de campos ímpares para dados de vídeo e VBI.
DDVP_SYNCMASTER Conduza os VSYNCs gráficos usando os VSYNCs da porta de vídeo de hardware.
DDVP_VBICONVERT A estrutura DDPIXELFORMAT na qual os pontos de membro lpddpfVBIOutputFormat contêm dados que devem ser usados para converter os dados dentro do intervalo de espaçamento vertical.
DDVP_VBINOSCALE Os dados dentro do intervalo de apagamento vertical não devem ser dimensionados.

rCrop

Especifica uma estrutura RECT que especifica um retângulo de corte em pixels. Esse membro contém um retângulo válido quando o sinalizador DDVP_CROP é definido no membro dwVPFlags .

dwPrescaleWidth

Especifica a largura em pixels aos quais os dados de vídeo e VBI devem ser pré-dimensionados ou ampliados. Por exemplo, se os dados de vídeo tiverem 720 pixels de largura e o cliente solicitar o corte de largura pela metade, o cliente especificará 360 em dwPrescaleWidth. Esse membro contém uma largura válida quando o sinalizador DDVP_PRESCALE é definido no membro dwVPFlags .

dwPrescaleHeight

Especifica a altura em pixels aos quais os dados de vídeo e VBI devem ser pré-dimensionados ou ampliados. Por exemplo, se os dados de vídeo tiverem 240 pixels de largura e o cliente solicitar o corte de largura pela metade, o cliente especificará 120 em dwPrescaleHeight. Esse membro contém uma largura válida quando o sinalizador DDVP_PRESCALE é definido no membro dwVPFlags .

lpddpfInputFormat

Aponta para uma estrutura DDPIXELFORMAT que especifica o formato dos dados de vídeo a serem gravados no objeto VPE (extensões de porta de vídeo ). Esse formato poderá ser diferente do formato de superfície de destino se o objeto VPE executar uma conversão.

lpddpfVBIInputFormat

Aponta para uma estrutura DDPIXELFORMAT que especifica o formato de entrada dos dados dentro do intervalo de espaçamento vertical.

lpddpfVBIOutputFormat

Aponta para uma estrutura DDPIXELFORMAT que especifica o formato de saída dos dados dentro do intervalo de espaçamento vertical.

dwVBIHeight

Especifica o número de linhas de dados dentro do intervalo de espaços em branco vertical.

dwReserved1

Reservado para uso do sistema e deve ser ignorado pelo driver.

dwReserved2

Reservado para uso do sistema e deve ser ignorado pelo driver.

Comentários

Todos os membros dessa estrutura são definidos pelo cliente e o driver nunca deve alterá-los. O cliente normalmente é o mixer de sobreposição.

Requisitos

Requisito Valor
Cabeçalho dvp.h (inclua Dvp.h)

Confira também

DDPIXELFORMAT

DD_VIDEOPORT_LOCAL