Microsoft DirectX 8.0

ビデオ レンダリング フィルタ

ビデオ レンダリング フィルタは汎用のビデオ レンダラであり、圧縮解除されたビデオ データを生成する任意のビデオ変換フィルタに接続できる。

ビデオ カードがサポートしている場合、ビデオ レンダリング フィルタは Microsoft® DirectDraw® のメソッドを使用する。フルスクリーン レンダリングは、フィルタ グラフ マネージャから有効になる。フィルタ グラフ マネージャは、一部の古いグラフィックス カードでは、必要に応じてビデオ レンダラと フルスクリーン レンダラを自動的に切り替える。そのため、事前にフィルタ グラフにフルスクリーン レンダラをインクルードする必要はない。新しいカードでは、ビデオ レンダラ自身がフルスクリーン レンダリングを実行する。

ビデオ グラフィックス カードが YUV オーバーレイ サービスをサポートしている場合、ビデオ レンダラは YUV フォーマットおよび RGB フォーマットを受け入れる。しかし、ビデオ レンダラが最初にアップストリーム フィルタに接続されると、必ず現在のモニタ設定の色数と一致する RGB フォーマットを要求することに注意するのが重要である。たとえば、ユーザーがモニタを 24 ビット色に設定している場合、アップストリーム フィルタは 24 ビット RGB のデータを提供できなくてはならない。グラフが実行状態でなくなると、ビデオ レンダラは適切な YUV カラー空間への動的なフォーマット変更をネゴシエーションする。ビデオ レンダラは、ビデオをレンダリングするために、DirectDraw の使用から GDI の使用に動的に切り替えなければならないこともあるため、最初に RGB フォーマットを要求する。GDI は、YUV カラー空間をサポートしていない。ビデオ メモリがほかのアプリケーションによって使われているか、またはビデオ表示矩形が複数のモニタ システムで 2 つのモニタにまたがっている、またはビデオ矩形が完全に画面上のほかのウィンドウによって隠されている場合、ビデオ レンダラは GDI に切り替える。

このフィルタは、フィルタ グラフ マネージャに独自の PID を持ち、フィルタ グラフ マネージャ上で対応するインターフェイス メソッドを呼び出すことで、アプリケーションはフィルタのプロパティを設定および取得できる。この場合ほかのほとんどの Microsoft® DirectShow® フィルタはアプリケーションからは見えない。

ビデオ レンダラを co-create するスレッドは ビデオ レンダラのウィンドウを作成したスレッドである。そのスレッドはビデオ レンダラのウィンドウにメッセージを送るメッセージ ループを持っていなければならない。

フィルタ インターフェイス IBaseFilterIBasicVideoIBasicVideo2IDirectDrawVideoIKsPropertySet IMediaPositionIMediaSeekingIQualityControlIQualPropIVideoWindow
入力ピン メディア タイプ MEDIATYPE_Video
入力ピン インターフェイス IMemInputPinIOverlayIPinIPinConnectionIQualityControl
出力ピン メディア タイプ 利用できない。
出力ピン インターフェイス 利用できない。
フィルタ CLSID CLSID_VideoRenderer
プロパティ ページ CLSID プロパティ ページなし。
実行モジュール quartz.dll
メリット MERIT_PREFERRED
カテゴリ CLSID_LegacyAmFilterCategory