Intel VAAPI/QSV/oneVPL区别简介

本文概述了常见的视频加速接口,如Intel的QSV、开源的VAAPI(包括IntelMediaDriver和NVIDIA支持),以及Intel的专有库libmfx和其后续产品oneVPL。着重介绍了它们在Linux、Windows和WindowsDirect3D12环境下的应用情况。
摘要由CSDN通过智能技术生成

一、常用视频加速接口汇总

在这里插入图片描述

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的继任者,不了解,不做评价。

Linux Buildroot是一个用于嵌入式系统的开源工具箱,它允许用户自定义和构建Linux操作系统。通过Buildroot,用户可以选择所需的软件包,并进行交叉编译,从而构建出适用于特定嵌入式设备的定制化Linux系统。Buildroot支持包括x86、ARM、MIPS和PowerPC等多种处理器架构,并提供了丰富的软件包选项,包括FFmpeg。 FFmpeg是一个开源多媒体框架,提供了音频和视频编解码器、格式转换、流媒体和多媒体处理等功能。在Linux Buildroot中使用FFmpeg时,我们可以将其选为所需的软件包,然后在构建过程中进行交叉编译。通过配置Buildroot的设置,我们可以决定要包括的FFmpeg编解码器和功能,以便适应特定的嵌入式设备需求。 在使用FFmpeg进行视频编解码时,可以结合VAAPI(Video Acceleration API)来提高性能。VAAPI是一个Linux上的视频加速接口,允许硬件加速视频处理。通过在FFmpeg中启用VAAPI支持,可以利用支持硬件加速的嵌入式设备的特殊功能,如GPU硬件解码和编码器,以提供更高效的视频处理能力。 因此,将FFmpeg和VAAPI与Linux Buildroot结合使用,可以构建出定制化的Linux嵌入式系统,该系统在嵌入式设备上能够支持令人满意的音视频播放和处理能力。这种结合提供了广泛的自定义选项和优化能力,使得用户可以根据具体需求构建满足特定要求的嵌入式Linux系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值