Método IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids (dxva2api.h)
Obtiene una matriz de GUID que identifican los procesadores de vídeo admitidos por el hardware gráfico.
Sintaxis
HRESULT GetVideoProcessorDeviceGuids(
[in] const DXVA2_VideoDesc *pVideoDesc,
[out] UINT *pCount,
[out] GUID **pGuids
);
Parámetros
[in] pVideoDesc
Puntero a una estructura de DXVA2_VideoDesc que describe el contenido del vídeo.
[out] pCount
Recibe el número de GUID.
[out] pGuids
Recibe una matriz de GUID. El tamaño de la matriz se recupera en el parámetro pCount . El método asigna la memoria de la matriz. El autor de la llamada debe liberar la memoria llamando a CoTaskMemFree.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Los siguientes GUID de procesador de vídeo están predefinidos.
GUID | Descripción |
---|---|
DXVA2_VideoProcBobDevice | Dispositivo desinterlace bob. Este dispositivo usa un algoritmo "bob" para desinterlaar el vídeo. Los algoritmos de Bob crean líneas de campo que faltan interpolando las líneas en un solo campo. |
DXVA2_VideoProcProgressiveDevice | Dispositivo de vídeo progresivo. Este dispositivo está disponible para vídeo progresivo, que no requiere un algoritmo de desinterlace. |
DXVA2_VideoProcSoftwareDevice | Dispositivo de referencia (software). |
El dispositivo gráfico puede definir GUID específicos del proveedor adicionales. El controlador proporciona la lista de GUID en orden descendente de calidad. El modo con la mayor calidad es primero en la lista. Para obtener las funcionalidades de cada modo, llame a IDirectXVideoProcessorService::GetVideoProcessorCaps y pase el GUID para el modo .
Ejemplos
// 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 compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | dxva2api.h |