From 5afbeec92b6fa375c42ddf4a81a7faa13e17a049 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 23 May 2012 17:38:16 +0200 Subject: [PATCH] Updated libs compilation --- .../core/LinphoneCoreFactoryImpl.java | 27 ++++++----- .../externals/build/ffmpeg-no-neon/Android.mk | 3 -- .../ffmpeg-no-neon/Android_libavcodec.mk | 2 +- .../build/ffmpeg-no-neon/Android_libavcore.mk | 27 ----------- .../build/ffmpeg-no-neon/Android_libavutil.mk | 45 ------------------- .../ffmpeg-no-neon/Android_libswscale.mk | 26 ----------- submodules/linphone | 2 +- 7 files changed, 17 insertions(+), 115 deletions(-) delete mode 100644 submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk delete mode 100755 submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk delete mode 100755 submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk diff --git a/src/org/linphone/core/LinphoneCoreFactoryImpl.java b/src/org/linphone/core/LinphoneCoreFactoryImpl.java index 8cc721e90..baed45873 100644 --- a/src/org/linphone/core/LinphoneCoreFactoryImpl.java +++ b/src/org/linphone/core/LinphoneCoreFactoryImpl.java @@ -40,22 +40,16 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory { static { // FFMPEG (audio/video) + loadOptionalLibrary("avutil"); + loadOptionalLibrary("swscale"); + loadOptionalLibrary("avcore"); + if (!hasNeonInCpuFeatures()) { - boolean noNeonLibrariesLoaded = true; - noNeonLibrariesLoaded = noNeonLibrariesLoaded && loadOptionalLibrary("avutilnoneon"); - noNeonLibrariesLoaded = noNeonLibrariesLoaded && loadOptionalLibrary("swscalenoneon"); - noNeonLibrariesLoaded = noNeonLibrariesLoaded && loadOptionalLibrary("avcorenoneon"); - noNeonLibrariesLoaded = noNeonLibrariesLoaded && loadOptionalLibrary("avcodecnoneon"); + boolean noNeonLibrariesLoaded = loadOptionalLibrary("avcodecnoneon"); if (!noNeonLibrariesLoaded) { - loadOptionalLibrary("avutil"); - loadOptionalLibrary("swscale"); - loadOptionalLibrary("avcore"); loadOptionalLibrary("avcodec"); } } else { - loadOptionalLibrary("avutil"); - loadOptionalLibrary("swscale"); - loadOptionalLibrary("avcore"); loadOptionalLibrary("avcodec"); } @@ -77,7 +71,11 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory { //Main library if (!hasNeonInCpuFeatures()) { try { - System.loadLibrary("linphonenoneon"); + if (isArmv5()) { + System.loadLibrary("linphonearmv5"); + } else { + System.loadLibrary("linphonenoneon"); + } Log.w("linphone", "No-neon liblinphone loaded"); } catch (UnsatisfiedLinkError ule) { Log.w("linphone", "Failed to load no-neon liblinphone, loading neon liblinphone"); @@ -176,4 +174,9 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory { } return result; } + + public static boolean isArmv5() + { + return System.getProperty("os.arch").contains("armv5"); + } } diff --git a/submodules/externals/build/ffmpeg-no-neon/Android.mk b/submodules/externals/build/ffmpeg-no-neon/Android.mk index 18ab5addd..8ffaf9823 100755 --- a/submodules/externals/build/ffmpeg-no-neon/Android.mk +++ b/submodules/externals/build/ffmpeg-no-neon/Android.mk @@ -1,4 +1 @@ -include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk -include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk -include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk diff --git a/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk b/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk index 987b79d1f..9e6687e1f 100755 --- a/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk +++ b/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk @@ -103,7 +103,7 @@ LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/ \ $(LOCAL_PATH)/libavutil -LOCAL_SHARED_LIBRARIES := libavutilnoneon libavcorenoneon +LOCAL_SHARED_LIBRARIES := libavutil libavcore include $(BUILD_SHARED_LIBRARY) diff --git a/submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk b/submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk deleted file mode 100644 index 6d71bca3f..000000000 --- a/submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk +++ /dev/null @@ -1,27 +0,0 @@ - -LOCAL_PATH:= $(call my-dir)/../../ffmpeg/ -include $(CLEAR_VARS) - -LOCAL_MODULE := libavcorenoneon - - -LOCAL_SRC_FILES := \ - libavcore/imgutils.c \ - libavcore/parseutils.c \ - libavcore/utils.c - -# libavcore/samplefmt.c \ -# libavcore/audioconvert.c - - -LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H - - - -#for including config.h: -LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg-no-neon $(LOCAL_PATH)/ - -LOCAL_SHARED_LIBRARIES := libavutilnoneon - -include $(BUILD_SHARED_LIBRARY) - diff --git a/submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk b/submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk deleted file mode 100755 index 85ad51558..000000000 --- a/submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk +++ /dev/null @@ -1,45 +0,0 @@ - -LOCAL_PATH:= $(call my-dir)/../../ffmpeg/ -include $(CLEAR_VARS) - -LOCAL_MODULE := libavutilnoneon - - -LOCAL_SRC_FILES = \ - libavutil/adler32.c \ - libavutil/aes.c \ - libavutil/arm/cpu.c \ - libavutil/avstring.c \ - libavutil/base64.c \ - libavutil/cpu.c \ - libavutil/crc.c \ - libavutil/des.c \ - libavutil/error.c \ - libavutil/eval.c \ - libavutil/fifo.c \ - libavutil/intfloat_readwrite.c \ - libavutil/inverse.c \ - libavutil/lfg.c \ - libavutil/lls.c \ - libavutil/log.c \ - libavutil/lzo.c \ - libavutil/mathematics.c \ - libavutil/md5.c \ - libavutil/mem.c \ - libavutil/opt.c \ - libavutil/pixdesc.c \ - libavutil/random_seed.c \ - libavutil/rational.c \ - libavutil/rc4.c \ - libavutil/sha.c \ - libavutil/tree.c \ - libavutil/utils.c - -LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H - -LOCAL_ARM_MODE := arm - -#for including config.h: -LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg-no-neon $(LOCAL_PATH)/ -include $(BUILD_SHARED_LIBRARY) - diff --git a/submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk b/submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk deleted file mode 100755 index 21c5c7219..000000000 --- a/submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk +++ /dev/null @@ -1,26 +0,0 @@ -##lib swcale################### -LOCAL_PATH:= $(call my-dir)/../../ffmpeg/libswscale/ -include $(CLEAR_VARS) - -LOCAL_MODULE := libswscalenoneon - -LOCAL_SRC_FILES = \ - options.c \ - rgb2rgb.c \ - swscale.c \ - utils.c \ - yuv2rgb.c - -LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H - -LOCAL_ARM_MODE := arm - -#for including config.h: -LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../build/ffmpeg-no-neon \ - $(LOCAL_PATH)/ \ - $(LOCAL_PATH)/../ - -LOCAL_SHARED_LIBRARIES := libavutilnoneon - -include $(BUILD_SHARED_LIBRARY) - diff --git a/submodules/linphone b/submodules/linphone index c6a6de60d..e44d9f334 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c6a6de60dbab77fbf6246551f36858df63daade6 +Subproject commit e44d9f334f949f60d0692cdf433a2f6c2d722275