ビデオ ポート マネージャ
ビデオ ポート マネージャ フィルタ (VPM) は、Video Mixing Renderer フィルタ 7 (VMR-7) が、ビデオ ポートを使うビデオ キャプチャ デバイスまたはハードウェア デコーダと共に動作できるようにする。ビデオ ポートは、グラフィック チップへの直接ハードウェア接続であり、これによってビデオは、システム バスを通らずに直接グラフィック チップに転送される。
注 : VMR-9 はビデオ ポートをサポートしていないため、ビデオ ポート マネージャは VMR-9 とは互換性がない。
フィルタ インターフェイス | IAMVideoDecimationProperties、IBaseFilter、IKsPropertySet、IQualProp、IVPManager |
入力ピン メディア タイプ | MEDIATYPE_Video、MEDIASUBTYPE_VPVideo または MEDIASUBTYPE_VPVBI、FORMAT_None |
入力ピン インターフェイス | IKsPin、IKsPropertySet、IMemInputPin、IPin、IPinConnection、IQualityControl |
出力ピン メディア タイプ | MEDIATYPE_Video、FORMAT_VideoInfo2 |
出力ピン インターフェイス | IPin、IQualityControl |
フィルタ 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 への追加ブリットにより、ビデオ メモリ帯域が多く必要になる。また、ハードウェアによる自動フリップが使われなくなったため、理論上フレームがドロップされる可能性が生じたが、このような状況は発生しないことが実証されている。
参照