ビデオ混合レンダラー フィルター 7
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
このトピックは、Windows XP 以降に適用されます。
Windows XP 以降では、ビデオ 混合レンダラー 7 (VMR-7) が既定のビデオ レンダラーです。 内部的には DirectDraw 7 を使用するため、VMR-7 と呼ばれます。 DirectX 9 では、同様だが別個のフィルター VMR-9 を XP 以外のシステムで再配布できます。 VMR-9 は Direct3D 9 を使用します。
注意
VMR は Windows XP 以降で使用できます。 DirectX 再頒布可能パッケージまたは以前のバージョンの Windows では使用できません。 ほとんどのシナリオでは、アプリケーションで Video Mixing Renderer 9 を使用する必要があります。
VMR の機能は次のとおりです。
- 最大 16 個の入力ストリームの真のアルファ ブレンド
- 合成イメージがレンダリングされる前にアクセスする
- サード パーティがカスタム ビデオ効果を実装できるようにするプラグイン モデル。
- 最大 15 台のモニターのサポート。
Windows XP 以降でのグラフビルド中、フィルター グラフ マネージャーでは、アプリケーションによって明示的に作成されてグラフに追加されない限り、古いビデオ レンダラーまたはオーバーレイ ミキサー フィルターは使用されません。
詳細については、「 ビデオ ミックス レンダラーの使用」を参照してください。
Label | 値 |
---|---|
フィルター インターフェイス | すべてのモード:
ウィンドウレス モード: レンダリングレス モード: ミキサー モード: さまざまな VMR-7 モードの詳細については、「 VMR の操作モード」を参照してください。 |
入力ピン メディアの種類 | 主な種類: MEDIATYPE_VideoSubtype: グラフィックス ハードウェアによって異なります。 圧縮されていないビデオである必要があります。 |
入力ピン インターフェイス | |
出力ピン メディアの種類 | 該当なし。 |
出力ピン インターフェイス | 該当なし。 |
CLSID のフィルター処理 | このフィルターには、次の 2 つの CLSID が関連付けられています。
|
プロパティ ページ CLSID | 該当なし。 |
[実行可能ファイル] | Quartz.dll |
メリット | MERIT_PREFERRED + 1 |
フィルター カテゴリ | CLSID_LegacyAmFilterCategory |
解説
入力ピンは、VMR-7 フィルターがウィンドウ モードの場合にのみ IOverlay インターフェイスを公開します。 ピンが実装する IOverlay メソッドは GetWindowHandle のみです。これにより、アプリケーションはフィルターのビデオ ウィンドウへのハンドルを取得できます。 その他のすべての IOverlay メソッドは、E_NOTIMPLを返します。 ウィンドウレス モードでは、フィルターはビデオ ウィンドウを作成しないため、ピンはインターフェイスを公開しません。
アプリケーションは、次のインターフェイスを公開するカスタム アロケーター 発表者オブジェクトを提供できます。
- IVMRImagePresenter
- IVMRImagePresenterConfig (省略可能)
- IVMRMonitorConfig (省略可能)
- IVMRSurfaceAllocator
- IVMRWindowlessControl (省略可能)
カスタム アロケーター発表者の詳細については、「 VMR-7 のカスタム Allocator-Presenterの提供」を参照してください。
アプリケーションでは、次のインターフェイスを公開するカスタム プラグイン コンポジターを提供することもできます。
カスタムコンポジターを使用して VMR を構成するには、 IVMRFilterConfig::SetImageCompositor を呼び出します。
関連トピック