IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids 方法 (dxva2api.h)
获取标识图形硬件支持的视频处理器的 GUID 数组。
语法
HRESULT GetVideoProcessorDeviceGuids(
[in] const DXVA2_VideoDesc *pVideoDesc,
[out] UINT *pCount,
[out] GUID **pGuids
);
参数
[in] pVideoDesc
指向描述视频内容的 DXVA2_VideoDesc 结构的指针。
[out] pCount
接收 GUID 的数量。
[out] pGuids
接收 GUID 数组。 数组的大小在 pCount 参数中检索。 方法为数组分配内存。 调用方必须通过调用 CoTaskMemFree 释放内存。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
备注
预定义了以下视频处理器 GUID。
GUID | 描述 |
---|---|
DXVA2_VideoProcBobDevice | Bob 取消交错设备。 此设备使用“bob”算法对视频进行反交错。 Bob 算法通过在单个字段中内插这些行来创建缺失的字段线。 |
DXVA2_VideoProcProgressiveDevice | 渐进式视频设备。 此设备可用于渐进式视频,这不需要去交错算法。 |
DXVA2_VideoProcSoftwareDevice | ) 设备引用 (软件。 |
图形设备可以定义其他特定于供应商的 GUID。 驱动程序按降序质量顺序提供 GUID 列表。 具有最高质量的模式在列表中名列第一。 若要获取每个模式的功能,请调用 IDirectXVideoProcessorService::GetVideoProcessorCaps 并传入模式的 GUID。
示例
// 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);
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | dxva2api.h |