2009. 12. 8. 23:42ㆍIT/Computer Tips
Windows 7에는 Microsoft DTV-DVD Video Decoder라는 코덱이 포함되어 있다. MPEG1, MPEG2, H.264, AVC1을 디코딩할 수 있는 이 코덱은 DXVA 성능이 상당히 뛰어나다. DXVA나 CUDA의 하드웨어 가속 기능은 CPU와 함께 GPU가 디코딩 작업을 담당해서 CPU 사용량이 줄어든다. CPU 사용량이 100%가 되어 제대로 재생할 수 없는 동영상도 그래픽 카드를 사용해서 디코딩 작업을 하면 CPU 사용량을 줄여서 원활하게 재생할 수 있다. 기본 코덱이니 WMP에는 자동으로 적용되지만 다른 미디어 재생기에서 사용하려면 직접 코덱을 선택해야 한다. 이전에 소개한 팟플레이어에 Microsoft DTV-DVD Video Decoder를 적용해보자.
팟플레이어를 실행하고 [환경 설정] - [재생] - [코덱/필터 관리]로 이동한다. [기본 설정]에서 [내장 영상 처리 필터를 사용하지 않습니다.]를 선택한다.
그다음 [비디오 코덱] 탭으로 이동해서 [필터/코덱 관리] 버튼을 클릭한다. 코덱/필터 관리 창이 나타나면 [시스템 코덱 추가]를 클릭하고 Microsoft DTV-DVD Video Decoder를 선택해서 추가한 다음 [확인]을 눌러 창을 닫는다.
다시 [비디오 코덱] 탭으로 돌아오면 AVC1과 H264의 코덱을 Microsoft DTV-DVD Video Decorder로 선택하고 [확인]을 클릭한다. 처음의 설정 화면으로 돌아왔으면 마지막으로 [영상] 탭으로 이동해서 [출력 형식]을 EVR Renderless로 선택하고 [확인] 버튼을 눌러서 환경 설정 창을 닫는다. (EVR Renderless에서 문제가 생기면 VMR9 Renderless를 선택한다.)
이제 팟플레이어로 AVC1이나 H264로 인코딩한 영상을 재생하고 Tab 키를 누르면 Microsoft DTV-DVD Video Decorder가 사용되는 것을 확인할 수 있다. SU7300 1.3GHz CPU와 GMA 4500MHD 내장 그래픽을 사용하는 노트북에서 1080p 25fps 동영상을 재생했을 때 CPU 사용량은 20-35% 정도였다. (작업 관리자에서 확인한 팟플레이어 프로세스의 CPU 사용량은 이 값의 절반 정도였다.)
위 그림은 똑같은 동영상을 SPlayer와 함께 설치되는 CyberLink H.264/AVC Decorder와 CoreAVC로 재생한 것이다. 거의 같은 장면이지만 CPU 사용량은 90%로 기본 코덱의 세 배다.
DXVA 기능을 활성화 했을 때 CoreAVC는 오히려 CPU 사용량이 100%로 늘어서 영상을 제대로 재생할 수 없었고 CyberLink H.264/AVC Decorder는 CPU 사용량이 절반인 46%로 줄었다. 다른 1080p 영상에서는 MS 코덱을 사용했을 때 CPU 사용량이 30-45%, CyberLink 코덱으로 재생 불가, CoreAVC + DXVA를 사용할 때 CPU 사용량은 40-60%였다.
MS의 코덱이 느리다는 이야기가 많은데 실제 동영상을 재생할 땐 체감할 수 없었다. 그러나 가끔 유료 코덱을 사용할 때 발생하지 않는 깍두기 현상이 생길 때가 있었다. 유료 코덱의 대안으로 사용할 만한 코덱인 것 같다.
* 위의 결과는 내장 그래픽 카드의 하드웨어 가속 효과가 크지 않기 때문일 수도 있다. GeForce 그래픽 카드 사용자는 CoreAVC와 CUDA 가속을 사용하면 큰 효과를 볼 수 있다.
* 2009년 12월 12일 내용 추가 - CoreAVC와 CyberLink H.264/AVC Decorder DXVA 활성화 결과 추가