IVMRDeinterlaceControl::GetNumberOfDeinterlaceModes メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 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 値を返します。 次の値があります。

リターン コード 説明
E_POINTER
NULL ポインター引数。
S_OK
Success
VFW_E_VMR_NOT_IN_MIXER_MODE
VMR がミキサー モードではありません。
VFW_E_DDRAW_CAPS_NOT_SUITABLE
ビデオ カードでは、ハードウェアのインターレース解除はサポートされていません。

解説

このメソッドは GUID の配列を返します。各 GUID は、グラフィックス デバイス ドライバーによってハードウェアでサポートされているインターレース解除モードを表します。 配列は品質で並べ替えられるので、最初のエントリは最高の品質を表し、2 番目のエントリは次に最適な品質を表します。

次のモードをサポートするには、すべてのドライバーが必要です。

GUID Description
DXVA_DeinterlaceBobDevice Bob モード
 

ドライバーは追加のモードをサポートでき、それらを識別するために独自の GUID を定義する必要があります。 返される各モードについて、 IVMRDeinterlaceControl::GetDeinterlaceModeCaps メソッドを呼び出して、そのモードに関する情報を取得します。

要件

   
サポートされている最小のクライアント SP1 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

関連項目

エラーコードと成功コード

IVMRDeinterlaceControl インターフェイス

ビデオ 混合レンダラーの使用