Linux下NDK編譯FFMPEG包含neon參數,ndkffmpeg

來源:互聯網
上載者:User

Linux下NDK編譯FFMPEG包含neon參數,ndkffmpeg

FFMPEG編譯成Android庫已經有很多案例了,編譯最佳化neon的也很多,以下是我通過實踐成功的案例,這裡主要講編譯的設定檔,其他設定可結合Linux下使用NDK編譯FFMPEG(libstagefright)進行配置。

config_android.sh

NDK=/opt/android/android-ndk-r9PLATFORM=$NDK/platforms/android-14/arch-arm/  PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64LOCAL_ARM_NEON=true  CPU=armv7-a  OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon"PREFIX=$(pwd)/android/$CPU./configure --target-os=linux \    --prefix=$PREFIX \    --enable-cross-compile \    --arch=arm \    --enable-nonfree \    --enable-asm \    --cpu=armv7-a \    --enable-neon \    --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="-fpic -DANDROID $OPTIMIZE_CFLAGS " \    --enable-shared \    --disable-static \    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -nostdlib -lc -lm -ldl -llog" \    --disable-ffmpeg \    --disable-ffplay \    --disable-ffprobe \    --disable-ffserver \    --enable-avformat \    --enable-avcodec \    --disable-optimizations \    --disable-debug \    --disable-doc \    --disable-stripping \    --enable-pthreads \    --disable-yasm \    --enable-zlib \    --enable-pic \    --enable-small

關鍵的幾個參數是

    --enable-asm \    --cpu=armv7-a \    --enable-neon \    --arch=arm \    --enable-cross-compile \    --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -nostdlib -lc -lm -ldl -llog" \
  --extra-cflags="-fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp -I$NDKROOT/platforms/android-9/arch-arm/usr/include" \

有一篇部落格的參數"--extra-ldflags"是一大串的,而且還很多人copy,不知道他們是不是真的都成功了,反正我是沒成功

--extra-ldflags="-Wl,-T,$PREBUILT/arm-linux-androideabi/lib/ldscripts/armelf_linux_eabi.x -Wl,-rpath-link=$NDKROOT/platforms/android-9/arch-arm/usr/lib -L$NDKROOT/platforms/android-9/arch-arm/usr/lib -nostdlib $PREBUILT/lib/gcc/arm-linux-androideabi/4.6/crtbegin.o $PREBUILT/lib/gcc/arm-linux-androideabi/4.6/crtend.o -lc -lm -ldl"

把黃色背景這部分去掉就可以了,也沒弄懂這部分是幹嘛用的,如果有知道的大神,有不嗇這一點時間的,請留言指點一下,先收下我的膝蓋!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.