VAAPI : https://en.wikipedia.org/wiki/Video_Acceleration_API
VDPAU : https://en.wikipedia.org/wiki/VDPAU
XvBA : https://en.wikipedia.org/wiki/X-Video_Bitstream_Acceleration
리눅스에서 동영상 가속을 위한 방법은 3가지가 있습니다.
우선 인텔이 만든 Video Acceleration API 줄여서 VAAPI라 부르는 API가 있습니다. libva.so를 이용하고 인텔이 만들었기에 당연히 인텔GPU에서 지원을 합니다. 그리고 AMD의 경우에는 오픈소스 드라이버를 이용할 경우 지원을 합니다. (Padoka PPA를 이용하시면 VAAPI가 AMD에 한해 비활성화 됩니다. 이유는 아래를 보시면 압니다.)
그리고 Nvidia가 만든 VDPAU가 있습니다. 지금이야 개나소나 다 지원하고 거의 업계표준이 되어버린 H.264 포맷이 처음 등장하고 나서 세상에 충격을 줬던 바로 그 시절에 태어난 물건입니다. 당시 PC성능으로 H264의 FHD영상은 재생이 버거워서 이런저런 방법을 강구해야 했습니다. 그 때 Nvidia가 PureVideo라는 것을 내놓았고 ATi(현재 AMD로 흡수)에서도 무언가 내놓기는 했는데... 아무튼 이 당시부터 GPU를 이용한 디코딩이 활성화 되었습니다. 그 때 만들었던 PureVideo를 리눅스로 이식하면서 VDPAU라는 이름으로 가져온 것입니다. 대략 2000년대 중후반 쯤이겠군요. 생각보다 역사가 좀 된 물건입니다.
지금은 AMD의 오픈소스 드라이버와 Nvidia의 드라이버를 사용하면 활성화가 됩니다. 인텔은 별도의 Wrapper를 사용하면 지원이 됩니다.
마지막으로 나온 XvBA란 물건이 있는데 이놈은 Catalyst를 설치했을 경우 XvBA를 지원하는 프로그램에서 활성화가 됩니다. 위의 위키피디아를 보시면 아시겠지만 다른 API에 비해 문서가 부실한데 이유야 당연히 악명높은 Catalyst를 사용했을 때만 활성화 되는데다가 위의 설명을 보셨을 아시겠지만 AMD의 오픈소스 드라이버가 VAAPI와 VDPAU를 둘다 지원하는 반면 XvBA에 대해서는 일언 반구도 없습니다. 즉, 버려진 자식 취급인것이지요.
그러니까 우분투 16.04이후로 Catalyst도 망했고 (어차피 AMDGPU드라이버로 바뀌었으니) 기존 사용자도 Catalyst를 설치할리 없으니 XvBA는 무시하도록 합시다.
VAAPI와 VDPAU는 다른 두 업체에서 처음 시작했지만 지금은 Freedesktop.org에서 관리하고 개발하고 있습니다. 물론 인텔은 VAAPI를 지원하고 있고 Nvidia는 VDAPU를 밀고 있지만 이 둘중에서 어떤 것이 승리할지는 아무도 모릅니다.
그리고 이 둘이 함께 개발이 되면서 서로가 서로를 대신하는 Wrapper도 함께 개발되었습니다. 우분투라면 vdpau-va-driver라는 패키지와 libvdpau-va-gl이란 두 패키지를 보셨을 겁니다.
패키지 설명을 잠깐 볼까요?
vdpau-va-driver |
libvdpau-va-gl |
VDPAU-based backend for VA API VAAPI를 위한 VDPAU기반 백엔드 |
VDPAU driver with OpenGL/VAAPI backend VAAPI/OpenGL을 위한 VDPAU드라이버 백엔드 |
그러니까 말이 어려워서 그런데 쉽게 말하자면 VDPAU 칩셋에서 VAAPI프로그램을 돌리기 위한 패키지 (vdpau-va-driver)와 VAAPI칩셋에서 VDPAU프로그램(Adove Flash 같은)을 돌리기 위한 패키지(libvdpau-va-gl)인 것입니다.
솔직히 어떤 프로그램이 VAAPI를 지원하고 VDPAU를 지원하는지는 굳이 알 필요가 없는 것이 우분투는 알아서 이를 적용하기 때문입니다. 그러니까 끙끙 싸매지 마시고 그냥 그렇다고 하시면 됩니다.
VLC나 MPlayer를 사용하실 때 출력 드라이버가 어쩌고 하는 것을 보실수 있는데 그냥 자신의 그래픽칩셋에 맞춰서 선택하시면 됩니다.
INTEL |
VAAPI 혹은 libVA |
Nvidia |
VDPAU |
AMD |
VDPAU 혹은 VAAPI 혹은 libVA |
'약간의 리눅스관련 고찰' 카테고리의 다른 글
64비트 전환 어디까지 왔을까? (0) | 2017.09.10 |
---|---|
하모니카 프로젝트 손을 놓은 것인가 새로운 버전이 나오는 것인가. (0) | 2017.08.14 |
이런 우분투 배포판을 만들수는 없을까? (0) | 2017.06.13 |
임베디드 리눅스는 어디까지 왔을까? (5) | 2017.06.02 |
Wine의 버전업 속도가 굉장히 빨라진 이유..? (2) | 2017.04.20 |