ビデオ ポート マネージャ

ビデオ ポート マネージャ フィルタ (VPM) は、Video Mixing Renderer フィルタ 7 (VMR-7) が、ビデオ ポートを使うビデオ キャプチャ デバイスまたはハードウェア デコーダと共に動作できるようにする。ビデオ ポートは、グラフィック チップへの直接ハードウェア接続であり、これによってビデオは、システム バスを通らずに直接グラフィック チップに転送される。

 :  VMR-9 はビデオ ポートをサポートしていないため、ビデオ ポート マネージャは VMR-9 とは互換性がない。

フィルタ インターフェイス IAMVideoDecimationPropertiesIBaseFilterIKsPropertySetIQualPropIVPManager
入力ピン メディア タイプ MEDIATYPE_Video、MEDIASUBTYPE_VPVideo または MEDIASUBTYPE_VPVBI、FORMAT_None
入力ピン インターフェイス IKsPinIKsPropertySetIMemInputPinIPinIPinConnectionIQualityControl
出力ピン メディア タイプ MEDIATYPE_Video、FORMAT_VideoInfo2
出力ピン インターフェイス IPinIQualityControl
フィルタ CLSID CLSID_VideoPortManager
メリット MERIT_NORMAL
フィルタ カテゴリ CLSID_LegacyAmFilterCategory

注意

ビデオ ポート マネージャは、オーバーレイ ミキサ フィルタのビデオ ポート機能と VBI サーフェイス アロケータの機能を結合する。VPM は、ビデオ ポートとサーフェイスを割り当て、ビデオ ポートからキャプチャしたデータを同期する。これにより、レンダリングに依存しない、ビデオ ポートベースのキャプチャが使える。プレビューが必要な場合は、VPM と VMR-7 が調整して、キャプチャしたビデオ ポート データを表示する。システムにビデオ ポートが備えられている場合、キャプチャ フィルタは、ビデオ ストリームから VBI データを抽出するための追加バッファを必要とする。これらのバッファは、VPM によって提供される。キャプチャ フィルタが VBI データを抽出した後、個別のピンを使って、CC デコーダといったフィルタに送信する。次の図に、VPM と、フィルタ グラフ内での接続を示す。

ビデオ ポート マネージャ フィルタのグラフ セグメント

DVD Graph Builder は、システム上でビデオ ポートが検出されると、自動的に VPM をフィルタ グラフに追加する。VPM は、グラフに追加された後、Video Mixing Renderer から提供された DirectDraw オブジェクトを使って、2 つまたは 3 つのサーフェイスを割り当てる。これらのサーフェイスは、アップストリーム キャプチャ フィルタから、デジタイズされたフレームを受け取る。サーフェイスにデータが存在するときに送信されるユーザーモード イベント通知に応答して、VPM は、VMR が提供するオフスクリーン サーフェイスへの自動ブリットを実行する。

VPM が入力バッファに複数のサーフェイスを使うのは、以前の DirectShow ビデオ ポート実装よりも多くの VRAM を必要とするためである。VPM から VMR-7 への追加ブリットにより、ビデオ メモリ帯域が多く必要になる。また、ハードウェアによる自動フリップが使われなくなったため、理論上フレームがドロップされる可能性が生じたが、このような状況は発生しないことが実証されている。

参照