次の方法で共有


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

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

SetDeinterlaceMode メソッドは、指定したビデオ ストリームのインターレース解除モードを設定します。

構文

HRESULT SetDeinterlaceMode(
  [in] DWORD  dwStreamID,
  [in] LPGUID lpDeinterlaceMode
);

パラメーター

[in] dwStreamID

設定するビデオ ストリームのインデックス。 すべてのストリームを設定するには、値 0xFFFFFFFFを使用します。

[in] lpDeinterlaceMode

インターレース解除モードを指定する GUID へのポインター。 インターレース解除をオフにするには、GUID_NULL値を使用します。

戻り値

HRESULT 値を返します。 次の値があります。

リターン コード 説明
E_INVALIDARG
ストリーム番号が無効です。
E_POINTER
NULL ポインター引数。
S_OK
成功しました。
VFW_E_VMR_NOT_IN_MIXER_MODE
VMR がミキサー モードではありません。

解説

アプリケーションでモードが指定されていない場合、VMR の既定値はドライバーによって報告される最初のモードになります。 どちらの場合も、VMR で優先モードを使用できない場合は、 IVMRDeinterlaceControl::SetDeinterlacePrefs メソッドで指定されている別のモードにフォールバックします。

SetDeinterlaceMode メソッドは、VMR に対して行われた新しい接続に対してのみ有効です。 一部のインターレース解除モードでは、追加の参照サンプルが必要です。正確な数はモードによって異なります。 VMR は、これらの追加サンプルにサーフェスを割り当てます。 クライアントは、サーフェスが割り当てられる前に、デインターレース モードを設定する必要があります。 サーフェスの割り当ては、次のいずれかの後に行われます。

  • 動的再接続を含むピン接続
  • 動的な形式の変更 (アップストリーム フィルターは IPin::ReceiveConnection を呼び出して新しい形式を指定します)
  • 解決方法の変更
  • 変更の監視

要件

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

関連項目

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

IVMRDeinterlaceControl インターフェイス

IVMRDeinterlaceControl::GetDeinterlaceMode

ビデオ ミキシング レンダラーの使用