Método IDirectXVideoProcessor::VideoProcessBlt (dxva2api.h)
Executa uma operação de processo de vídeo em um ou mais exemplos de entrada e grava o resultado em uma superfície Direct3D9.
Sintaxe
HRESULT VideoProcessBlt(
[in] IDirect3DSurface9 *pRenderTarget,
[in] const DXVA2_VideoProcessBltParams *pBltParams,
[in] const DXVA2_VideoSample *pSamples,
[in] UINT NumSamples,
[out] HANDLE *pHandleComplete
);
Parâmetros
[in] pRenderTarget
Um ponteiro para a interface IDirect3DSurface9 de uma superfície Direct3D. A saída da operação de processamento de vídeo será gravada nessa superfície. A superfície pode ser qualquer um dos seguintes tipos:
- Uma superfície criada chamando IDirectXVideoAccelerationService::CreateSurface com o sinalizador DXVA2_VideoProcessRenderTarget . Você também pode usar o sinalizador DXVA2_VideoSoftwareRenderTarget , mas somente quando o GUID do dispositivo é DXVA2_VideoProcSoftwareDevice (dispositivo de processamento de vídeo de software).
- Uma superfície criada a partir de um dispositivo Direct3D com o sinalizador de uso D3DUSAGE_RENDERTARGET .
- Uma cadeia de troca direct3D.
[in] pBltParams
Um ponteiro para uma estrutura DXVA2_VideoProcessBltParams que descreve a operação de processamento de vídeo a ser executada.
[in] pSamples
Um ponteiro para uma matriz de estruturas DXVA2_VideoSample que contêm os exemplos de entrada. Deve haver pelo menos um elemento na matriz.
O número máximo de amostras de entrada é dado pela constante MAX_DEINTERLACE_SURFACES, definida no arquivo de cabeçalho dxva2api.h.
[in] NumSamples
O número de elementos na matriz pSamples .
[out] pHandleComplete
Reservados; defina como NULL.
Retornar valor
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
Erro interno do driver. |
|
Argumentos inválidos. |
Comentários
Quando o método retorna, a operação pode não estar concluída.
Se o método retornar E_INVALIDARG, marcar para o seguinte:
- O número de amostras de entrada (NumSamples) deve ser menor ou igual a MAX_DEINTERLACE_SURFACES.
- A superfície direct3D deve ser um destino válido para VideoProcessBlt. Consulte a descrição do parâmetro pRT para obter detalhes.
- A hora da apresentação (TargetFrame) fornecida em pBltParams deve corresponder aos horários de início e término da imagem atual do fluxo primário. Especificamente, ele deve ser menor que a hora de término e maior ou igual à hora de início. Observe que o primeiro exemplo em pSamples pode não ser a imagem atual, se a matriz pSamples contiver imagens de referência anteriores. Para obter mais informações, consulte Ordem de exemplo de entrada.
- O retângulo de destino (TargetRect) fornecido em pBltParams não pode ser maior que a superfície de destino (pRT).
- O tamanho da constrição (ConstrictionSize) fornecido em pBltParams não pode ser menor que zero ou maior que o retângulo de destino.
- O componente alfa da cor da tela de fundo deve ser opqaue.
- Os valores procAmp fornecidos em pBltParams devem ser válidos . Para qualquer configuração de ProcAmp compatível com o driver, esses valores devem estar dentro dos intervalos retornados pelo método IDirectXVideoProcessor::GetProcAmpRange .
- Os filtros de ruído e detalhes dados em pBltParams devem ser válidos . Para todos os filtros compatíveis com o driver, esses valores devem estar dentro dos intervalos retornados pelo método IDirectXVideoProcessor::GetFilterPropertyRange .
- O valor alfa fornecido em pBltParams deve estar no intervalo [0...1] inclusive.
- Para cada exemplo de entrada dado em pSamples:
- A hora de início não pode ser maior que a hora de término.
- Um ponteiro IDirect3DSurface9 válido deve ser fornecido.
- O retângulo de origem não pode ser maior que a superfície de entrada.
- O retângulo de destino não pode ser maior que a superfície de destino.
- O alfa planar deve estar no intervalo [0...1] inclusive.
- Para todos os retângulos (origem, destino e destino), o retângulo não pode ser invertido (esquerda > direita ou parte superior > inferior) ou ter valores negativos.
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | dxva2api.h |