【GPU-硬解码介绍】

硬解码介绍

什么是硬解码:

“硬解”是硬件解码的简称。简单而言,硬件解码就是通过显卡的视频加速功能对高清视频进行解码。因此硬解能够将CPU从繁重的视频解码运算中释放出来,使电视具备流畅播放高清视频的能力。

显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”。主流的硬件解码方案由Intel、AMD-ATI以及Nvdia推出。

优点:

硬解码优点是效率高,功耗低、热功耗低。可以流畅的支持1080p甚至4K清晰度的电影播放,而不需要占用CPU,CPU就可以如释重负,轻松上阵,承担更多的其他任务。

硬件解码是将原来全部交由CPU来处理的视频数据的一部分交由GPU来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载。

缺点:

起步较晚,软件支持度无法与软解相提并论。并且面对杂乱无章的视频编码、封装格式,硬解码无法做到全面兼容。硬解码在画面输出补偿及画质增强技术等方面和软解差距较大。

硬解码软件设置较为复杂,很多朋友根本不知道该如何正确使用GPU硬件解码。

Vdpau:

VDPAU (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支持

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

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

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

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

Vaapi:

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。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值