ODROID XU4 ========== product: http://www.hardkernel.com/main/products/prdt_info.php distro : Ubuntu 12.04.5 uname : Linux odroid02 3.10.82 #1 SMP PREEMPT Wed Sep 2 19:59:44 BRT 2015 armv7l armv7l armv7l GNU/Linux gcc : 4.6.3-1ubuntu5 Prerequisites ============= Remove libav: $ apt-get remove libavcodec53 libavformat53 $ apt-get remove libswscale2 $ apt-get remove libavutil51 $ apt-get remove libavutil-dev libavcodec-dev libavformat-dev libswscale-dev Get a recent ffmpeg: ffmpeg-2.8.6 Review your CFLAGS: $ echo $CFLAGS And change/set accordingly: $ export CFLAGS="-mfpu=neon -march=armv7 -ftree-vectorize -mvectorize-with-neon-quad -O3" Build ffmpeg: $ ./configure --enable-shared --enable-nonfree --enable-neon --prefix=/usr $ make -j8 $ sudo make install Configuring veejay ================== WARNING: The system I used fails to detect the architecture: ======== ~/veejay/veejay-current/veejay-server$ ./cpuinfo.sh *** glibc detected *** gcc: double free or corruption (top): 0x00053f10 *** Aborted -march= Relevant line from configure output: > checking Architecture... unknown You can workarround this issue by giving the '--enable-neon' configure option. This will force the CFLAGS for ARM If you have set your own CFLAGS, they will be added to the default CFLAGS. You should clear your CFLAGS and use '--with-extra-cflags' if you wish to add additional compiler flags. If you do not specify the '--enable-neon' option, you should set your own CFLAGS in order to have an optimized build: $ export CFLAGS="-DHAVE_ARM_NEON=1 -mfpu=neon -march=armv7 -ftree-vectorize -mvectorize-with-neon-quad -O3" Next, run configure, make and make install: $ sh autogen.sh $ ./configure --enable-neon $ make -j8 $ sudo make install When you run veejay, you can see if NEON optimizations are built-in: > I: Using SIMD NEON optimized memcpy() TLDR: $ ./configure --enable-neon