nvdec与vaapi与vdpau的关系

这篇具有很好参考价值的文章主要介绍了nvdec与vaapi与vdpau的关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nvdec/vaapi/vdpau的关系

NVDEC:nvidia video decoder。

英伟达官网中有关video codec SDK的介绍,其中有头文件、开发API文档等

Nvidia Video SDK中提供了NVDEC、NVENC,其中NVDEC以前也叫做NVCUVID(不知道NVDEC的开发API中很多都已cuvid开头的函数是不是因为之前从NVCUVID转变而来的)。之前NVDEC是随着cuda toolkit一起发布的,现在是随着Nvidia codec SDK打包发布。

1.1 VDPAU与NVDEC

NVDEC作为一种私有API,只被nvidia driver支持。

VDPAU是一种开源API,最初是由Nvidia开发的用于支持Nvidia PureVideo SIP Block,后来发展为可以被多种GPU支持,所有的支持VDPAU的英伟达显卡列表,AMD Raedon HD4000+支持VDPAU,Intel不支持VDPAU只支持VA-API,不过可以通过libva-va-gl来支持VDPAU中使用Intel的VA-API,Mesa通过Gallium3D来支持VDPAU。

generic VDPAU drivers

也有drivers是支持VDPAU转VA-API的,特别是对于部分Intel显卡来说,其可能只支持VA-API,此时如果应用只支持VDPAU,则就需要VDPAU–>VA-API的转换驱动。我这里的GTX 1050Ti其实就同时支持VDPAU和NVDEC,两种方式我尝试了下,都能正确的解码视频。

mesa Gallium3D

mesa的gallium3D模块是旨为简化3D图像设备编程API接口的适用于多种操作系统、rendering或者video加速API的一系列接口和库,它是开源的。

gallium3D模块的前端frontends中就包含了多种加速接口,比如vavdpau

mesa中现在va和vdpau主要支持的是,【va】:r600,radeonsi,nouveau,virtio_gpu,d3d12;【vdpau】:r600,radeonsi,nouveau,virtio_gpu,d3d12。从这里也可以看出,linux虚机中的va和vdpau都是通过virtio_gpu下发到host主机上的,而host上virglrenderer中目前只支持libva接口的处理,所以host主机上就需要VA-API转VDPAU或者VA-API转NVDEC的各种驱动以便适配不同厂家的显卡(intel/amd/nvidia)等

1.2 NVDEC驱动

厂家驱动

NVDEC由nvidia官方驱动中包含了,可以通过安装NVIDIA-Linu-xxx.run来安装,nvidia-smi查看其信息,其中应该同时也安装了cuda驱动。

VAAPI转NVDEC驱动
vaapi转vdpau驱动

原本有个库 libva-vdpau-driver实现VA-API到VDPAU的转换,不过该软件有点老了,还停留在2012年,而且该软件的ubuntu deb包被ubuntu之前给遗弃了,所以ubuntu22.04中用apt search搜不到该包,据说要到ubuntu23之后还会加进来。

不顾可以直接安装vdpau-va-dirver_0.7.4-7_amd64.deb包,安装完会出现vdpau_drv_video.so,目前测试了下,vainfo是可以通过vdpau去获取到profile和entrypoints的。但是我在用vdpau启动虚拟机时,虚机coredump了。虚机就没启动的了。待分析排查。
nvdec与vaapi与vdpau的关系

vaapi转nvdec驱动

elFarto这家伙发了帖子问,2018年libva中准备遗弃GLX,转用EGL/dm-buf方式,不过那时候NVIDIA驱动中并不支持EGL,所以就会出现vdpau实际不可用了,而当时Linux的app中基本都不支持NVDEC,比如firefox等,所以就出先那些只支持VA-API的Linux应用无法使用Nvidia显卡做video硬件加速。参考这个帖子。

后来,elFarto自己写了个 nvidia-vaapi-driver ,专门给Firefox通过VA-API使用NVDEC加速的。

不过其实该仓库取名应该是nvdec-vaapi-driver 更合适,毕竟它的功能只是将VA-API转NVDEC。我也试过了,安装之后,会出现nvidia_vidoe_drv.so,通过vainfo可以正确获取profiles和entrypoints。

nvdec与vaapi与vdpau的关系

不过这个在虚机中使用mpv --hwdec=auto 播放h264视频时,会出现coredump,dump在nvidia-vaapi-driver的nvEndPicture()。待分析排查

安装了nvidia-vaapi-driver驱动后,vainfo的vdpauinfo运行结果
nvdec与vaapi与vdpau的关系文章来源地址https://www.toymoban.com/news/detail-431139.html

到了这里,关于nvdec与vaapi与vdpau的关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 离散数学 --- 特殊关系 --- 偏序关系,哈斯图和特殊元素以及其它次序关系

    1.当我们用 ≤ 符号来表示偏序关系的时候,这个符号就不再局限于它本来的含义了,此时的它表示的是元素之间的先后顺序,如下图:   1.这里的可比的意思是可比较元素在偏序关系中的先后顺序   1.哈斯图其实就是简化版的偏序关系的关系图 2.什么叫做由于传递关系必须出

    2024年01月15日
    浏览(37)
  • 【离散数学】九章:关系 - 关系及其性质

    设A和B是集合,一个从 A 到 B 的二元关系是A×B的子集。 (序偶集合的子集) 🐳换句话说,一个从A到B的二元关系是集合R,其中每个有序对的第一个元素取自A而第二个元素取自B。 我们使用记号 aRb表示(a, b)∈R,a R b表示(a, b)∉R。当(a, b)属于R时,称 a与b有关系R 。 📘例:设

    2024年02月04日
    浏览(42)
  • 离散数学 --- 二元关系 --- 关系的运算

      进行关系A和关系B进行关系的复合运算的前提是关系A的后域是关系B的前域,且最终得到的复合关系C的前域是关系A的前域,后域是关系B的后域(且这个前域值在关系A中对应的后域值与这个后域值在关系B中对应的前域值相等) 1.关系的复合运算必然涉及到三个集合,两个集

    2024年02月02日
    浏览(44)
  • 关系抽取(三)实体关系联合抽取:TPlinker

    参考: NLP系列之封闭域联合抽取:CasRel、TPLinker、PRGC、PURE、OneRel,实在是太卷了! - 知乎 (zhihu.com)

    2023年04月08日
    浏览(38)
  • 关系代数(关系代数的五个基本操作)

    五种基本关系代数运算是并、差、投影、交、选择、投影。 1、并:设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。 2、差:R和S的差是由属于R但不属于S的元组组成的集合,运算符为- [1]  。记为T=R-S。 3、交

    2024年02月02日
    浏览(52)
  • 离散数学(十二):关系的幂运算与关系的性质

    1)幂运算的定义  2)幂运算的求法   幂运算有两种求法,基于矩阵的方法和基于关系图的方法。我们之前学过关系的表示方法有三种:集合、矩阵、关系图。那么同样,这些方式也可以运用于关系的计算中。 需要的注意的是,基于关系图的运算是具有物理意义的,以R2为例

    2024年02月08日
    浏览(36)
  • 【EF Core】主从实体关系与常见实体关系的区别

    上次老周扯了有关主、从实体的话题,本篇咱们再挖一下,主、从实体之间建立的关系,跟咱们常用的一对一、一对多这些关系之间有什么不同。 先看看咱们从学习数据库开始就特熟悉的常用关系——多对多、一对一、一对多说起。数据实体之间会建立什么样的关系,并不是

    2024年02月16日
    浏览(39)
  • 中文人物关系知识图谱(含码源):中文人物关系图谱构建、数据回标、基于远程监督人物关系抽取、知识问答等应用.

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月15日
    浏览(46)
  • Vue中数据可视化关系图展示与关系图分析

    数据可视化是现代Web应用程序的重要组成部分之一,它可以帮助我们以图形的方式呈现和分析复杂的数据关系。Vue.js是一个流行的JavaScript框架,它提供了强大的工具来构建数据可视化应用。本文将介绍如何使用Vue.js创建数据可视化关系图,并进行关系图分析。我们将使用EC

    2024年02月09日
    浏览(33)
  • 认识Mybatis的关联关系映射,灵活关联表对象之间的关系

    目录      一、概述 ( 1 )  介绍 ( 2 )  关联关系映射 ( 3 ) 关联讲述 二、一对一关联映射 2.1 数据库创建 2.2 配置文件  2.3 代码生成 2.4 编写测试 三、一对多关联映射 四 、多对多关联映射 给我们带来的收获 关联关系映射是指在数据库中,通过定义 表之间的关联关系 ,将多

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包