VDPAU

VDPAU
VDPAU
원본 작성자엔비디아
개발자freedesktop.org
안정적 해제
1.5 / 2022년 3월 7일; 4일(2022-03-07)[1]
기록 위치C, C++
운영 체제크로스 플랫폼
유형
면허증MIT 라이선스
웹사이트www.freedesktop.org/wiki/Software/VDPAU/

VDPAU(Video Decode and Presentation API for Unix)로열티 없는 API이며, 무료 및 오픈 소스 라이브러리로서 구현된다(libvdpau)는 MIT 라이센스에 따라 배포된다.[2]VDPAU도 엔비디아가 지원한다.[3]

VDPAU 인터페이스는 Nvidia GeForce 드라이버, nouveau, amdgpu와 같은 장치 드라이버에 의해 구현되어 VLC 미디어 플레이어 또는 GStreamer와 같은 최종 사용자 소프트웨어를 제공하며, 그래픽 처리 장치에 있는 애플리케이션별 통합 회로(ASIC) 블록 형태의 사용 가능한 비디오 감압 가속 하드웨어에 대한 표준화된 액세스를 제공한다.(GPU)는 엔비디아의 퓨어비디오AMD의 통합 비디오 디코더와 같은 것으로 이를 활용한다.

VDPAU는 Unix와 유사한 운영 체제(Linux, FreeBSD, Solaris 포함)[4][5][6]를 대상으로 한다.

인터페이스의 기능 범위

VDPAU는 비디오 프로그램이 GPU의 ASIC를 디코딩하는 전문 비디오에 액세스하여 비디오 디코딩 프로세스와 비디오처리의 일부를 CPU에서 GPU로 오프로드할 수 있도록 허용한다.[7]

Currently, the portions capable of being offloaded by VDPAU onto the GPU are motion compensation (mo comp), inverse discrete cosine transform (iDCT), VLD (variable-length decoding) and deblocking for MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Part 2), H.264/MPEG-4 AVC and VC-1, WMV3/WMV9 encoded videos.[4]GPU로 오프로딩할 수 있는 이들 중 어떤 특정 코덱은 GPU 하드웨어의 세대 버전에 따라 달라진다.

역사

VDPAU는 원래 Nvidia가 GeForce 8 시리즈 및 이후 GPU에 있는 PureVideo SIP 블록을 위해 설계했다.[8]

2015년 3월 9일 엔비디아는 메인, 메인 4:4:4:4, 메인 스틸 픽처, 메인 10, 메인 12 프로필에 대한 고효율 비디오 코딩(HEVC) 디코딩을 지원하는 VDPAU 버전 1.0을 출시했다.[9]

VDPAU를 구현하는 장치 드라이버 및 비디오 컨트롤러

VDPAU는 X11 소프트웨어 디바이스 드라이버에 구현되지만 하드웨어 GPU의 가속 기능에 의존한다.

운전자가 VDPAU를 구현하는 모든 Nvidia 그래픽 카드가 Nvidia PureVideo에 나열되어 있다.[10]

S3 GraphicsChrome 400 비디오 카드의 Linux 드라이버에 VDPAU를 추가했다.VDPAU는 리눅스 디바이스 드라이버 버전 14.02.17 기준으로 S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT, S3 Chrome 540 GTX 하드웨어와 함께 사용할 수 있다.[11]

ATI/AMD는 VDPAU 가속이 특징인 Radeon HD 4000+ 그래픽 카드용 오픈 소스 드라이버를 출시했다.[12][13]

인텔은 VDPAU 드라이버를 제공하지 않고 VA-API만 지원한다.그러나 libvdpau-va-gl을 통해 인텔의 VA-API 드라이버를 사용할 수 있다.

Nvidia는 다른 GPU 설계자들이 자사의 제품이 오픈 소스 VDPAU 라이브러리와 호환되도록 하고 Intel 및 ATI용 하드웨어 특정 드라이버의 예를 들어 libvdpau_intel.so 및 libvdpau_ati.so를 언급함으로써 VDPAU 가속화를 드라이버로 제공하기를 희망한다.[14]인텔은 VDPAU를 고려하고 있다고 말했다.[15]

Sunxi SoCs(Allwner)는 VDPAU를 실험적으로 구현했다.[16]

v8.0 기준 메사에는 갈륨3D를 활용하는 비디오 카드의 VDPAU가 포함되어 있다.

일반 VDPAU 드라이버

2013년 말 현재 독립적으로 개발된 백엔드 드라이버가 있으며, 이 드라이버는 OpenGL(도면 및 스케일링용)과 VA-API(디코딩용)를 차례로 사용하고 있다.[17]일부 Intel 그래픽Adobe Flash Player에서 작동하는 것으로 보고되었다.[18]

OpenGL 기능만으로 가속화된 확장이 필요한 이유는 주로 VDPAU를 사용할 수 없는 경우 가속되지 않은 확장을 사용하는 Flash Player 때문이다.Linux 또는 FreeB에서 실행되는 거의 모든 비디오 소프트웨어SDXv를 지원한다.기본 VDPAU 지원이 없는 느린 컴퓨터의 전체 화면 비디오에 필수적이다.

일부 소프트웨어는 VDPAU를 통한 HW 디코딩을 지원하지만 VA-API를 통한 HW 디코딩을 지원하지 않기 때문에 HW 디코딩을 위한 VDPAU에서 VA-API로의 변환은 최신 Intel 그래픽 하드웨어에 유용하다.

VDPAU를 지원하는 소프트웨어

VDPAU는 VA-APIOpenMAX IL백엔드로도 사용할 수 있으며, VA-API 또는 OpenMAX IL을 사용하는 모든 소프트웨어도 VDPAU(예: VLC 미디어 플레이어)를 부분적으로 사용할 수 있다.[31]

Nvidia VDPAU 기능 세트

Nvidia VDPAU 기능 세트는 다양한 레벨[32] (Nvidia PureVideo) 하드웨어 디코딩 기능을 지원하는 GPU의 서로 다른 하드웨어 세대다.기능 세트 A, B, C의 경우 최대 비디오 폭과 높이가 2048픽셀, 최소 폭과 높이 48픽셀이며, 현재 모든 코덱은 최대 8192개의 매크로블록(VC-1/WMV9의 경우 8190)으로 제한되어 있다.부분 가속이란 CPU에서 VLD(비트스트림) 디코딩을 수행하며 GPU는 IDCT, 동작 보정디블록만 수행하는 것을 의미한다.완전 가속이란 GPU가 VLD, IDCT, 동작 보정 및 잠금 해제를 모두 수행하는 것을 의미한다.

기능 세트 A
H.264에 대한 완전한 가속 및 MPEG-1, MPEG-2, VC-1/WMV9에 대한 부분 가속 지원
피쳐 세트 B
MPEG-1, MPEG-2, VC-1/WMV9 및 H.264에 대해 완전한 가속을 지원한다.
참고로 모든 Feature Set B 하드웨어는 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 픽셀의 폭에 대해 H.264를 디코딩할 수 없다.
피쳐 세트 C
MPEG-1, MPEG-2, MPEG-4 Part 2(예: MPEG-4 ASP), VC-1/WMV9 및 H.264에 대해 완전한 가속을 지원한다.
MPEG-4 Part 2에서는 글로벌 모션 보상 및 데이터 파티셔닝이 지원되지 않는다.
피쳐 세트 D
기능 세트 C와 유사하지만 분해능이 최대 4032 × 4080인 H.264와 분해능이 최대 4032 × 4048 픽셀인 MPEG-1/MPEG-2에 대한 지원을 추가했다.
기능 세트 E
기능 세트 D와 유사하지만 분해능이 최대 4096 × 4096인 H.264와 분해능이 최대 4080 × 4080 픽셀인 MPEG-1/MPEG-2에 대한 디코딩 지원이 추가되었다.VDPAU 기능이 설정된 GPU는 손상된 비디오 스트림을 디코딩할 때 보다 강력한 오류 처리를 제공하는 향상된 오류 은폐 모드를 지원한다.[33]
피쳐 세트 F
최대 4096 × 2304픽셀 해상도를 디코딩하는 전용 HEVC 메인(8비트) 및 메인 10(10비트) 비디오 도입.
피쳐 세트 G
HEVC Main 12(12비트) 비디오 디코딩에 대한 하드웨어 지원. 그러나 VDPAU는 현재 이 프로필을 지원하지 않는다.[34]
피쳐 세트 H
Feature Set H는 8192x8192 (8k 해상도) H.265/HEVC 비디오 스트림의 하드웨어 가속 디코딩이 가능하다.[35]

libvdpau 독립 실행형 VDPAU 라이브러리

libvdpau 독립형 VDPAU 라이브러리는 Nvidia 외부의 VDPAU 채택을 돕기 위해 Nvidia가 독점적인 Linux 그래픽 드라이버와 독립적으로 배포한다.이 오픈 소스 라이브러리 패키지에는 다른 제조업체에서 장치 드라이버에 VDPAU를 구현할 수 있는 래퍼 라이브러리와 디버깅 라이브러리가 포함되어 있다.[8][36][37][38]

참고 항목

참조

  1. ^ "[VDPAU] [ANNOUNCE] libvdpau 1.5". Freedesktop.org. Retrieved 8 March 2022.
  2. ^ "Announcing libvdpau 0.2". freedesktop.org. 2009-09-17.
  3. ^ "GStreamer Adds NVDEC NVIDIA GPU Decoding Support - Phoronix".
  4. ^ a b Michael Larabel (2008-11-14). "NVIDIA Driver Brings PureVideo Features To Linux". Phoronix. Retrieved 2009-03-13.
  5. ^ Michael Larabel (2008-11-14). "NVIDIA VDPAU Benchmarks". Phoronix. Retrieved 2009-03-13.
  6. ^ "VDPAU: Video Decode and Presentation API for Unix". Nvidia.
  7. ^ "Video4Linux2: Path to a Standardized Video Codec API" (PDF). Events.linusfoundation.org\accessdate=2016-05-25.
  8. ^ a b "NVIDIA Releases Standalone VDPAU Library – Phoronix". Phoronix.
  9. ^ Larabel, Michael (9 March 2015). "NVIDIA Announces VDPAU 1.0 With HEVC/H.265 Decoding". Phoronix. Retrieved 9 March 2015.
  10. ^ "PureVideo Support Table" (PDF). Nvidia. Retrieved 2014-05-22.
  11. ^ "Archived copy". Archived from the original on 2012-07-08. Retrieved 2010-02-28.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  12. ^ "[PATCH] drm/radeon: UVD support for RV710-SI". Lists.freedesktop.org. Retrieved 2016-05-25.
  13. ^ "AMD Releases Open-Source UVD Video Support – Phoronix". Phoronix. Retrieved 2016-05-25.
  14. ^ "VDPAU: X11 Window System Integration Layer". Download.nvidia.com.
  15. ^ "Intel Considering VDPAU Support For X.Org Driver – Phoronix". Phoronix. Retrieved 2016-05-25.
  16. ^ "GitHub – linux-sunxi/libvdpau-sunxi: Experimental VDPAU for Allwinner sunxi SoCs (WiP)". GitHub. Retrieved 2016-05-25.
  17. ^ "GitHub – i-rinat/libvdpau-va-gl: VDPAU driver with OpenGL/VAAPI backend". GitHub. Retrieved 2016-05-25.
  18. ^ "Adobe Flash Player Hardware Acceleration on Intel Graphics Cards". WebUpd8. 5 September 2013. Retrieved 2016-05-25.
  19. ^ "Archived copy". Archived from the original on June 26, 2009. Retrieved June 26, 2009.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  20. ^ "Fluendo's New Codecs Support VDPAU, VA-API – Phoronix". Phoronix.com. Retrieved 2016-05-25.
  21. ^ Michael Larabel (2008-11-29). "MythTV Adds Support For NVIDIA VDPAU". Phoronix. Retrieved 2009-03-13.
  22. ^ "XBMC for Linux VDPAU – NVIDIA GPU video decoding support (now in the mainline SVN)". Xbmc.org. Archived from the original on 2009-02-28. Retrieved 2016-05-25.
  23. ^ "Kodi – Open Source Home Theater Software". Xbmc.org. Archived from the original on 2009-04-14. Retrieved 2016-05-25.
  24. ^ "XBMC Receives Mainline Support For VDPAU – Phoronix". Phoronix.
  25. ^ "XBMC Receives Mainline Support For VDPAU". Phoronix.com. 2009-03-23. Retrieved 2016-05-25.
  26. ^ Michael Larabel (2008-12-17). "Xine Picks Up Support For NVIDIA's VDPAU". Phoronix. Retrieved 2009-03-13.
  27. ^ "xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713". Debian.org. Retrieved 2016-05-25.
  28. ^ ddennedy (2009-11-30). "VDPAU for MLT 0.4.11 Git version". MLT. Archived from the original on 2010-02-27. Retrieved 2009-11-30.
  29. ^ "Flash Player 10.2 beta – with VDPAU acceleration! : linux". reddit. December 2010.
  30. ^ "mpv Reference Manual". Retrieved 2016-04-09.
  31. ^ Michael Larabel (2009-02-03). "A NVIDIA VDPAU Back-End For Intel's VA-API". Phoronix. Retrieved 2009-03-13.
  32. ^ "Appendix G. VDPAU Support". Nvidia. 2016-12-14. Retrieved 2017-01-03.
  33. ^ "VDPAU For NVIDIA's Maxwell GPU On Linux". Phoronix.com. 2014-03-03. Retrieved 2016-05-25.
  34. ^ "Appendix G. VDPAU Support". us.download.nvidia.com. Retrieved 2017-09-17.
  35. ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia Linux X64(AMD64/EM64T) 디스플레이 드라이버 버전: 367.27
  36. ^ "[ANNOUNCE] libvdpau 0.2". Lists.freedesktop/org. Retrieved 2016-05-25.
  37. ^ "NVIDIA Proposes VDPAU For DRI2 Patches – Phoronix". Phoronix. Retrieved 2016-05-25.
  38. ^ "[PULL] Add VDPAU drivers to the server's DRI2 implementation". xorg. Retrieved 2016-05-25.
  39. ^ "VideoToolbox - Apple Developer Documentation". developer.apple.com. Retrieved 2018-08-05.

외부 링크