add code to detect missing NEON instructions

This commit is contained in:
Simon Morlat 2011-04-19 10:53:46 +02:00
parent 749c984e86
commit 47e2ef29c7
2 changed files with 17 additions and 4 deletions

View file

@ -86,6 +86,7 @@ LOCAL_LDLIBS += -llog -ldl
LOCAL_STATIC_LIBRARIES := \
cpufeatures \
libmediastreamer2 \
libortp \
libeXosip2 \
@ -130,3 +131,6 @@ endif
LOCAL_MODULE := liblinphone
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/cpufeatures)

View file

@ -21,6 +21,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "mediastreamer2/msjava.h"
#include <cpu-features.h>
#ifdef ANDROID
#include <android/log.h>
extern "C" void libmsilbc_init();
@ -1238,15 +1240,22 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_adjustSoftwareVolume(JNI
LinphoneCore *lc = (LinphoneCore *) ptr;
if (db == 0) {
linphone_core_set_playback_gain_db(lc, 0);
return;
linphone_core_set_playback_gain_db(lc, 0);
return;
}
float gain = linphone_core_get_playback_gain_db(lc) + db;
if (gain > 0) gain = 0;
float gain = linphone_core_get_playback_gain_db(lc) + db;
if (gain > 0) gain = 0;
linphone_core_set_playback_gain_db(lc, gain);
}
extern "C" jboolean Java_org_linphone_core_Version_nativeHasNeon(JNIEnv *env){
if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM && (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0)
{
return 1;
}
return 0;
}