如何为非 Nvidia 卡启用 VDPAU 硬件视频加速支持?

Uri*_*era 8 video-player ati intel-graphics vdpau

我已经阅读了 VDPAU 以及它如何使 mplayer 具有硬件加速功能。但我也读到它仅适用于 Nvidia 卡

我如何在非 Nvidia 卡上启用它(我的是 AMD,但我也想在 Intel 上网本中启用它)?这对其他视频播放器有用吗?

fos*_*dom 6

VDPAU 是一种编程接口 (API),允许将图形渲染卸载到图形芯片组,而不是由 CPU 本身处理。

它是开源的——最初由 Nvidia 自己生产,并支持他们当前的大多数显卡。

维基百科对此有一篇很棒的文章:

自其 Linux 设备驱动程序 14.02.17 版本以来,S3 Graphics 为其 Chrome 400 显卡的 Linux 驱动程序添加了对 VDPAU 的支持,它支持 S3 Chrome 430 GT、S3 Chrome 440 GTX、S3 Chrome 530 GT 和 S3 Chrome 540 GTX 硬件。

Intel 和 ATI 目前不提供对 VDPAU 的支持。Nvidia 希望这些 GPU 设计人员能够支持开源 VDPAU 库,并通过提及 Intel 和 ATI 硬件特定驱动程序的示例名称:libvdpau_intel.so 和 libvdpau_ati.so 来提供具有 VDPAU 加速的驱动程序。

英特尔目前支持他们自己的竞争对手 API 称为VA-API

ATI/Radeon 正在将精力集中在他们的 Catalyst 驱动程序上 - 他们同样拥有自己的 API,称为 XVBA,但仅通过他们的 Catalyst 驱动程序提供支持。

过去几个月,Phoronix 一直在报告另一个名为Gallium 3D 状态跟踪器的API 的开发——这是为了统一主要芯片组——英特尔、ATI/Radeon 和 NVidia。简单来说(据我所知) - 它试图将 API 覆盖在 VA-API、VDPAU 等之上。因此,您对 Gallium API 进行编程,它会为您将其转换为竞争对手的 API。

其中大部分是前沿代码 - 不稳定,您经常需要编译代码等以跟上最新的发展。X-Edgers PPA 是最新发展的一个很好的来源——这里一篇文章描述了安装开源 radeon 驱动程序并强制使用 Gallium3D。

回到主题……正如您所看到的,Linux 中的图形目前已破碎(有人称其为一团糟!)-因此,目前最好的解决方案是使用试图实现竞争对手 API(例如 MPlayer)的媒体播放器。


更新

以上是过去...... 2011目前到2015年,VDPAU是支持intelamd以及archWiki页面统计

您应该为英特尔安装以下软件包

sudo apt-get install libvdpau-va-gl1 i965-va-driver
Run Code Online (Sandbox Code Playgroud)

但看起来在 Ubuntu 14.04 和 14.10 上也有一个开放的错误,所以没有找到 lib ......所以例如。vlc 通过以下错误:

Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

错误页面中有一个解决方法,我不在这里处理它,因为即使我应用它,视频也不会在 vlc 中播放(看起来库坏了)


小智 5

很长一段时间内,我的英特尔笔记本电脑上的闪存播放器性能都很差。时间过去后,我决定在它上面付出努力,并创建了通过 OpenGL 实现 VDPAU 接口的包装库。在具有可用 VA-API 的系统上(就像我拥有的​​那样),它还可以加速视频解码。实现了整个 VDPAU 功能的一半或三分之一,但这足以使flash playermplayer都能工作。

您可以在 github 上找到代码:https : //github.com/i-rinat/libvdpau-va-gl