Ticket #1309: build-arm-neon.sh

File build-arm-neon.sh, 1.9 KB (added by kyh96403, 4 years ago)
Line 
1#!/bin/sh
2
3trap exit ERR
4
5LIB_DIR=arm-neon
6FFMPEG_DIR=ffmpeg-$LIB_DIR
7SCRIPT_DIR=$( (cd -P $(dirname $0) && pwd) )
8
9rm -rf $FFMPEG_DIR
10mkdir $FFMPEG_DIR
11cd $FFMPEG_DIR
12mkdir -p dist
13
14NDK=D:/android/android-ndk
15SYSROOT=$NDK/platforms/android-14/arch-arm
16
17FLAGS="--prefix="dist" --cross-prefix=arm-linux-androideabi- --enable-cross-compile --target-os=linux"
18FLAGS="$FLAGS --arch=arm --enable-neon --enable-thumb " # --enable-thumb
19FLAGS="$FLAGS --enable-asm --disable-debug --enable-optimizations --enable-pthreads"
20FLAGS="$FLAGS --disable-ffserver --disable-ffmpeg --disable-ffprobe --disable-encoders --disable-muxers --disable-avdevice --disable-hwaccels "
21FLAGS="$FLAGS --enable-swscale --enable-encoder=flv,mpeg4,aac"
22
23EXTRA_CFLAGS="-DANDROID -O3 -fasm -ffast-math -mthumb" # -marm -mthumb -fpic
24EXTRA_CFLAGS="$EXTRA_CFLAGS -ftree-vectorize -mvectorize-with-neon-quad"
25EXTRA_CFLAGS="$EXTRA_CFLAGS -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon --sysroot=$SYSROOT"
26
27EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 --sysroot=$SYSROOT"
28
29EXTRA_CXXFLAGS="-Wno-multichar -fno-exceptions -fno-rtti"
30
31echo "FLAGS: $FLAGS --extra-cflags=$EXTRA_CFLAGS --extra-ldflags=$EXTRA_LDFLAGS --extra-cxxflags=$EXTRA_CXXFLAGS "
32
33../../ffmpeg/configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" --extra-cxxflags="$EXTRA_CXXFLAGS" 
34
35make clean
36make -j4
37
38cd ..
39# arm-linux-androideabi-gcc -shared -I../ffmpeg -I$FFMPEG_DIR -o FFmpeg.so FFmpeg.c $FFMPEG_DIR/libswscale/libswscale.a $FFMPEG_DIR/libavformat/libavformat.a $FFMPEG_DIR/libavcodec/libavcodec.a $FFMPEG_DIR/libavutil/libavutil.a -lz --sysroot=$SYSROOT
40# arm-linux-androideabi-strip FFmpeg.so
41
42rm -rf $LIB_DIR
43mkdir $LIB_DIR
44cp $FFMPEG_DIR/libavcodec/*.a $LIB_DIR
45cp $FFMPEG_DIR/libavformat/*.a $LIB_DIR
46cp $FFMPEG_DIR/libavutil/*.a $LIB_DIR
47cp $FFMPEG_DIR/libswscale/*.a $LIB_DIR
48cp $FFMPEG_DIR/libswresample/*.a $LIB_DIR
49
50echo "Installed: $FFMPEG_DIR/dist"