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