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 deinterlace 裝置。 此裝置會使用 「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 |