I managed to compile/build the ffmpeg for the iOS arm32 version. But it crashed
when I play bitstreams containing the aac and H.264 raw bitstreams.
I found that the neon float instruction is the reason, so I disable all neon
float assembly code and the ffmpeg succeed to play the aac and H.264 bitstream.
What is the reason? How can I succeed to use the neon float instruction
assembly code?
My configuration is as follows:
FFMPEG_FLAGS="$FFMPEG_FLAGS_IOS"
PLATFORM="iPhoneOS"
EXTRA_CONFIG="--cpu=cortex-a8 --enable-cross-compile --disable-debug
--disable-programs --disable-doc --arch=arm --target-os=darwin
--disable-armv5te"
EXTRA_CFLAGS="-w -arch ${ARCH} -mfpu=neon -marm"
EXTRA_LDFLAGS="-mfpu=neon"
./configure $FFMPEG_FLAGS --prefix="${INTERDIR}/${ARCH}"
--disable-armv6 --disable-armv6t2
--sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"
--cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
--as='gas-preprocessor.pl
/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang'
--extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${MIN_IPHONE_VERSION}
-I${OUTPUTDIR}/include -I $SOURCE/include/ios" --extra-ldflags="-arch ${ARCH}
${EXTRA_LDFLAGS} -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk
-miphoneos-version-min=${MIN_IPHONE_VERSION} -L${OUTPUTDIR}/lib -L
$SOURCE/lib/ios" ${EXTRA_CONFIG} --enable-pic --extra-cxxflags="$CPPFLAGS
-I${OUTPUTDIR}/include -isysroot
${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"
--extra-cflags="-I/Users/iqiyi/local/opencore-amr/ios/${ARCH}/include"
--extra-ldflags="-L/Users/iqiyi/local/opencore-amr/ios/${ARCH}/lib"
--extra-cflags="-fembed-bitcode"
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel