GrandAdmiralThrawn
8th November 2011, 08:12
Hello!
I would like to ask about cross-compiling existing x264 and libav sourcecode to an Android/ARMv7 target (I would like to link x264 against libav to be able to read H.264/AVC elementary streams with the cli version of x264).
I do have some experience in compiling that code on x86/x86_64 and MIPSEL (chinese Loongson-2f specifically) architectures in Linux with gcc/yasm, but I am a total noob, when it comes to cross-compiling unfortunately, I have only built the code sitting directly on the target system so far.
What I do have here, is a CentOS 6.0 x86_64 multilib Linux, GNU make and autoconf tools, latest Android SDK (probably not needed) and latest Android NDK toolchain (could be needed) as well as the yasm assembler to build the ARM assembler codepaths of libav and x264. I'm also able to fall back to pure C/C++ in case the asm stuff is impossible. I have found some guys having done the x264 alone using Google search, but info on how exactly they did it is quite scarce.
My primary target platform is Android 2.2 on a TI OMAP3 chipset with an ARM Cortex A8 processor that I believe has a hardware FPU, but no NEON SIMD extensions. I may also want to target slightly different hardware, but all using the ARMv7 instruction set basically.
I have also tried to set up an Openembedded Build environment (Using the Ångström distribution), but that failed quite miserably. After fixing many of the errors I encountered, I got to some pretty fatal errors I was unable to fix when building/compiling the environment itself.
So, if anyone has experience in cross-compiling libav/x264 or similar stuff like ffmpeg, preferrably to Android, I would greatly appreciate help in getting that done. At the moment I'm quite at a loss with cross-compiling using the NDK and Openembedded just didn't work at all..
Thanks a lot!
I would like to ask about cross-compiling existing x264 and libav sourcecode to an Android/ARMv7 target (I would like to link x264 against libav to be able to read H.264/AVC elementary streams with the cli version of x264).
I do have some experience in compiling that code on x86/x86_64 and MIPSEL (chinese Loongson-2f specifically) architectures in Linux with gcc/yasm, but I am a total noob, when it comes to cross-compiling unfortunately, I have only built the code sitting directly on the target system so far.
What I do have here, is a CentOS 6.0 x86_64 multilib Linux, GNU make and autoconf tools, latest Android SDK (probably not needed) and latest Android NDK toolchain (could be needed) as well as the yasm assembler to build the ARM assembler codepaths of libav and x264. I'm also able to fall back to pure C/C++ in case the asm stuff is impossible. I have found some guys having done the x264 alone using Google search, but info on how exactly they did it is quite scarce.
My primary target platform is Android 2.2 on a TI OMAP3 chipset with an ARM Cortex A8 processor that I believe has a hardware FPU, but no NEON SIMD extensions. I may also want to target slightly different hardware, but all using the ARMv7 instruction set basically.
I have also tried to set up an Openembedded Build environment (Using the Ångström distribution), but that failed quite miserably. After fixing many of the errors I encountered, I got to some pretty fatal errors I was unable to fix when building/compiling the environment itself.
So, if anyone has experience in cross-compiling libav/x264 or similar stuff like ffmpeg, preferrably to Android, I would greatly appreciate help in getting that done. At the moment I'm quite at a loss with cross-compiling using the NDK and Openembedded just didn't work at all..
Thanks a lot!