一、常用视频加速接口汇总
libmfx就是Intel QSV.
二、VAAPI
VAAPI (视频加速API,Video Acceleration API)包含一套开源的库(LibVA) 以及API规范, 用于硬件加速下的视频编解码以及处理,只有Linux上的驱动提供支持。由Intel主导,但是AMD,Nvidia也都(部分)支持这套API。
代码仓库地址 https://github.com/intel/libva
1. intel vaapi
VAAPI驱动属于用户态驱动,用于支持LibVA,底层是i965/1915驱动。Intel提供了两种开源的VAAPI驱动:intel-vaapi-driver以及intel-media-driver,intel-media-driver较intel-vaapi-driver新,维护更积极,所以目前更推荐使用intel-media-driver。
代码仓库地址 https://github.com/intel/media-driver
软件仓库名称为intel-media-va-driver-non-free/intel-media-driver
2. nvidia vaapi
英伟达GPU可以通过libva-vdpau-driver提供支持所有显卡的驱动,但实际上底层调用的是VDPAU,只是对API进行了翻译,所以需要配置好VDPAU才能使用。
还有一个使用NVDEC作为后端的VAAPI驱动,https://github.com/elFarto/nvidia-vaapi-driver
Nouveau open-source driver supports both VA-API and VDPAU:
- GeForce 8 series and newer GPUs up until GeForce GTX 750 are supported by libva-mesa-driver and mesa-vdpau.
- Requires nouveau-fwAUR firmware package, presently extracted from the NVIDIA binary driver.
3. AMD
AMD and ATI open-source drivers support both VA-API and VDPAU:
- VA-API on Radeon HD 2000 and newer GPUs is supported by libva-mesa-driver.
- VDPAU on Radeon R600 and newer GPUs is supported by mesa-vdpau.
AMDGPU PRO proprietary driver is built on top of AMDGPU driver and supports both VA-API and VDPAU in addition to AMF. - AMF on Fiji and newer GPUs supported by amf-amdgpu-proAUR.
4. Windows
windows上也支持VAAPI了,需要Direct3D 12,可以参考
https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows/
不过,就当作玩具吧,工业生产可能还差点意思。
Windows上有DXVA2 / D3D11VA都很成熟。
DXVA2 / D3D11VA。标准Windows API,支持通过Intel显卡驱动进行视频编解码,FFmpeg有对应实现。
三、QSV
Intel Quick Sync Video(QSV)是由Intel开发的专门用于视频编码和解码的技术。这项技术从Sandy Bridge微架构开始引入,自那时起,一直被集成在Intel的大多数桌面和移动处理器中。
这项技术充分利用了内置在处理器中的专用媒体处理能力,提供了一种更快、更高效的方式来处理视频任务。使用QSV,可以大幅度减少CPU的负载,同时保持高质量的视频输出。
由Intel Media SDK提供实现,提供一套用于视频编解码以及处理(VPP)的API:libmfx,支持Linux/Windows,具体介绍可查看:Intel Media SDK。
libmfx 是 Intel 的专有库,用于在 Linux 和 Windows 上使用 Quick Sync 硬件。
源码仓库: https://github.com/Intel-Media-SDK/MediaSDK
不过这个已经停止更新了,转向oneVPL了。
四、oneVPL
oneAPI Video Processing Library, QSV的继任者,不了解,不做评价。