Tool/software: Linux
I am currently playing around with the AM-335X devkit and want to stream video content from my laptops webcam to be displayed on the evaluation board. FFMPEG seems to have all the functions I want/need: Encoding, Decoding and network streaming.
However, I need to get FFMPEG running on the target platform. I have cloned the git repo and can successfully build the downloaded files for my host system. So far, I was not able to cross compile FFMPEG, but I am able to compile a simple hello world program for the targets ARM architecture (verified architecture using readelf <file>).
Using make, FFMPEG is compiled for AMDx64, even if I have run the environment-setup script before (and am using the console the script was run in). Calling
[linux-devkit]:/usr/bin> arm-linux-gnueabihf-gcc ffmpeg.c -o ffmpeg_arm
results in an error on compiling the first file:
/tmp/ccIBQibC.s: Assembler messages:
/tmp/ccIBQibC.s:242: Error: Ungültige Anweisung »cmovg r3,r2«
/tmp/ccIBQibC.s:243: Error: Ungültige Anweisung »cmovg r1,r3«
/tmp/ccIBQibC.s:245: Error: Ungültige Anweisung »cmovl r0,r3«
/tmp/ccIBQibC.s:247: Error: Ungültige Anweisung »cmovg r3,r2«
(invalid insruction: »...«)
calling make, passing the compiler path variable with CC=... seems to be another option, so I tried:
[linux-devkit]:~/Downloads/ffmpeg-3.2.4> sudo make CC=/opt/ti/linuxSDK/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
some files were built before the process terminates:
CC libavfilter/vf_mestimate.o
/tmp/ccsCzqRV.s: Assembler messages:
/tmp/ccsCzqRV.s:1529: Error: Ungültige Anweisung »cmovg ip,r5«
/tmp/ccsCzqRV.s:1530: Error: Ungültige Anweisung »cmovg r7,ip«
/tmp/ccsCzqRV.s:1532: Error: Ungültige Anweisung »cmovl r2,ip«
I guess there is something I miss or misunderstood (and hope what im trying is not impossible).
If you guys have any hints/ideas on what might be going wrong or questions/ressources that might bring missing information to my attention id be very happy!
>>>> EDIT <<<<
sudo make CC=/opt/ti/linuxSDK/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc
without running the environment-setup beforehand results in a different error:
CC libavdevice/v4l2enc.o
CC libavdevice/xcbgrab.o
libavdevice/xcbgrab.c:25:21: fatal error: xcb/xcb.h: No such file or directory
compilation terminated.
common.mak:60: die Regel für Ziel „libavdevice/xcbgrab.o“ scheiterte
make: *** [libavdevice/xcbgrab.o] Fehler 1