VA-API和VDPAU

DPAU (Video Decode and Presentation API for Unix)是由 NVIDIA 开发的基于 UNIX 和类 UNIX 系统 (主要包括 Linux、FreeBSD 和 Solaris)下的视频硬件解码技术, 它包括视频解码、视频后期处理、图像合成、 解码后视频图像的显示等。

它可以支持的最大视频 宽度与高度为 2048 像素, 最小视频宽度与高度为 48 像素, 并且所有编码限制在最大 8192 个宏区块内(对 于 VC-1/WMV 是 8190 个). VDPAU 支持系统对 MPEG-1、MPEG-2、MPEG-4 ASP、VC-1/WMV9 和 H.264 视频解码的完全加速, 但 不支持 MPEG-4 ASP 的运动补偿和数据分块。

NVIDIA 的 GeForce 8 系列以上的显卡均可支持 VDPAU 对视频的硬件解码
支持的解码格式:

VDPAU 支持系统对 MPEG-1、MPEG-2、MPEG-4 ASP、VC-1/WMV9 和 H.264 视频解码的完全加速, 但 不支持 MPEG-4 ASP 的运动补偿和数据分块。


FFmpeg提供了vdpau硬解码入口支持,并不提供硬解码实现.具体的实现还是不同的硬件厂商。

不同的显卡的不同驱动对vdpau接口有不同的实现.以amd的开源驱动为例,libvdpau-radeonsi.so是vdpau的实现库。

libvdpau会在默认的路径下一般为/usr/lib/vdpau/查找驱动。查找格式为/usr/lib/vdpau/libvdpau_**${VDPAU_DRIVER}**.so。

如果想替换默认驱动可以使用VDPAU_DRIVER 环境变量覆盖VDPAU驱动程序。

 

 

VA-API规范最初是由英特尔为其GMA(图形媒体加速器)系列GPU硬件设计的,其特定目的是最终取代XvMC标准,使其成为Microsoft Windows DirectX视频加速(DxVA)API的默认Unix多平台等效项。

VA-API的视频解码/编码界面平台和窗口系统无关,但在主要针对直接渲染架构(DRI)的X Window系统上的Unix式的操作系统(包括Linux的,FreeBSD的,的Solaris),和Android的,但它可以也可能与直接帧缓冲区和图形子系统一起用于视频输出。加速处理包括对视频解码,视频编码,子图片混合和渲染的支持。
支持的硬件和驱动:

适用于Linux的Intel Quick Sync开源驱动程序

适用于AMD和Intel显卡的Mesa开源驱动程序

适用于Linux上AMD显卡的AMDGPU-PRO驱动程序

适用于Linux上Nvidia显卡的Nvidia专有驱动程序

libva-vdpau-驱动程序,用于VDPAU支持的卡
支持的编码格式:

VA-API当前在官方主线版本中支持这些视频编解码器,但是请注意,确切支持哪种视频编解码器取决于硬件和驱动程序的功能。

MPEG-2解码加速主要配置文件

VC-1 / WMV3解码加速高级配置文件

MPEG-4第2部分(H.263)(又名MPEG-4 SP / MPEG-4 ASP,更通常称为Xvid)解码加速

H.264 AVC编码加速主要配置文件

H.264 AVC解码加速High Profile

H.264 / AVC硬件可变长度解码(VLD)-CABAC

H.264 / AVC硬件可变长解码(VLD)-CAVLC

H.264 / AVC硬件逆变换(IT)

H.264 / AVC硬件运动补偿(HWMC)

H.264 / AVC硬件环路解块(ILDB)

H.265 / HEVC编码加速

H.265 / HEVC解码加速

VP9 8位编码加速

VP9 8位和10位解码加速
不同显卡对vdpau和vaapi的支持
intel

英特尔图形开源驱动程序支持VA-API:

intel-media-driver支持从Broadwell (2014)开始的HD Graphics系列及更高版本。

libva-intel-driver支持GMA 4500(2008)和更新的GPU,包括直至Coffee Lake的HD Graphics (2017)。

libva-intel-driver-g45-h264 AUR支持GMA 4500 H.264解码。

Intel-hybrid-codec-driver AUR支持Haswell更新为Skylake VP9解码,而Broadwell为Skylake混合VP8编码。
nivida

Nouveau开源驱动程序支持VA-API和VDPAU:

libva-mesa-driver和mesa-vdpau支持GeForce 8系列和更新的GPU,直到GeForce GTX 750 。

需要 nouveau-fw AUR固件包,目前已从NVIDIA二进制驱动程序中提取。

NVIDIA专有驱动程序通过nvidia-utils支持:

GeForce 8系列和更新的GPU上的VDPAU ;
ATI / AMD

ATI和AMDGPU开源驱动程序支持VA-API和VDPAU:

libva-mesa-driver支持Radeon HD 2000和更高版本GPU上的VA-API 。

mesa-vdpau支持Radeon R300和更新的GPU上的VDPAU 。

AMDGPU PRO专有驱动程序基于AMDGPU驱动程序构建,并支持VA-API和VDPAU。

 

 

参考:

https://blog.csdn.net/weixin_46867385/article/details/128607021

 

posted @ 2025-05-13 21:29  老禾的账本  阅读(473)  评论(0)    收藏  举报