support 16kb page sizes in android, fixes #1000 and #1012

development
Taner Sener 7 months ago
parent 8a7d51cc54
commit 913e5b78e4
  1. 9
      android/jni/Android.mk
  2. 4
      scripts/function-android.sh

@ -44,12 +44,19 @@ ifeq ($(TARGET_ARCH_ABI), x86_64)
MY_ARM_NEON := true MY_ARM_NEON := true
endif endif
ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
MY_LDFLAGS := -Wl,-z,max-page-size=16384
else ifeq ($(TARGET_ARCH_ABI),x86_64)
MY_LDFLAGS := -Wl,-z,max-page-size=16384
endif
include $(CLEAR_VARS) include $(CLEAR_VARS)
LOCAL_ARM_MODE := $(MY_ARM_MODE) LOCAL_ARM_MODE := $(MY_ARM_MODE)
LOCAL_MODULE := ffmpegkit_abidetect LOCAL_MODULE := ffmpegkit_abidetect
LOCAL_SRC_FILES := ffmpegkit_abidetect.c LOCAL_SRC_FILES := ffmpegkit_abidetect.c
LOCAL_CFLAGS := -Wall -Wextra -Werror -Wno-unused-parameter -DFFMPEG_KIT_${MY_ARCH_FLAGS} LOCAL_CFLAGS := -Wall -Wextra -Werror -Wno-unused-parameter -DFFMPEG_KIT_${MY_ARCH_FLAGS}
LOCAL_C_INCLUDES := $(FFMPEG_INCLUDES) LOCAL_C_INCLUDES := $(FFMPEG_INCLUDES)
LOCAL_LDFLAGS := $(MY_LDFLAGS)
LOCAL_LDLIBS := -llog -lz -landroid LOCAL_LDLIBS := -llog -lz -landroid
LOCAL_STATIC_LIBRARIES := cpu-features LOCAL_STATIC_LIBRARIES := cpu-features
LOCAL_ARM_NEON := ${MY_ARM_NEON} LOCAL_ARM_NEON := ${MY_ARM_NEON}
@ -71,6 +78,7 @@ ifeq ($(MY_ARMV7_NEON), true)
LOCAL_MODULE := ffmpegkit_armv7a_neon LOCAL_MODULE := ffmpegkit_armv7a_neon
LOCAL_SRC_FILES := $(MY_SRC_FILES) LOCAL_SRC_FILES := $(MY_SRC_FILES)
LOCAL_CFLAGS := $(MY_CFLAGS) LOCAL_CFLAGS := $(MY_CFLAGS)
LOCAL_LDFLAGS := $(MY_LDFLAGS)
LOCAL_LDLIBS := $(MY_LDLIBS) LOCAL_LDLIBS := $(MY_LDLIBS)
LOCAL_SHARED_LIBRARIES := libavcodec_neon libavfilter_neon libswscale_neon libavformat_neon libavutil_neon libswresample_neon libavdevice_neon LOCAL_SHARED_LIBRARIES := libavcodec_neon libavfilter_neon libswscale_neon libavformat_neon libavutil_neon libswresample_neon libavdevice_neon
ifeq ($(APP_STL), c++_shared) ifeq ($(APP_STL), c++_shared)
@ -93,6 +101,7 @@ ifeq ($(MY_BUILD_GENERIC_FFMPEG_KIT), true)
LOCAL_MODULE := ffmpegkit LOCAL_MODULE := ffmpegkit
LOCAL_SRC_FILES := $(MY_SRC_FILES) LOCAL_SRC_FILES := $(MY_SRC_FILES)
LOCAL_CFLAGS := $(MY_CFLAGS) LOCAL_CFLAGS := $(MY_CFLAGS)
LOCAL_LDFLAGS := $(MY_LDFLAGS)
LOCAL_LDLIBS := $(MY_LDLIBS) LOCAL_LDLIBS := $(MY_LDLIBS)
LOCAL_SHARED_LIBRARIES := libavfilter libavformat libavcodec libavutil libswresample libavdevice libswscale LOCAL_SHARED_LIBRARIES := libavfilter libavformat libavcodec libavutil libswresample libavdevice libswscale
ifeq ($(APP_STL), c++_shared) ifeq ($(APP_STL), c++_shared)

@ -483,13 +483,13 @@ get_arch_specific_ldflags() {
echo "-march=armv7-a -mfpu=neon -mfloat-abi=softfp -Wl,--fix-cortex-a8" echo "-march=armv7-a -mfpu=neon -mfloat-abi=softfp -Wl,--fix-cortex-a8"
;; ;;
arm64-v8a) arm64-v8a)
echo "-march=armv8-a" echo "-march=armv8-a -Wl,-z,max-page-size=16384"
;; ;;
x86) x86)
echo "-march=i686" echo "-march=i686"
;; ;;
x86-64) x86-64)
echo "-march=x86-64" echo "-march=x86-64 -Wl,-z,max-page-size=16384"
;; ;;
esac esac
} }

Loading…
Cancel
Save