Firefly开源社区

12
发表新贴

【步骤+问题】编译标准版 libva1.7测试程序失败!编码测试硬件解码

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-19 18:16:02     
本帖最后由 yangjinbiao 于 2016-12-19 18:17 编辑

相关地址:
https://www.freedesktop.org/wiki/Software/vaapi/
下载的是
libva-1.7.0.tar.bz2
一、拷贝到开发板。
二、运行
./configure
make

三、系统生成
DIR/test/encode/.libs/h264encode 可执行文件
四、运行没有反应 使用 gdb 调试输出如下信息
  1. Starting program: /home/firefly/libva-1.7.0/test/encode/.libs/h264encode
  2. Cannot parse expression `.L966 4@r4'.

  3. warning: Probes-based dynamic linker interface failed.
  4. Reverting to original interface
复制代码

解码失败 ?
请问提供的libva有什么特别吗?在x86架构下操作成功.
另外:
利用生成的vaininfo 可以获取信息
  1. firefly@localhost:~/libva-1.7.0/test$ ./vainfo/.libs/vainfo
  2. libva info: VA-API version 0.39.0
  3. libva info: va_getDriverName() returns -1
  4. libva info: User requested driver 'rockchip'
  5. libva info: Trying to open /usr/lib/arm-linux-gnueabihf/dri/rockchip_drv_video.so
  6. libva info: Found init function __vaDriverInit_0_39
  7. libva info: va_openDriver() returns 0
  8. vainfo: VA-API version: 0.39 (libva 1.7.0)
  9. vainfo: Driver version: Rockchip Driver 1.3
  10. vainfo: Supported profile and entrypoints
  11.       VAProfileH264Baseline           :        VAEntrypointVLD
  12.       VAProfileH264ConstrainedBaseline:        VAEntrypointVLD
  13.       VAProfileH264Main               :        VAEntrypointVLD
  14.       VAProfileH264High               :        VAEntrypointVLD
  15.       VAProfileJPEGBaseline           :        VAEntrypointEncPicture
复制代码



回复

使用道具 举报

937

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
937
发表于 2016-12-20 09:27:17     
你下的什么库?arm的?
回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-20 15:04:32     
isle 发表于 2016-12-20 09:27
你下的什么库?arm的?

下载的是这个https://www.freedesktop.org/soft ... libva-1.7.0.tar.bz2
是libva的源代码
里面有个h264编码的例子,主要想编译测试h264在ubuntu下的硬件编码解码。
如果我下载的不对,请给个源码下载地址,谢谢!
回复

使用道具 举报

937

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
937
发表于 2016-12-21 09:24:17     
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊
回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-21 09:48:32     
isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊

谢谢大神回复。
我的理解是这样:我下载的是libva的源代码,在rk3288-firefly上面进行编译。
解压完成之后是没有.libs这个目录的,那个运行的可执行文件是编译生成的。并且可以gdb调试,file文件显示是arm架构。
是不是有专门针对rk3288的libva的源代码?地址能给一个吗?谢谢,十分感谢!
回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-21 09:49:30     
isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊

针对arm的下载地址能贴出来吗?谢谢!!!!!!!
回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-21 11:11:00     
isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊

在板子上使用
apt source libva1  获取源代码
./configure
make
生成了可执行文件
test/encode/.libs/h264encode
运行后提示是一样的。
使用file命令
  1. h264encode: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=12d6077385991aeabf0f70be44d1396596bdee5e, not stripped
复制代码


回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-21 11:15:42     
接楼上:
一共生成了四个文件
另外三个是可以运行的
avcenc        jpegenc  mpeg2vaenc
回复

使用道具 举报

85

积分

0

威望

0

贡献

技术小白

积分
85
发表于 2016-12-21 12:15:58     
第二种编译方法:
单独编译h264encode.c
拷贝出来到源代码的上级目录
使用命令
  1. gcc   h264encode.c code/libva-1.7.0/test/common/va_display.c  -I/usr/include/libdrm -I./code/libva-1.7.0/ -I./code/libva-1.7.0/test/common/  -I./code/libva-1.7.0/va -L/usr/lib/arm-linux-gnueabihf/dri -L/usr/lib/arm-linux-gnueabihf/  -ldrm  -lva -lva-drm -lva-x11  -lpthread -lm
复制代码


编译完成之后报错是一样的。
回复

使用道具 举报

937

积分

20

威望

19

贡献

社区版主

Rank: 7Rank: 7Rank: 7

积分
937
发表于 2016-12-22 10:50:05     
下载到板子上编译是可以的,你这个编译linva的没有问题的。但是你们没有libva的driver。所以libva加载不了编解码驱动,导致编解码失败。
你要么整个软编软解的。或者安装rk的libva的driver。
回复

使用道具 举报

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

本版积分规则

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