【步骤+问题】编译标准版 libva1.7测试程序失败!编码测试硬件解码
本帖最后由 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 调试输出如下信息
Starting program: /home/firefly/libva-1.7.0/test/encode/.libs/h264encode
Cannot parse expression `.L966 4@r4'.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface
解码失败 ?
请问提供的libva有什么特别吗?在x86架构下操作成功.
另外:
利用生成的vaininfo 可以获取信息
firefly@localhost:~/libva-1.7.0/test$ ./vainfo/.libs/vainfo
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'rockchip'
libva info: Trying to open /usr/lib/arm-linux-gnueabihf/dri/rockchip_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.0)
vainfo: Driver version: Rockchip Driver 1.3
vainfo: Supported profile and entrypoints
VAProfileH264Baseline : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
你下的什么库?arm的? isle 发表于 2016-12-20 09:27
你下的什么库?arm的?
下载的是这个https://www.freedesktop.org/software/vaapi/releases/libva/libva-1.7.0.tar.bz2
是libva的源代码
里面有个h264编码的例子,主要想编译测试h264在ubuntu下的硬件编码解码。
如果我下载的不对,请给个源码下载地址,谢谢! 你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊 isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊
谢谢大神回复。
我的理解是这样:我下载的是libva的源代码,在rk3288-firefly上面进行编译。
解压完成之后是没有.libs这个目录的,那个运行的可执行文件是编译生成的。并且可以gdb调试,file文件显示是arm架构。
是不是有专门针对rk3288的libva的源代码?地址能给一个吗?谢谢,十分感谢! isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊
针对arm的下载地址能贴出来吗?谢谢!!!!!!! isle 发表于 2016-12-21 09:24
你下载的是arm的还是x86的。X86的库肯定不能在arm上跑啊
在板子上使用
apt source libva1获取源代码
./configure
make
生成了可执行文件
test/encode/.libs/h264encode
运行后提示是一样的。
使用file命令
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=12d6077385991aeabf0f70be44d1396596bdee5e, not stripped
接楼上:
一共生成了四个文件
另外三个是可以运行的
avcenc jpegencmpeg2vaenc 第二种编译方法:
单独编译h264encode.c
拷贝出来到源代码的上级目录
使用命令
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
编译完成之后报错是一样的。 下载到板子上编译是可以的,你这个编译linva的没有问题的。但是你们没有libva的driver。所以libva加载不了编解码驱动,导致编解码失败。
你要么整个软编软解的。或者安装rk的libva的driver。
页:
[1]
2