Compartilhar via


Método IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids (dxva2api.h)

Obtém uma matriz de GUIDs que identificam os processadores de vídeo compatíveis com o hardware gráfico.

Sintaxe

HRESULT GetVideoProcessorDeviceGuids(
  [in]  const DXVA2_VideoDesc *pVideoDesc,
  [out] UINT                  *pCount,
  [out] GUID                  **pGuids
);

Parâmetros

[in] pVideoDesc

Ponteiro para uma estrutura de DXVA2_VideoDesc que descreve o conteúdo do vídeo.

[out] pCount

Recebe o número de GUIDs.

[out] pGuids

Recebe uma matriz de GUIDs. O tamanho da matriz é recuperado no parâmetro pCount . O método aloca a memória para a matriz. O chamador deve liberar a memória chamando CoTaskMemFree.

Retornar valor

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os GUIDs do processador de vídeo a seguir são predefinidos.

GUID Descrição
DXVA2_VideoProcBobDevice Dispositivo de desinterlace bob. Esse dispositivo usa um algoritmo "bob" para desinterlacear o vídeo. Os algoritmos Bob criam linhas de campo ausentes interpolando as linhas em um único campo.
DXVA2_VideoProcProgressiveDevice Dispositivo de vídeo progressivo. Esse dispositivo está disponível para vídeo progressivo, o que não requer um algoritmo de desinterlace.
DXVA2_VideoProcSoftwareDevice Dispositivo de referência (software).
 

O dispositivo gráfico pode definir GUIDs adicionais específicos do fornecedor. O driver fornece a lista de GUIDs em ordem de qualidade decrescente. O modo com a mais alta qualidade é o primeiro na lista. Para obter os recursos de cada modo, chame IDirectXVideoProcessorService::GetVideoProcessorCaps e passe o GUID para o modo.

Exemplos


    // Initialize the video descriptor.

    g_VideoDesc.SampleWidth                         = VIDEO_MAIN_WIDTH;
    g_VideoDesc.SampleHeight                        = VIDEO_MAIN_HEIGHT;
    g_VideoDesc.SampleFormat.VideoChromaSubsampling = DXVA2_VideoChromaSubsampling_MPEG2;
    g_VideoDesc.SampleFormat.NominalRange           = DXVA2_NominalRange_16_235;
    g_VideoDesc.SampleFormat.VideoTransferMatrix    = EX_COLOR_INFO[g_ExColorInfo][0];
    g_VideoDesc.SampleFormat.VideoLighting          = DXVA2_VideoLighting_dim;
    g_VideoDesc.SampleFormat.VideoPrimaries         = DXVA2_VideoPrimaries_BT709;
    g_VideoDesc.SampleFormat.VideoTransferFunction  = DXVA2_VideoTransFunc_709;
    g_VideoDesc.SampleFormat.SampleFormat           = DXVA2_SampleProgressiveFrame;
    g_VideoDesc.Format                              = VIDEO_MAIN_FORMAT;
    g_VideoDesc.InputSampleFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.InputSampleFreq.Denominator         = 1;
    g_VideoDesc.OutputFrameFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.OutputFrameFreq.Denominator         = 1;

    // Query the video processor GUID.

    UINT count;
    GUID* guids = NULL;

    hr = g_pDXVAVPS->GetVideoProcessorDeviceGuids(&g_VideoDesc, &count, &guids);

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

Confira também

Processamento de vídeo DXVA

IDirectXVideoProcessorService