DirectShow DirectShow 레퍼런스 DirectShow 의 필터 풀 스크린 렌더링 필터 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
풀 스크린 렌더링 필터는, 구형의 하드웨어에서의 풀 스크린 비디오 렌더링 기능을 제공한다. 새로운 비디오 카드는 효율적으로 비디오를 신축(스트레치) 할 수 있기 (위해)때문에, 풀 스크린 렌더러는 필요없다. 이 때문에, 이 필터는 지금은 추천하지 않는다.
이 필터를 수동으로 필터 그래프에 추가하지 않는 것. 애플리케이션이 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 」를 참조할것.
애플리케이션이 필터 그래프를 실행 또는 포즈 하면, 풀 스크린 렌더러가, 선택된 디스플레이 모드로 전환한다. 그래프가 정지되면 원의 디스플레이 모드에 되돌린다.
풀 스크린 렌더러는, foreground의 액티브 윈도우에서만 기능한다. 사용자가 다른 애플리케이션으로 전환하면 풀 스크린 렌더러는 비디오 윈도우를 최소화 또는 비표시로 해, 비디오를 숨긴다.