共用方式為


IVMRDeinterlaceControl::GetNumberOfDeinterlaceModes 方法 (strmif.h)

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

GetNumberOfDeinterlaceModes方法會針對指定的視訊格式擷取 VMR 可用的反交錯模式。

語法

HRESULT GetNumberOfDeinterlaceModes(
  [in]      VMRVideoDesc *lpVideoDescription,
  [in, out] LPDWORD      lpdwNumDeinterlaceModes,
  [out]     LPGUID       lpDeinterlaceModes
);

參數

[in] lpVideoDescription

描述影片之 VMRVideoDesc 結構的指標。

[in, out] lpdwNumDeinterlaceModes

DWORD值的指標。 在輸入時,這個值會指定 lpDeinterlaceModes中所指定陣列的大小。 在輸出時,它會接收方法複製到陣列中的 GUID 數目。

[out] lpDeinterlaceModes

呼叫端配置的陣列位址。 方法會以 GUID 值填入陣列。 若要判斷所需的陣列大小,請將此參數設定為 Null ,並檢查 lpdwNumDeinterlaceModes中傳回的值。

傳回值

傳回 HRESULT 值。 可能的值如下:

傳回碼 Description
E_POINTER
Null 指標引數。
S_OK
Success
VFW_E_VMR_NOT_IN_MIXER_MODE
VMR 不在混音器模式中。
VFW_E_DDRAW_CAPS_NOT_SUITABLE
視訊卡不支援硬體反交錯。

備註

這個方法會傳回 GUID 陣列,其中每個 GUID 都代表圖形設備磁碟機在硬體中支援的反交錯模式。 陣列會依品質排序,因此第一個專案代表最佳品質、第二個專案代表下一個最佳品質等等。

支援下列模式需要所有驅動程式:

GUID Description
DXVA_DeinterlaceBobDevice Bob 模式
 

驅動程式可以支援其他模式,而且應該定義自己的 GUID 來識別它們。 針對每個傳回的模式,呼叫 IVMRDeinterlaceControl::GetDeinterlaceModeCaps 方法來取得該模式的相關資訊。

規格需求

   
最低支援的用戶端 Windows XP with SP1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

錯誤和成功碼

IVMRDeinterlaceControl 介面

使用視訊混合轉譯器