CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 16935|回复: 9

libvdpau_sunxi编译问题求助

[复制链接]
发表于 2014-11-18 22:42:55 | 显示全部楼层 |阅读模式
本帖最后由 pocker5200 于 2014-11-18 23:01 编辑

源码来自 https://github.com/linux-sunxi/libvdpau-sunxi
教程上都是直接make的,makefile调用的是gcc编译器,这个有点不解。
难道是给mplayer自动选择交叉编译的么。

下面的编译错误,gcc version 4.7.2 (Debian 4.7.2-5)
tennokoe@debian:~/cubieboard2/libvdpau-sunxi$ make
gcc -MD -MP -MQ device.o -fpic -Wall -O3 -c device.c -o device.o
gcc -MD -MP -MQ presentation_queue.o -fpic -Wall -O3 -c presentation_queue.c -o presentation_queue.o
gcc -MD -MP -MQ surface_output.o -fpic -Wall -O3 -c surface_output.c -o surface_output.o
gcc -MD -MP -MQ surface_video.o -fpic -Wall -O3 -c surface_video.c -o surface_video.o
gcc -MD -MP -MQ surface_bitmap.o -fpic -Wall -O3 -c surface_bitmap.c -o surface_bitmap.o
gcc -MD -MP -MQ video_mixer.o -fpic -Wall -O3 -c video_mixer.c -o video_mixer.o
gcc -MD -MP -MQ decoder.o -fpic -Wall -O3 -c decoder.c -o decoder.o
gcc -MD -MP -MQ handles.o -fpic -Wall -O3 -c handles.c -o handles.o
gcc -MD -MP -MQ ve.o -fpic -Wall -O3 -c ve.c -o ve.o
gcc -MD -MP -MQ h264.o -fpic -Wall -O3 -c h264.c -o h264.o
h264.c: In function ‘ref_pic_list_modification’:
h264.c:263:19: warning: unused variable ‘long_term_pic_num’ [-Wunused-variable]
h264.c:281:19: warning: unused variable ‘abs_diff_pic_num_minus1’ [-Wunused-variable]
h264.c:285:19: warning: unused variable ‘long_term_pic_num’ [-Wunused-variable]
gcc -MD -MP -MQ mpeg12.o -fpic -Wall -O3 -c mpeg12.c -o mpeg12.o
gcc -MD -MP -MQ mp4.o -fpic -Wall -O3 -c mp4.c -o mp4.o
gcc -MD -MP -MQ rgba.o -fpic -Wall -O3 -c rgba.c -o rgba.o
gcc -c tiled_yuv.S -o tiled_yuv.o
tiled_yuv.S: Assembler messages:
tiled_yuv.S:25: Error: unknown pseudo-op: `.syntax'
tiled_yuv.S:26: Error: no such architecture: `armv7'
tiled_yuv.S:26: Error: junk at end of line, first unrecognized character is `-'
tiled_yuv.S:27: Error: unknown pseudo-op: `.fpu'
tiled_yuv.S:28: Error: unknown pseudo-op: `.thumb'
tiled_yuv.S:46: Error: no such instruction: `src .req r0'
tiled_yuv.S:47: Error: no such instruction: `dst .req r1'
tiled_yuv.S:48: Error: no such instruction: `pitch .req r2'
tiled_yuv.S:49: Error: no such instruction: `cnt .req r3'
tiled_yuv.S:50: Error: no such instruction: `tline .req r4'
tiled_yuv.S:51: Error: no such instruction: `height .req r5'
tiled_yuv.S:52: Error: no such instruction: `rest .req r6'
tiled_yuv.S:53: Error: no such instruction: `ntiles .req r7'
tiled_yuv.S:54: Error: no such instruction: `tmpsrc .req r8'
tiled_yuv.S:55: Error: no such instruction: `dst2 .req r9'
tiled_yuv.S:56: Error: no such instruction: `tsize .req r12'
tiled_yuv.S:57: Error: no such instruction: `nextlin .req lr'
tiled_yuv.S:59: Error: unknown pseudo-op: `.thumb_func'
tiled_yuv.S:60: Error: invalid character '{' before operand 1
tiled_yuv.S:61: Error: no such instruction: `ldr HEIGHT,[sp,'
tiled_yuv.S:62: Error: too many memory references for `add'
tiled_yuv.S:63: Error: no such instruction: `lsrs NTILES,r3,'
tiled_yuv.S:64: Error: no such instruction: `bic NEXTLIN,NEXTLIN,'
tiled_yuv.S:65: Error: too many memory references for `and'
tiled_yuv.S:66: Error: too many memory references for `lsl'
tiled_yuv.S:67: Error: too many memory references for `sub'
tiled_yuv.S:68: Warning: `TLINE' is not valid here (expected `(%esi)')
tiled_yuv.S:68: Error: expecting operand after ','; got nothing
tiled_yuv.S:69: Error: no such instruction: `rsb NEXTLIN,NEXTLIN,'
tiled_yuv.S:70: Error: expecting operand after ','; got nothing
tiled_yuv.S:73: Error: no such instruction: `cbz NTILES,3f'
tiled_yuv.S:74: Error: too many memory references for `mov'
tiled_yuv.S:77: Error: no such instruction: `pld [SRC,TSIZE]'
tiled_yuv.S:78: Error: no such instruction: `vld1.8 {d0 - d3},[SRC:256],TSIZE'
tiled_yuv.S:79: Error: expecting operand after ','; got nothing
tiled_yuv.S:80: Error: no such instruction: `vst1.8 {d0 - d3},[DST]!'
tiled_yuv.S:81: Error: no such instruction: `bne 2b'
tiled_yuv.S:83: Error: no such instruction: `cbnz REST,4f'
tiled_yuv.S:86: Error: too many memory references for `add'
tiled_yuv.S:89: Error: expecting operand after ','; got nothing
tiled_yuv.S:90: Error: no such instruction: `itee ne'
tiled_yuv.S:91: Error: no such instruction: `addne SRC,NEXTLIN'
tiled_yuv.S:92: Error: no such instruction: `subeq SRC,'
tiled_yuv.S:93: Error: no such instruction: `moveq TLINE,'
tiled_yuv.S:95: Error: expecting operand after ','; got nothing
tiled_yuv.S:96: Error: no such instruction: `bne 1b'
tiled_yuv.S:97: Error: invalid character '{' before operand 1
tiled_yuv.S:100: Error: too many memory references for `mov'
tiled_yuv.S:101: Error: no such instruction: `tst REST,'
tiled_yuv.S:102: Error: no such instruction: `beq 5f'
tiled_yuv.S:103: Error: no such instruction: `vld1.8 {d0 - d1},[TMPSRC:128]!'
tiled_yuv.S:104: Error: no such instruction: `vst1.8 {d0 - d1},[DST]!'
tiled_yuv.S:105: Error: too many memory references for `add'
tiled_yuv.S:106: Error: too many memory references for `and'
tiled_yuv.S:107: Error: no such instruction: `beq 7b'
tiled_yuv.S:108: Error: no such instruction: `vld1.8 {d0[0]},[TMPSRC]!'
tiled_yuv.S:109: Error: expecting operand after ','; got nothing
tiled_yuv.S:110: Error: no such instruction: `vst1.8 {d0[0]},[DST]!'
tiled_yuv.S:111: Error: no such instruction: `bne 6b'
tiled_yuv.S:112: Error: no such instruction: `b 7b'
tiled_yuv.S:115: Error: unknown pseudo-op: `.thumb_func'
tiled_yuv.S:116: Error: invalid character '{' before operand 1
tiled_yuv.S:117: Error: too many memory references for `mov'
tiled_yuv.S:118: Error: no such instruction: `ldr HEIGHT,[sp,'
tiled_yuv.S:119: Error: no such instruction: `ldr r4,[sp,'
tiled_yuv.S:120: Error: too many memory references for `add'
tiled_yuv.S:121: Error: no such instruction: `lsrs NTILES,r4,'
tiled_yuv.S:122: Error: no such instruction: `bic NEXTLIN,NEXTLIN,'
tiled_yuv.S:123: Error: no such instruction: `ubfx REST,r4,'
tiled_yuv.S:124: Error: too many memory references for `lsl'
tiled_yuv.S:125: Error: too many memory references for `sub'
tiled_yuv.S:126: Warning: `TLINE' is not valid here (expected `(%esi)')
tiled_yuv.S:126: Error: expecting operand after ','; got nothing
tiled_yuv.S:127: Error: no such instruction: `rsb NEXTLIN,NEXTLIN,'
tiled_yuv.S:128: Error: expecting operand after ','; got nothing
tiled_yuv.S:131: Error: no such instruction: `cbz NTILES,3f'
tiled_yuv.S:132: Error: too many memory references for `mov'
tiled_yuv.S:135: Error: no such instruction: `pld [SRC,TSIZE]'
tiled_yuv.S:136: Error: no such instruction: `vld2.8 {d0 - d3},[SRC:256],TSIZE'
tiled_yuv.S:137: Error: expecting operand after ','; got nothing
tiled_yuv.S:138: Error: no such instruction: `vst1.8 {d0 - d1},[DST]!'
tiled_yuv.S:139: Error: no such instruction: `vst1.8 {d2 - d3},[DST2]!'
tiled_yuv.S:140: Error: no such instruction: `bne 2b'
tiled_yuv.S:142: Error: no such instruction: `cbnz REST,4f'
tiled_yuv.S:145: Error: too many memory references for `add'
tiled_yuv.S:146: Error: too many memory references for `add'
tiled_yuv.S:149: Error: expecting operand after ','; got nothing
tiled_yuv.S:150: Error: no such instruction: `itee ne'
tiled_yuv.S:151: Error: no such instruction: `addne SRC,NEXTLIN'
tiled_yuv.S:152: Error: no such instruction: `subeq SRC,'
tiled_yuv.S:153: Error: no such instruction: `moveq TLINE,'
tiled_yuv.S:155: Error: expecting operand after ','; got nothing
tiled_yuv.S:156: Error: no such instruction: `bne 1b'
tiled_yuv.S:157: Error: invalid character '{' before operand 1
tiled_yuv.S:160: Error: too many memory references for `mov'
tiled_yuv.S:161: Error: no such instruction: `tst REST,'
tiled_yuv.S:162: Error: no such instruction: `beq 5f'
tiled_yuv.S:163: Error: no such instruction: `vld2.8 {d0 - d1},[TMPSRC:128]!'
tiled_yuv.S:164: Error: no such instruction: `vst1.8 {d0},[DST]!'
tiled_yuv.S:165: Error: no such instruction: `vst1.8 {d1},[DST2]!'
tiled_yuv.S:166: Error: too many memory references for `add'
tiled_yuv.S:167: Error: too many memory references for `and'
tiled_yuv.S:168: Error: no such instruction: `beq 7b'
tiled_yuv.S:169: Error: no such instruction: `vld2.8 {d0[0],d1[0]},[TMPSRC]!'
tiled_yuv.S:170: Error: expecting operand after ','; got nothing
tiled_yuv.S:171: Error: no such instruction: `vst1.8 {d0[0]},[DST]!'
tiled_yuv.S:172: Error: no such instruction: `vst1.8 {d1[0]},[DST2]!'
tiled_yuv.S:173: Error: no such instruction: `bne 6b'
tiled_yuv.S:174: Error: no such instruction: `b 7b'
make: *** [tiled_yuv.o] 错误 1
tennokoe@debian:~/cubieboard2/libvdpau-sunxi$

回复

使用道具 举报

 楼主| 发表于 2014-11-20 14:56:31 | 显示全部楼层
再也没人玩A20硬解高清了么
回复 支持 反对

使用道具 举报

发表于 2014-11-22 15:00:00 | 显示全部楼层
应该是你gcc编译器版本问题 gcc -v一下,  你刷的是哪个固件?

# gcc -v                                                            
Using built-in specs.                                                           
COLLECT_GCC=gcc                                                                 
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper            
Target: arm-linux-gnueabihf                                                     
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14' --withf
Thread model: posix                                                            
gcc version 4.6.3 (Debian 4.6.3-14)

还有要装:
sudo apt-get install  libvdpau-dev
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-29 17:43:21 | 显示全部楼层
本帖最后由 pocker5200 于 2014-11-29 18:43 编辑
sunbeyond 发表于 2014-11-22 15:00
应该是你gcc编译器版本问题 gcc -v一下,  你刷的是哪个固件?

# gcc -v                     ...

我的arm-Linux-gnueabihf-gcc -v 是4.8.2版本的,
我查了一下,是编译器不支持汇编文件格式,可能真的是编译器的问题。
如果这个硬解H264高清解决的话,我就不用去搞安卓了……

我改了makefile的默认编译器gcc为arm-Linux-gnueabihf-gcc,那个汇编文件已经编过去了.
现在问题又来了,缺少X11的arnhf的库……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-29 21:44:13 | 显示全部楼层
搞定了,修改makefile文件,指定编译器CC=交叉编译器
添加armhf版本libx11.so所在路径
还有就是sudo apt-get install  libvdpau-dev
星期一再实机测试
回复 支持 反对

使用道具 举报

发表于 2014-11-30 19:55:36 | 显示全部楼层
请问楼主是做什么项目?还是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-9 17:14:33 | 显示全部楼层
sunbeyond 发表于 2014-11-30 19:55
请问楼主是做什么项目?还是?

项目方案评估,安卓4.2+mxplayer可以流畅播放15M码率的1080p视频。
但是我不会搞安卓开发。

如果是能在底层实现高清硬解的就好了,定制起来自由度高一点。
回复 支持 反对

使用道具 举报

发表于 2014-12-11 10:41:44 | 显示全部楼层
pocker5200 发表于 2014-12-9 17:14
项目方案评估,安卓4.2+mxplayer可以流畅播放15M码率的1080p视频。
但是我不会搞安卓开发。

安卓下应该有自带可以播放1080p的多媒体播放器。
回复 支持 反对

使用道具 举报

发表于 2016-12-6 08:12:26 | 显示全部楼层
能详细点么.~/libvdpau-sunxi$ make CC=arm-linux-gnueabi-gcc ldflags="-L/home/zengxj/Cloverlinux/out/linux/common/buildroot/target/usr/bin"
我这样子编译还是编译不过去.
device.c:23:27: fatal error: cedrus/cedrus.h: 没有那个文件或目录
回复 支持 反对

使用道具 举报

发表于 2018-4-12 14:38:06 | 显示全部楼层
请问,你们这个问题都是怎样解决的啊,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-22 13:04 , Processed in 0.027316 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部