2009년 7월 19일 일요일

XvMC

MPEG-2 볼 때(디코딩) CPU가 motion compensation과 iDCT (Inverse Discrete Cosine Transform)작업을 하는데, CPU를 대신해서 그래픽카드가 이 MC와 iDCT를 대신 할 수 있습니다. 데비안과 같은 리눅스에선 이러한 작업을 X-Video Motion Compensation (XvMC)이 하게 됩니다. 따라서 속도가 느린 컴퓨터에서도 MPEG-2를 볼 수 있게 됩니다.
현재는 MPEG-2에서만 효과를 볼 수 있지만, 새로운 VIA Unichrome chips이 MPEG-4에서, 인텔 칩에선 iDCT+MC와 추가적인 효과(VLD)로 MPEG-4 ASP (H.263), MPEG-4 AVC (H.264), VC-1/VMW3에서도 사용될 수 있다고 합니다. 아직은 완벽하진 않지만.
XvMC는 Via Unichrome-Pro chipsets에서도 XvMC-vld로 사용될 수 있다고 합니다.

참고 사이트 http://www.mythtv.org/wiki/XvMC

XvMC를 사용하려면 XvMCW 라이브러리와 그래픽카드의 비디오 드라이버를 설치해야 합니다. 데비안에서 XvMCW 라이브러리로 libxvmc1가 있으며, 이 패키지는 mplayer를 설치하면 같이 설치됩니다.
여기에 Nvidia사의 그래픽 카드를 사용한다면, 비디오 드라이버로 NVidia사의 드라이버 설치가 필요합니다.
이제 /etc/X11/XvMCConfig에서 다음을 기록하여 XvMC library와 비디오 드라이버가 연결되게 합니다.
libXvMCNVIDIA_dynamic.so.1
데비안에선 /etc/X11/XvMCConfig에서 libXvMC.so.1를 지우고 libXvMCNVIDIA_dynamic.so.1를 기록하면 됩니다.


마지막으로 설치된 비디오 드라이버 설정이 필요합니다.
먼저 $ nvidia-settings을 실행하여 Video Texture Adapter에서 Sync to VBlank를 체크하지 않도록 합니다. 추가적으로 Video Blitter Adapter에서도 Sync to VBlank를 선택하지 않는 것이 필요할 수 있습니다.
이제 /etc/X11/xorg.conf에 아래의 강조된 붉은색 설정을 추가하고,
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
Option "UseEvents" "true"
Option "XvmcUsesTextures" "false" # necessary for color Chromakey OSD)
Option "NVAGP" "1" # some users report 2 or 3 works better
EndSection
다음을 추가합니다.
Section "Extensions"
Option "Composite" "Disabled"
EndSection


이제 X윈도우를 다시 시작하여 효과를 보려면,
mplayer에서 ./mplayer/config에 다음을 기록합니다.
vo=xvmc:bobdeint
vc=ffmpeg12mc
디인터레이싱도 같이 됩니다.

mythtv에선 [Utilities/Setup] [Setup] [TV Settings] [Playback]의 Current Video Playback Profile을 Slim이나 CPU--로 지정합니다.

댓글 없음: