VDPAU (Video Decode and Presentation API for Unix)是一个最初由NVIDIA开发的针对其GeForce 8系列以及更高系列的GPU[1][2] ,在UNIX类UNIX系统(包括 LinuxFreeBSDSolaris)下基于X Window系统下的开源库(libvdpau)和API。 VDPAU的API可以让视频播放器把一部分的视频解码和视频图像补偿交给GPU[3][4][5]。 目前VDPAU有能力处理一部分的运动补偿离散余弦变换可变长度代码英语Variable-length_code和对使用MPEG-1MPEG-2MPEG-4 AVC(H.264)、VC-1WMV3/WMV9格式编码的视频进行环内去块滤波 。当中有一些特定的格式能否于GPU来负担取决于GPU的版本,特别是MPEG-4 ASP (MPEG-4 Part 2), Xvid / OpenDivX (DivX 4)和DivX 5格式,这些格式必须使用GeForce 200M (2xxM)系列的GPU[6]。 VDPAU被认为在X Window系统下等同于Windows下的DxVA

VDPAU
原作者NVIDIA
当前版本1.4(2020年4月9日,​6年前​(2020-04-09
操作系统Linux, FreeBSD, Solaris
类型函式库
许可协议 編輯維基數據鏈接
网站http://http.download.nvidia.com/XFree86/vdpau/doxygen/html/

硬件驱动

编辑

每种 GPU 都需要通过 X11 软件设备驱动来开启这项功能。目前只有具有第二代 PureVideo HD 功能的NVIDIA GeForce 8 流处理器在安装有180.06 beta以上版本的驱动程序才可支持。[3] 不支持的硬件包括 GeForce 8 系列的8800GTS 320/640MB 显存版和8800 GTX。后来基于 G9x 核心的显卡例如8400GS和8800GTS(G92核心)都已支持。 NVIDIA 没有计划对当前不支持的硬件提供后续支持。[7] S3 Graphics 对它的 Chrome 400显卡从驱动版本14.02.17开始添加了VDPAU的支持,支持的有S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT 和 S3 Chrome 540 GTX 。 [8] Intel和ATI目前不支持VDPAU,Nvidia 希望那些GPU设计者支持开源的VDPAU库,提供支持VDPAU视频加速的驱动并使用实例名字那样命名:Intel和ATI的: libvdpau_intel.so和libvdpau_ati.so。 [9] Intel 已经表示会考虑 VDPAU 的支持。 [10]

Mesa 从8.0版本开始就加入了 VDPAU 支持,任何利用 Gallium3D 的显卡驱动都可以让显卡获得 VDPAU 支持,包括 Intel 和 AMD 的开源显卡驱动。[11]

NVIDIA GPU 列表

编辑
显卡系列 核心 PureVideo VDPAU 支持[12] 备注
Geforce FX series NV4x VP1 不支持 -
Geforce 6 series NV4x VP1 不支持 -
Geforce 7 series G7x VP1 不支持 -
Geforce 8800 Ultra, 8800 GTS (320/640MB) G80 VP1 不支持 -
Geforce 8800 GTX G80 VP1 不支持 -
Geforce 8400 GS, 8500 GT, 8600 GT, 8600 GTS G84, G86 VP2 支持 -
Geforce 8800 GS, 8800 GT, 8800 GTS (512MB/1GB) G92, G94 VP2 支持 -
Geforce 8400 GS G98 VP3[13] 支持 请注意,只有基于 G98 核心的才支持,购买前请先确认。
Geforce 8200, 8300 C77 VP3 支持 -
Geforce 9600 GSO, 9600 GT, 9800 GT, 9800 GTX, 9800 GTX+, 9800 GX2 G92, G94 VP2 支持 -
Geforce GTX 260, 260 CORE 216, 280, 285, 295 GT200 VP2 支持 -
Geforce 9400 GT, 9500 GT G96 VP2[14] 支持 -
Geforce 9300M GS, 9300 GS, 9300 GE C79 VP3[13] 支持 大部分用于笔记本电脑和板载显卡。
Quadro FX 360M, 370, 570, 570M, 770M, 1600M VP2 支持 -
Quadro FX 1700, 2700M, 3600M, 3700, 4800, 5800 VP2 支持 -
Quadro NVS 130M, NVS 150M, 135M, 140M, 290, 320M VP2 支持 -
Quadro FX 370 LP, 160M, 295, 420, 450 G98 VP3 支持 -
GeForce GTX 260M, GTX 280M G92 VP2 支持 -
GeForce G210, G210M GT218 VP4[15] 支持 First generation to support MPEG-4 ASP (MPEG-4 Part 2)
GeForce GT 220, GT 230M, GT 240M GT216 VP4[15] 支持
GeForce GT 240, GTS 250M, GTS 260M GT215 VP4[15] 支持

NVIDIA VDPAU 功能集

编辑

不同的硬件版本支持不同不同版本和不同水平的硬件解码[16] 。目前所有的NVIDIA VDPAU 功能集,最大视频宽度与高度为2048 像素, 最小视频宽度与高度为48 像素,并且所有编码目前限制在最大8192个宏区块 (对于VC-1/WMV是8190个). 部分加速意味着 可变长度代码英语Variable-length_code(图像)的解码在CPU执行,当GPU执行离散余弦变换运动补偿时。完全加速意味着GPU执行全部的运动补偿离散余弦变换可变长度代码英语Variable-length_code

功能集 A
H.264的完全加速。
MPEG-1, MPEG-2, VC-1/WMV9的部分加速。
功能集 B
对 MPEG-1, MPEG-2, VC-1/WMV9 and H.264的完全加速.
所用功能集 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不支持运动补偿和数据分块。

支持的软件

编辑

参见

编辑

参考资料

编辑
  1. ^ Announcing libvdpau 0.2. [2011-01-19]. (原始内容存档于2021-02-24). 
  2. ^ NVIDIA Releases Standalone VDPAU Library. [2011-01-19]. (原始内容存档于2021-03-08). 
  3. ^ 3.0 3.1 Michael Larabel. NVIDIA Driver Brings PureVideo Features To Linux. Phoronix. 2008-11-14 [2009-03-13]. (原始内容存档于2021-05-22). 
  4. ^ Michael Larabel. NVIDIA VDPAU Benchmarks. Phoronix. 2008-11-14 [2009-03-13]. (原始内容存档于2021-05-22). 
  5. ^ VDPAU (Video Decode and Presentation API for Unix). [2009-06-15]. (原始内容存档于2021-05-08). 
  6. ^ NVIDIA 190.32 Beta Brings New VDPAU Features. [2011-01-19]. (原始内容存档于2022-04-12). 
  7. ^ 存档副本. [2009-01-19]. (原始内容存档于2009-01-25). 
  8. ^ 存档副本. [2010-02-28]. (原始内容存档于2012-07-08). 
  9. ^ NVIDIA's driver for X11-oriented VDPAU. [2010-12-11]. (原始内容存档于2021-03-31). 
  10. ^ Intel Considering VDPAU Support For X.Org Driver. [2010-12-11]. (原始内容存档于2021-06-13). 
  11. ^ Mesa/Gallium3D Works On VDPAU Interoperability. [2013-10-09]. (原始内容存档于2020-12-06). 
  12. ^ 存档副本. [2009-06-15]. (原始内容存档于2017-09-07). 
  13. ^ 13.0 13.1 存档副本. [2013-09-10]. (原始内容存档于2013-05-22). 
  14. ^ 存档副本. [2009-06-15]. (原始内容存档于2009-02-10). 
  15. ^ 15.0 15.1 15.2 存档副本. [2010-01-09]. (原始内容存档于2012-03-15). 
  16. ^ ftp://download.nvidia.com/XFree86/Linux-x86/190.53/README/appendix-h.html#vdpau-implementation-limits-decoder[永久失效連結]
  17. ^ 存档副本. [2009-12-21]. (原始内容存档于2022-02-19). 
  18. ^ 存档副本. [2009-06-26]. (原始内容存档于2009-06-26). 
  19. ^ Michael Larabel. MythTV Adds Support For NVIDIA VDPAU. Phoronix. 2008-11-29 [2009-03-13]. (原始内容存档于2021-08-09). 
  20. ^ Michael Larabel. Xine Picks Up Support For NVIDIA's VDPAU. Phoronix. 2008-12-17 [2009-03-13]. (原始内容存档于2021-08-09). 
  21. ^ xine-lib-1.2 hg development tree, changeset 9b68f6efb713. [2011-02-20]. (原始内容存档于2012-07-08). 
  22. ^ ddennedy. VDPAU for MLT 0.4.11 GIT version. MLT. 2009-11-30 [2009-11-30]. (原始内容存档于2010-02-27). 
  23. ^ 存档副本. [2011-02-20]. (原始内容存档于2018-12-24). 

外部链接

编辑

📚 Artikel Terkait di Wikipedia

可变长度编码

编码理论中的可变长度编码(英語:variable-length code)指将源“符号”映射到可变位元的编码。计算机科学中的等效概念是位串。 可变长度编码允许源信息被以零误(无损数据压缩)的结果完成压缩和解压缩,且仍可读取每个符号。通过妥善的编码策略,能将独立同分布的源信息压缩到几乎任意接近其熵的程

CAVLC

適應性變動長度編碼法(Context-based Adaptive Variable-Length code,CAVLC,又稱UVLC)是H.264的演算法機制。 CAVLC適用於encode integer DCT(Discrete Cosine Transform)轉換後的矩陣係數(matrix

可变长数组

可变长数组(英語:Variable-length array)是指在计算机程序设计中,数组对象的长度在运行时(而不是编译时)确定。 支持可变长数组的程序设计语言有:Ada, ALGOL 68 (for non-flexible rows), APL, C99 (以及C11 ) ,C# , COBOL

H.264與VC-1的比較

僅支援Main和更高的profiles 變量變換大小 是 Only in High profile and above Variable-length code(英语:Variable-length code) 是 切片 連續 (integer number of macroblock rows only) 連續或不連續的

量化 (信号处理)

{\displaystyle \lambda } 等于 0,从而忽略掉比特率约束,或等价地假设要用定长码(FLC)而非用变长码(英语:variable-length code)(或其他熵編碼法,如算术编码在率失真上就比定长码好)来表示量化数据,这个最优化问题就简化为了只需最小化失真 D {\displaystyle

Intel GMA

和各種硬體影片解碼器。 This table is derived from these sources: Notes: VLD: Variable-length code (sometimes referred to as slice-level acceleration) iDCT: inverse

GeForce 4系列

Ti)是GeForce系列,第一款支援NVIDIA VPE (video processing engine),硬體-iDCT 和VLC (variable length code) 解碼的顯示卡。這些功能都比之前的HDVP強得多。在MPEG-2播放中,VPE終於可以與ATI出色的影像引擎競爭。所有的GeForce4

COMMAND.COM

as many commands on the command line as you wish, as long as the total length of the command line does not exceed 511 characters. You can use multiple