IVMRDeinterlaceControl::SetDeinterlaceMode メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
SetDeinterlaceMode メソッドは、指定したビデオ ストリームのインターレース解除モードを設定します。
構文
HRESULT SetDeinterlaceMode(
[in] DWORD dwStreamID,
[in] LPGUID lpDeinterlaceMode
);
パラメーター
[in] dwStreamID
設定するビデオ ストリームのインデックス。 すべてのストリームを設定するには、値 0xFFFFFFFFを使用します。
[in] lpDeinterlaceMode
インターレース解除モードを指定する GUID へのポインター。 インターレース解除をオフにするには、GUID_NULL値を使用します。
戻り値
HRESULT 値を返します。 次の値があります。
リターン コード | 説明 |
---|---|
|
ストリーム番号が無効です。 |
|
NULL ポインター引数。 |
|
成功しました。 |
|
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 インターフェイス