フルスクリーン レンダリング フィルタ
フルスクリーン レンダリング フィルタは、旧型のハードウェアでのフルスクリーン ビデオ レンダリング機能を提供する。新しいビデオ カードは効率的にビデオを伸縮できるため、フルスクリーン レンダラは必要ない。このため、このフィルタは今では推奨されない。
このフィルタを手動でフィルタ グラフに追加しないこと。アプリケーションが IVideoWindow::put_FullScreenMode を呼び出すと、フィルタ グラフ マネージャが自動的にフルスクリーン モードに適したビデオ レンダラを選択する。この選択は、アプリケーション側からは認識されない。新しいビデオ カードを使っている場合は、フィルタ グラフ マネージャがフルスクリーン レンダラを選択することはほとんどない。
フィルタ インターフェイス | IBaseFilter、IFullScreenVideoEx、IMediaPosition、IMediaSeeking、IQualityControl、IQualProp |
入力ピン メディア タイプ | MEDIATYPE_Video、MEDIASUBTYPE_Null |
入力ピン インターフェイス | IMemInputPin、IPin、IQualityControl |
出力ピン メディア タイプ | 利用できない。 |
出力ピン インターフェイス | 利用できない。 |
フィルタ CLSID | CLSID_ModexRenderer |
プロパティ ページ CLSID | CLSID_ModexProperties |
実行モジュール | quartz.dll |
メリット | MERIT_UNLIKELY |
フィルタ カテゴリ | CLSID_LegacyAmFilterCategory |
注意
フルスクリーン レンダラは、固定セットのディスプレイ モードをサポートしている。ただし、ユーザーのシステムで使われているビデオ カードがすべてをサポートしているとは限らない。カードが特定のモードをサポートしているかどうかを調べるには、IFullScreenVideoEx::IsModeAvailable メソッドを呼び出す。また、IFullScreenVideoEx::SetEnabled を呼び出して、特定のディスプレイ モードをプログラム上で無効化することもできる。以下の表に、現在フルスクリーン レンダラがサポートしているディスプレイ モードをまとめる。
モード | 幅 | 高さ | ビット深度 |
0 | 320 | 200 | 16 |
1 | 320 | 200 | 8 |
2 | 320 | 240 | 16 |
3 | 320 | 240 | 8 |
4 | 640 | 400 | 16 |
5 | 640 | 400 | 8 |
6 | 640 | 480 | 16 |
7 | 640 | 480 | 8 |
8 | 800 | 600 | 16 |
9 | 800 | 600 | 8 |
10 | 1024 | 768 | 16 |
11 | 1024 | 768 | 8 |
12 | 1152 | 864 | 16 |
13 | 1152 | 864 | 8 |
14 | 1280 | 1024 | 16 |
15 | 1280 | 1024 | 8 |
(すべてのモードは RGB である。) ただし、この表は変更される可能性がある。モードに関する情報を取得するには、IFullScreenVideoEx::GetModeInfo メソッドを使う。フルスクリーン レンダラは常に、ビデオをどの程度クリップしてよいかを決定する clip factor と呼ばれるプロパティの制限内で、使用可能な中から最も低解像度のモードを選択する。詳細については、「IFullScreenVideoEx::GetClipFactor」を参照すること。
アプリケーションがフィルタ グラフを実行またはポーズすると、フルスクリーン レンダラが、選択されたディスプレイ モードに切り替える。グラフが停止されると、元のディスプレイ モードに戻す。
フルスクリーン レンダラは、フォアグラウンドのアクティブ ウィンドウでのみ機能する。ユーザーが他のアプリケーションに切り替えると、フルスクリーン レンダラはビデオ ウィンドウを最小化または非表示にして、ビデオを隠す。