次の方法で共有


ビデオ ポート マネージャー

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

ビデオ ポート マネージャー フィルター (VPM) を使用すると、ビデオ ミックス レンダラー フィルター 7 (VMR-7) は、ビデオ キャプチャ デバイスまたはビデオ ポートを使用するハードウェア デコーダーを操作できます。 ビデオ ポートは、グラフィックス チップへの直接ハードウェア接続です。 これにより、システム バスを経由することなく、ビデオをグラフィックス チップに直接転送できます。

注意

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

 

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

 

解説

ビデオ ポート マネージャーは、 オーバーレイ ミキサー フィルター のビデオ ポート機能と VBI Surface Allocator の機能を組み合わせたものです。 VPM はビデオ ポートとサーフェスを割り当て、ビデオ ポートからのデータ キャプチャを同期します。 これにより、レンダリングに依存しないビデオ ポートベースのキャプチャが可能になります。 プレビューが必要な場合、VPM は VMR-7 と連携してキャプチャされたビデオ ポート データを表示します。 システムにビデオ ポートが存在する場合、キャプチャ フィルターには、ビデオ ストリームから VBI データを抽出するための追加のバッファーが必要です。 これらのバッファーは VPM によって提供されます。 キャプチャ フィルターが VBI データを抽出すると、CC デコーダーなどのフィルターに別のピンで配信されます。 次の図は、フィルター グラフ内の VPM とその接続を示しています。

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

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

VPM が入力バッファーに複数のサーフェスを使用するという事実は、前の DirectShow ビデオ ポート実装よりも多くの VRAM が必要であることを意味します。 VPM から VMR-7 への追加の blit には、追加のビデオ メモリ帯域幅が必要です。 また、ハードウェアの自動反転は使用されなくなったため、ドロップフレームの理論的な可能性がありますが、経験的証拠はこれが起こらないことを示唆しています。

DirectShow フィルター

IVPManager インターフェイス