20 #include "cpu-features.h" 40 if ((*vm)->GetEnv(vm, (
void**) &env, JNI_VERSION_1_6) != JNI_OK) {
46 if (abiDetectClass == NULL) {
56 return JNI_VERSION_1_6;
67 AndroidCpuFamily family = android_getCpuFamily();
69 if (family == ANDROID_CPU_FAMILY_ARM) {
70 uint64_t features = android_getCpuFeatures();
72 if (features & ANDROID_CPU_ARM_FEATURE_ARMv7) {
73 if (features & ANDROID_CPU_ARM_FEATURE_NEON) {
79 return (*env)->NewStringUTF(env,
ABI_ARM);
82 }
else if (family == ANDROID_CPU_FAMILY_ARM64) {
84 }
else if (family == ANDROID_CPU_FAMILY_X86) {
85 return (*env)->NewStringUTF(env,
ABI_X86);
86 }
else if (family == ANDROID_CPU_FAMILY_X86_64) {
JNIEXPORT jstring JNICALL Java_com_arthenica_mobileffmpeg_AbiDetect_getAbi(JNIEnv *env, jclass object)
const char * abiDetectClassName
JNINativeMethod abiDetectMethods[]
jint JNI_OnLoad(JavaVM *vm, void *reserved)