mac下 ffmpeg 编译到android平台(支持 frei0r)

来源:互联网 发布:期货配资软件 编辑:程序博客网 时间:2024/05/18 15:24
#!/bin/bash# set the base path to your Android NDK (or export NDK to environment)if [[ "x$NDK_BASE" == "x" ]]; then    NDK_BASE=/Users/zd/androidStudio/ndk/android-ndk-r10e    echo "No NDK_BASE set, using $NDK_BASE"fi#编译外部文件临时目录#export TMPDIR=/usr/local/include #默认目录 tmpNDK_PLATFORM_VERSION=16NDK_ABI=armNDK_COMPILER_VERSION=4.9NDK_SYSROOT=$NDK_BASE/platforms/android-$NDK_PLATFORM_VERSION/arch-$NDK_ABINDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'` # Convert Linux -> linuxHOST=$NDK_ABI-linux-androideabiNDK_TOOLCHAIN_BASE=$NDK_BASE/toolchains/$HOST-$NDK_COMPILER_VERSION/prebuilt/$NDK_UNAME-x86_64CC="$NDK_TOOLCHAIN_BASE/bin/$HOST-gcc --sysroot=$NDK_SYSROOT"LD=$NDK_TOOLCHAIN_BASE/bin/$HOST-ldBUILD_PATH=/Users/zd/Desktop/ffmpeg-2.8.4./configure \$DEBUG_FLAG \--arch=arm \--target-os=linux \--enable-runtime-cpudetect \--enable-pic \--enable-frei0r \--enable-filter=frei0r \--enable-gpl \--disable-shared \--enable-static \--cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \--sysroot="$NDK_SYSROOT" \--extra-cflags="-pie -fPIE -march=armv6 -L/usr/local/include -L/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/include" \--extra-ldflags="-pie -fPIE -L/usr/local/lib -L/usr/local/lib -L/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/lib" \--enable-ffmpeg \--enable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-network \--enable-decoder=h264 \--enable-decoder=aac \--enable-vdpau \--enable-decoder=h264_vdpau \--enable-parser=h264 \--enable-version3 \--enable-w32threads \--enable-libx264 \--enable-encoder=libx264 \--enable-yasm \--enable-small \





#添加了cflags 和 ldflags 的路径 libx264路径找到安装/usr/local/include已经变移到系统 frei0r:/Users/zd/androidStudio/ndk/android-ndk-r10e/platforms/android-16/arch-arm/usr/include 头文件丢到了里面
 
#单独执行frei0r的 configure文件后把里面的frei0r.h文件放入ndk对应的platforms api ex:android-ndk-r10e/platforms/android-16/arch-arm/usr/include下面 这里的android版本与 上面 NDK_PLATFORM_VERSION 对应
#并且 此目录下的math.h文件下函数后缀  __NDK_FPABI_MATH __pure2去掉了
#makefile 的文件加入了pie
#only position independent executables (PIE) are supported
#LOCAL_CFLAGS += -pie -fPIE
#LOCAL_LDFLAGS += -pie -fPIE
#libx264 ./configure  --enable-static
#在   /ffmpeg/libavfilter/下的 vf_frei0r.c 里面的frei0r_init函数包含外部滤镜引入路径 名称:frei0r_pathlist
#修改这个替换so文件所在路径



ps:作为后期学习资料,不喜勿喷

0 0
原创粉丝点击