Skip to content

Commit 67da0ac

Browse files
committed
Fix vp9 decoding on CPUs without i8mm
1 parent 7219634 commit 67da0ac

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

‎app/jni/gif.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ struct VideoInfo {
9898
avcodec_close(video_dec_ctx);
9999
#endif
100100
avcodec_free_context(&video_dec_ctx);
101+
video_dec_ctx = nullptr;
101102
}
102103
if (fmt_ctx) {
103104
avformat_close_input(&fmt_ctx);

‎scripts/private/build-vpx-impl.sh‎

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ pushd "$THIRDPARTY_LIBRARIES/libvpx"
3232
# the function itself
3333

3434
configure_abi() {
35+
CPUFEATURES_DIR="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION/sources/android/cpufeatures"
3536
CFLAGS_="-DANDROID -fpic -fpie"
3637
LDFLAGS_=""
3738
case ${FLAVOR} in
@@ -50,30 +51,29 @@ configure_abi() {
5051
ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION_PRIMARY
5152
TARGET="arm64-android-gcc"
5253
NDK_ABIARCH="aarch64-linux-android"
53-
CFLAGS="${CFLAGS_} -O3 -march=armv8-a"
54+
CFLAGS="${CFLAGS_} -O3 -march=armv8-a -I${CPUFEATURES_DIR}"
5455
LDFLAGS="${LDFLAGS_}"
5556
ASFLAGS=""
5657
CPU=arm64-v8a
57-
;;
58-
x86_64)
59-
ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION_PRIMARY
60-
TARGET="x86_64-android-gcc"
61-
NDK_ABIARCH="x86_64-linux-android"
62-
CFLAGS="${CFLAGS_} -O3 -march=x86-64 -msse4.2 -mpopcnt -m64 -fPIC"
63-
LDFLAGS=""
64-
ASFLAGS="-D__ANDROID__"
65-
CPU=x86_64
6658
;;
6759
armeabi-v7a)
6860
ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION_LEGACY
6961
TARGET="armv7-android-gcc --enable-neon --disable-neon-asm"
7062
NDK_ABIARCH="armv7a-linux-androideabi"
71-
CPUFEATURES_DIR="$ANDROID_SDK_ROOT/ndk/$ANDROID_NDK_VERSION/sources/android/cpufeatures"
7263
CFLAGS="${CFLAGS_} -Os -march=armv7-a -marm -mfloat-abi=softfp -mfpu=neon -mthumb -D__thumb__ -I${CPUFEATURES_DIR}"
7364
LDFLAGS="${LDFLAGS_}"
7465
ASFLAGS=""
7566
CPU=armv7-a
7667
;;
68+
x86_64)
69+
ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION_PRIMARY
70+
TARGET="x86_64-android-gcc"
71+
NDK_ABIARCH="x86_64-linux-android"
72+
CFLAGS="${CFLAGS_} -O3 -march=x86-64 -msse4.2 -mpopcnt -m64 -fPIC"
73+
LDFLAGS=""
74+
ASFLAGS="-D__ANDROID__"
75+
CPU=x86_64
76+
;;
7777
x86)
7878
ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION_LEGACY
7979
TARGET="x86-android-gcc"
@@ -134,9 +134,10 @@ configure_make() {
134134

135135
make clean || echo -e "[info] running configure for the first time"
136136

137-
CPU_DETECT="--disable-runtime-cpu-detect"
138-
if [[ $1 =~ x86.* || $1 =~ arm64-v8a ]]; then
137+
if [[ $ABI == "arm64-v8a" || $ABI == "armeabi-v7a" ]]; then
139138
CPU_DETECT="--enable-runtime-cpu-detect"
139+
else
140+
CPU_DETECT="--disable-runtime-cpu-detect"
140141
fi
141142

142143
./configure \
@@ -164,7 +165,7 @@ configure_make() {
164165
make -j"$CPU_COUNT" install
165166
}
166167

167-
for ABI in armeabi-v7a arm64-v8a x86 x86_64 ; do
168+
for ABI in arm64-v8a armeabi-v7a x86_64 x86 ; do
168169
for FLAVOR in latest lollipop legacy ; do
169170
if [[ "$FLAVOR" != "legacy" || $ABI == "armeabi-v7a" || $ABI == "x86" ]]; then
170171
echo -e "${STYLE_INFO}- libvpx build start: ${ABI} ${FLAVOR}${STYLE_END}"

‎version.properties‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version.major=0
44
# Anchor date point in app versioning
55
version.creation=873642600564
66
# Native bundle (/app/jni)
7-
version.jni=237.0.0
7+
version.jni=238.0.0
88
# LevelDB (/vkryl/leveldb)
99
version.leveldb=6.0.0
1010
# Emoji (/app/src/main/assets/emoji)

0 commit comments

Comments
 (0)