#!/bin/bash NDK_ROOT=d:/ndk-r7 PREBUILT=${NDK_ROOT}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows PLATFORM=${NDK_ROOT}/platforms/android-9/arch-arm function build_one { ./configure \ --target-os=linux \ --prefix=../ffmpeg-build/armeabi \ --enable-cross-compile \ --extra-libs=-lgcc \ --arch=arm \ --disable-shared \ --enable-static \ --disable-everything \ --disable-encoders \ --disable-decoders \ --disable-muxers \ --disable-avdevice \ --disable-avfilter \ --disable-demuxers \ --disable-debug \ --enable-logging \ --enable-runtime-cpudetect \ --disable-libvo-aacenc \ --enable-protocol=tcp \ --enable-hwaccel=h264_vaapi \ --enable-hwaccel=h264_vaapi \ --disable-hwaccel=h264_dxva2 \ --enable-demuxer=h264 \ --enable-decoder=h264 \ --enable-parser=h264 \ --enable-decoder=aac \ --enable-hwaccels \ --enable-avformat \ --enable-avcodec \ --enable-avresample \ --enable-zlib \ --disable-doc \ --disable-ffplay \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --enable-nonfree \ --enable-version3 \ --enable-memalign-hack \ --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \ --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \ --nm=$PREBUILT/bin/arm-linux-androideabi-nm \ --sysroot=$PLATFORM/ \ --extra-cflags=' -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -marm -march=armv5 -I../ffmpeg-build/armeabi/include -IC:/cygwin/usr/local/include ' \ --extra-ldflags='-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -L../ffmpeg-build/armeabi/lib -LC:/cygwin/usr/local/lib' $ADDITIONAL_CONFIGURE_FLAG sed -i 's/HAVE_LRINT 0/HAVE_LRINT 1/g' config.h sed -i 's/HAVE_LRINTF 0/HAVE_LRINTF 1/g' config.h sed -i 's/HAVE_ROUND 0/HAVE_ROUND 1/g' config.h sed -i 's/HAVE_ROUNDF 0/HAVE_ROUNDF 1/g' config.h sed -i 's/HAVE_TRUNC 0/HAVE_TRUNC 1/g' config.h sed -i 's/HAVE_TRUNCF 0/HAVE_TRUNCF 1/g' config.h sed -i 's/HAVE_ATANF 0/HAVE_ATANF 1/g' config.h sed -i 's/HAVE_ATAN2F 0/HAVE_ATAN2F 1/g' config.h sed -i 's/HAVE_ARMV5TE 0/HAVE_ARMV5TE 1/g' config.h sed -i 's/HAVE_PTHREADS 0/HAVE_PTHREADS 1/g' config.h sed -i 's/HAVE_LOCALTIME_R 0/HAVE_LOCALTIME_R 1/g' config.h sed -i 's/HAVE_CLOCK_GETTIME 0/HAVE_CLOCK_GETTIME 1/g' config.h sed -i 's/HAVE_GETTIMEOFDAY 0/HAVE_GETTIMEOFDAY 1/g' config.h ndk-build APP_ABI=armeabi -B #make clean #make -j4 install #$PREBUILT/bin/i686-android-linux-ar d libavcodec/libavcodec.a inverse.o #$PREBUILT/bin/i686-android-linux-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z, -lc -lm -lz -ldl -llog -noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/i686-android-linux/4.4.3/libgcc.a } #x86 #CPU=i686 #OPTIMIZE_CFLAGS="-march=$CPU" #PREFIX=../libs/x86 #ADDITIONAL_CONFIGURE_FLAG= #build_one #arm v6 CPU=armv5 OPTIMIZE_CFLAGS="-marm -march=$CPU" PREFIX=../libs/$CPU ADDITIONAL_CONFIGURE_FLAG= build_one #arm v7vfpv3 #CPU=armv7-a #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU " #PREFIX=../libs/$CPU #ADDITIONAL_CONFIGURE_FLAG= #build_one #arm v7vfp #CPU=armv7-a #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU " #PREFIX=../libs/$CPU-vfp #ADDITIONAL_CONFIGURE_FLAG= #build_one #arm v7n #CPU=armv7-a #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8" #PREFIX=../libs/$CPU #ADDITIONAL_CONFIGURE_FLAG=--enable-neon #build_one #arm v6+vfp #CPU=armv6 #OPTIMIZE_CFLAGS="-DCMP_HAVE_VFP -mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU" #PREFIX=../libs/${CPU}_vfp #ADDITIONAL_CONFIGURE_FLAG= #build_one
|
|
來(lái)自: 傳真閱覽室 > 《多媒體開(kāi)發(fā)篇》