Intel VAAPI/QSV/oneVPL区别简介

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

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/535259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

51单片机上面的IIC协议

1、什么是IIC协议 2、模拟IIC协议 51单片机上面是没有与IIC协议相关的寄存器的(没有相关的硬件),不像串口可以配置对应的寄存器达到目的(比如修改波特率9600 or 115200),要配置IIC只能够根据用户手册里面的…

未来课堂革命:OpenAI 发布 ChatGPT 使用指南,探索生成式 AI 如何重塑教育景观

随着新学期的来临,众多初登教师舞台的 00 后们,也完成了他们的第一个教师身份下的暑期生活。 对于开学的抵触情绪,不仅学生们普遍存在,许多 00 后的新晋教师们也同样感同身受。某种程度上,这些抗拒上班的年轻教师群体…

Java日期正则表达式(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于正则匹配,在项目实战中运用比较广泛 原先写过一版Python相关的:ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例: 年-月-日&a…

亚马逊的核心壁垒:物流

物流为美国电商市场渗透及格局的核心影响因素,也是亚马逊的核心壁垒所在。 从行业规模来看,美国电商渗透率低于中国,主要由于 两国地理及人口密度差异导致美国物流履约难度更大,此外美国更发达的实 体零售业和更为严苛的电商政策…

弹簧、质量的bode、nyquist与根轨迹图

在控制系统分析中,Bode图、Nyquist图和根轨迹图都是重要的工具,用于评估和分析系统的性能。这些系统的Nyquist图提供了最大的旋转,即它们在频率变化时表现出最大的相位变化。当Nyquist图完全位于虚轴上时,意味着系统的增益&#x…

代码解读:使用Stable Diffusion完成相似图像生成任务

Diffusion models代码解读:入门与实战 前言:作为内容生产重要的一部分,生成相似图像是一项有意义的工作,例如很多内容创作分享平台单纯依赖用户贡献的图片已经不够了,最省力的方法就是利用已有的图片生成相似的图片作为…

C中自定义类型——结构体

一.前言 在C语言中,不仅有int、char、short、long等内置类型,C语言还有一种特殊的类型——自定义类型。该类型可以由使用者自己定义,可以解决一些复杂的个体。 二.结构体 2.1结构体的声明 我们在利用结构体的时候一般是用于描述一些有多种…

代码随想录算法训练营第三十一天| 455.分发饼干、376.摆动序列、53.最大子序和

系列文章目录 目录 系列文章目录455.分发饼干贪心算法大饼干喂胃口大的(先遍历胃口)胃口大的先吃大饼干(先遍历饼干)小饼干先喂胃口小的(先遍历胃口)胃口小的先吃小饼干(先遍历饼干) 376. 摆动序…

Claude使用教程

claude 3 opus面世后,网上盛传吊打了GPT-4。网上这几天也已经有了许多应用,但竟然还有很多小伙伴不知道国内怎么用gpt,也不知道怎么去用这个据说已经吊打了gpt-4的claude3。 今天我们想要进行的一项尝试就是—— 用claude3和gpt4&#xff0c…

2024-04-11最新dubbo+zookeeper下载安装,DEMO展示

dubbozookeeper下载安装 下载zookeeper: 下载地址 解压,并进入bin目录,启动 如果闪退可以编辑脚本,在指定位置加上暂停脚本 报错内容说没有conf/zoo.cfg,就复制zoo_sample.cfg重命名为zoo.cfg 再次启动脚本&#x…

HarmonyOS开发实例:【手势截屏】

介绍 本篇Codelab基于手势处理和截屏能力,介绍了手势截屏的实现过程。样例主要包括以下功能: 根据下滑手势调用全屏截图功能。全屏截图,同时右下角有弹窗提示截图成功。根据双击手势调用区域截图功能。区域截图,通过调整选择框大…

Excel 记录单 快速录入数据

一. 调出记录单 ⏹记录单功能默认是隐藏的,通过如下如图所示的方式,将记录单功能显示出来。 二. 录入数据 ⏹先在表格中录入一行数据,给记录单一个参考 ⏹将光标至于表格右上角,然后点击记录单按钮,调出记录单 然后点…

百元不入耳运动耳机哪个品牌好?五款业内顶尖品牌推荐

在追求舒适与健康的运动中,不入耳式(开放式耳机)运动耳机逐渐成为了许多运动爱好者的首选,它们不仅避免了长时间佩戴耳机带来的不适,还能在享受音乐的同时保持对环境的警觉,确保运动安全,市场上…

Python中同时调用多个列表

如果你有多个列表,想要同时迭代它们,可以使用zip()函数。zip()函数可以将多个可迭代对象合并成一个元组的迭代器,然后你可以在循环中使用它。 问题背景 当需要在Python脚本中避免重复相同任务时,可以使用for循环来遍历列表。但是…

Volatility-内存取证案例1-writeup--xx大赛

题目提示:flag{中文} 按部就班 (1)获取内存镜像版本信息 volatility -f 文件名 imageinfo 通过上述可知,镜像版本为Win7SP1X64。 (2)获取进程信息: volatility -f 镜像名 --profile第一步获取…

面壁智能完成新一轮数亿元融资,继续面向AGI的高效大模型征程

近日,面壁智能完成新一轮数亿元融资,由春华创投、华为哈勃领投,北京市人工智能产业投资基金等跟投,知乎作为战略股东持续跟投支持。本轮融资完成后,面壁智能将进一步推进优秀人才引入,加固大模型发展的底层…

6.12物联网RK3399项目开发实录-驱动开发之UART 串口的使用(wulianjishu666)

嵌入式实战开发例程【珍贵收藏,开发必备】: 链接:https://pan.baidu.com/s/1tkDBNH9R3iAaHOG1Zj9q1Q?pwdt41u UART 使用 简介 AIO-3399J 支持 SPI 桥接/扩展 4 个增强功能串口(UART)的功能,分别为 UA…

LeetCode 面试题 02.07.链表相交(判断两个结点是否相同)

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&#x…

Qt中的网络通信

C没有封装专门的网络套接字的类,因此C只能调用C对应的API,而在Linux和Windows环境下的API都是不一样的 Qt作为一个C框架提供了相关封装好的套接字通信类 在Qt中需要用到两个类,两个类都属于network且都是属于IO操作,只不过这两个类…

ArcGIS Desktop使用入门(三)图层右键工具——缩放至图层、缩放至可见

系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…