Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

Firefly-rk3288 linux下 实现视频硬解码(公开源码)

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936

Firefly-rk3288 linux下 实现视频硬解码(公开源码)

发表于 2015-12-29 16:37:05      浏览:142722 | 回复:92        打印     [复制链接] 楼主
本帖最后由 isle 于 2015-12-29 16:38 编辑

firefly-rk3288 linux上H264、H265解码一直都是软解,下面将介绍如何基于ffmpeg,在ubuntu系统上添加硬解支持,
首先安装硬解驱动库。这里使用的是国外友人mac_l1的libhybris库。
当然也可以使用rockchip自己发布的解码库,这个网上有,大家可以自己去找找。本源码是使用hybris库的,如果使用其他库,需要修改调用方式。
为了方便,我在百度网盘上备份了一个mac的hybris库,大家可以直接下载。
http://pan.baidu.com/s/1pKdqUQR

安装驱动库:
  1. sudo dpkg  -i machybris-0.1.0_armhf.deb
复制代码

如果提示错误请先执行:
  1. sudo apt-get -f install
复制代码

再执行安装,安装完解码库驱动后需要重启下。



安装ffplay依赖库sdl :
  1. sudo apt-get install libsdl-dev
复制代码

在开发板上安装编译环境:
  1. sudo apt-get install build-essential
复制代码


下载基于ffmpeg的视频解码源码:
  1. git clone https://github.com/isle0118/firefly-vpu-linux.git
复制代码

编译安装:
  1. ./configure  --enable-shared --prefix=/usr --disable-ffmpeg --disable-ffprobe --disable-ffserver  --disable-static
复制代码
  1. make && sudo make install
复制代码
成功之后就可以用ffplay测试了。可以与系统自带的mplayer对比效果及cpu占用率等。确实有很大的改善哦!

硬解的源文件 :libavcodec/rkdec_decoder.c 大家可以自行研究及优化。


回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2015-12-30 09:26:57      沙发
上面使用的方式是在开发板上编译的,头文件是需要先安装hybris驱动库的。如果要在上位机上编译,需先导出头文件来。这个自己改下了。
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2015-12-30 10:44:43      板凳
需要指定DISPLAY : export DISPLAY=:0.0
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2015-12-30 14:37:32      地板
测试过的视频  :
1920x1080 H264  文件格式mp4
1280x720 H265     文件格式mkv
1280x720 mpeg4 文件格式avi
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2015-12-30 17:49:51      5#
GPU加速没有加进来哦。sdl显示是纯软的。
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-1-4 17:25:45      6#
此帖 意在于给大家一个解决方法。后面需要大家去优化。

也欢迎有更高效的方案 能够公布出来给大家分享 。:victory:
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-1-7 09:59:41      7#
看了下qlwy 的录像。如果仅仅只是解码4K 。而显示1080P 或以下的话 完全可以用rga做缩放。可以做到他视频上的效果。
另外我代码里面的memcpy其实还是有优化的空间的。
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-2-15 09:32:17      8#
cjr198300 发表于 2016-2-4 09:56
请教楼主,我是ubuntu14.04单系统,按照上面的步骤将硬解驱动库和ffmpeg都安装好了,而且也能测试GPU硬解确 ...

没有哦。 我测试的时候用的HDMI 。vga 你看下fbset。或者试着修改内核里面vga默认值试试。
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-2-15 09:33:14      9#
ploor 发表于 2016-2-5 18:50
硬解驱动库没有源码吗?

目前都是库发布的,android上也是用库发布的。
回复

使用道具 举报

936

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
936
发表于 2016-12-15 09:00:49      10#
16.04有用VAAPI的方式实现,论坛上有固件可以下载。
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表