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 |