Skip to content

Commit c158f9f

Browse files
committed
android enable neon only arm archs
1 parent 93a1ef9 commit c158f9f

File tree

3 files changed

+54
-56
lines changed

3 files changed

+54
-56
lines changed

configs/ffconfig/auto-detect-third-libs.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,13 @@ case "$MR_PLAT" in
232232
# disable iconv
233233
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-iconv"
234234
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-bzlib"
235-
if [[ "$MR_ARCH" == "armv7a" || "$MR_ARCH" == "arm64" ]]; then
236-
# enable asm
237-
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --enable-neon"
238-
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --enable-asm --enable-inline-asm"
239-
else
240-
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-neon"
241-
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-asm --disable-inline-asm"
242-
fi
235+
if [[ "$MR_ARCH" == "armv7a" || "$MR_ARCH" == "arm64" ]]; then
236+
# enable asm
237+
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --enable-neon"
238+
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --enable-asm --enable-inline-asm"
239+
else
240+
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-neon"
241+
THIRD_CFG_FLAGS="$THIRD_CFG_FLAGS --disable-asm --disable-inline-asm"
242+
fi
243243
;;
244244
esac

do-compile/android/ijkffmpeg.sh

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ trap 'error_handler' ERR
3030
THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
3131
cd "$THIS_DIR"
3232

33+
FFMPEG_CFG_FLAGS=
34+
FFMPEG_EXTRA_CFLAGS=
3335
export COMMON_FF_CFG_FLAGS=
3436
# use ijk ffmpeg config options
3537
source $MR_SHELL_CONFIGS_DIR/ijk-ffmpeg-config/module.sh
36-
37-
FFMPEG_CFG_FLAGS=
3838
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $COMMON_FF_CFG_FLAGS"
3939

4040
# Advanced options (experts only):
@@ -50,42 +50,39 @@ FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --arch=$MR_FF_ARCH"
5050
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --target-os=$MR_TAGET_OS"
5151
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-static"
5252
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-shared"
53-
# FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --pkg-config-flags=--static"
54-
FFMPEG_EXTRA_CFLAGS=
53+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --pkg-config-flags=--static"
5554

56-
# i386, x86_64
57-
FFMPEG_CFG_FLAGS_SIMULATOR=
58-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-asm"
59-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-mmx"
60-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --assert-level=2"
55+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-pic"
6156

62-
# armv7, armv7s, arm64
63-
FFMPEG_CFG_FLAGS_ARM=
64-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic"
65-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon"
6657
case "$MR_DEBUG" in
6758
debug)
68-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-optimizations"
69-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
70-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-small"
59+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-optimizations"
60+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-debug"
61+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-small"
7162
;;
7263
*)
73-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-optimizations"
74-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
75-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-small"
64+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-optimizations"
65+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-debug"
66+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-small"
7667
;;
7768
esac
7869

70+
if [[ "$MR_ARCH" == "armv7a" || "$MR_ARCH" == "arm64" ]]; then
71+
# enable asm
72+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-neon"
73+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-asm --enable-inline-asm"
74+
else
75+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-neon"
76+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-asm --disable-inline-asm"
77+
78+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-mmx"
79+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --assert-level=2"
80+
fi
81+
7982
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --prefix=$MR_BUILD_PREFIX"
8083

8184
FFMPEG_CFLAGS="$MR_DEFAULT_CFLAGS"
8285
FFMPEG_LDFLAGS="$FFMPEG_CFLAGS"
83-
FFMPEG_DEP_LIBS=
84-
85-
# libavformat/tls_openssl.c:56:16: error: use of undeclared identifier 'CRYPTO_LOCK'; did you mean 'CRYPTO_free'?
86-
# if (mode & CRYPTO_LOCK)
87-
# ^~~~~~~~~~~
88-
# CRYPTO_free
8986

9087
pkg-config --libs openssl --silence-errors >/dev/null && enable_openssl=1
9188

@@ -118,7 +115,6 @@ else
118115
echo "CC: $MR_TRIPLE_CC"
119116
echo "CFLAGS: $FFMPEG_CFLAGS"
120117
echo "LDFLAG:$FFMPEG_LDFLAGS"
121-
echo "DEP_LIBS: $FFMPEG_DEP_LIBS"
122118
echo "FF_CFG_FLAGS: $FFMPEG_CFG_FLAGS"
123119
echo
124120

@@ -133,7 +129,7 @@ else
133129
--ranlib=${MR_RANLIB} \
134130
--extra-cflags="$FFMPEG_CFLAGS" \
135131
--extra-cxxflags="$FFMPEG_CFLAGS" \
136-
--extra-ldflags="$FFMPEG_LDFLAGS $FFMPEG_DEP_LIBS"
132+
--extra-ldflags="$FFMPEG_LDFLAGS"
137133
fi
138134

139135
#--------------------

do-compile/apple/ijkffmpeg.sh

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ trap 'error_handler' ERR
3030
THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
3131
cd "$THIS_DIR"
3232

33+
FFMPEG_CFG_FLAGS=
34+
FFMPEG_EXTRA_CFLAGS=
3335
export COMMON_FF_CFG_FLAGS=
3436
# use ijk ffmpeg config options
3537
source $MR_SHELL_CONFIGS_DIR/ijk-ffmpeg-config/module.sh
36-
37-
FFMPEG_CFG_FLAGS=
3838
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $COMMON_FF_CFG_FLAGS"
3939

4040
# Advanced options (experts only):
@@ -50,36 +50,39 @@ FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --arch=$MR_FF_ARCH"
5050
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --target-os=$MR_TAGET_OS"
5151
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-static"
5252
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-shared"
53-
FFMPEG_EXTRA_CFLAGS=
53+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --pkg-config-flags=--static"
5454

55-
# i386, x86_64
56-
FFMPEG_CFG_FLAGS_SIMULATOR=
57-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-asm"
58-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-mmx"
59-
FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --assert-level=2"
55+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-pic"
6056

61-
# armv7, armv7s, arm64
62-
FFMPEG_CFG_FLAGS_ARM=
63-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic"
64-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon"
6557
case "$MR_DEBUG" in
6658
debug)
67-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-optimizations"
68-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
69-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-small"
59+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-optimizations"
60+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-debug"
61+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-small"
7062
;;
7163
*)
72-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-optimizations"
73-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
74-
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-small"
64+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-optimizations"
65+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-debug"
66+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-small"
7567
;;
7668
esac
7769

70+
if [[ "$MR_ARCH" == "armv7a" || "$MR_ARCH" == "arm64" ]]; then
71+
# enable asm
72+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-neon"
73+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-asm --enable-inline-asm"
74+
else
75+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-neon"
76+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-asm --disable-inline-asm"
77+
78+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-mmx"
79+
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --assert-level=2"
80+
fi
81+
7882
FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --prefix=$MR_BUILD_PREFIX"
7983

8084
FFMPEG_CFLAGS="$MR_DEFAULT_CFLAGS"
8185
FFMPEG_LDFLAGS="$FFMPEG_CFLAGS"
82-
FFMPEG_DEP_LIBS=
8386

8487
pkg-config --libs openssl --silence-errors >/dev/null && enable_openssl=1
8588

@@ -120,8 +123,7 @@ else
120123
--as="perl ${MR_GAS_PERL} -arch ${MR_ARCH} -- $MR_CC" \
121124
--extra-cflags="$FFMPEG_CFLAGS" \
122125
--extra-cxxflags="$FFMPEG_CFLAGS" \
123-
--extra-ldflags="$FFMPEG_LDFLAGS $FFMPEG_DEP_LIBS"
124-
make clean
126+
--extra-ldflags="$FFMPEG_LDFLAGS"
125127
fi
126128

127129
#--------------------

0 commit comments

Comments
 (0)