diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so new file mode 100755 index 000000000..a7ff28768 Binary files /dev/null and b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so differ diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so deleted file mode 100644 index 8bed2ae67..000000000 Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so and /dev/null differ diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so index f4eac816e..6407814bb 100644 Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so differ diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so index 630af9793..b8c65edce 100755 Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so differ diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so index 4c3ebbc5f..9c087a201 100755 Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so differ diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so index 998abe489..928cbd633 100755 Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so b/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so new file mode 100755 index 000000000..a7ff28768 Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so b/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so deleted file mode 100755 index c4e5d661a..000000000 Binary files a/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so and /dev/null differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so b/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so index 2893164e3..6407814bb 100755 Binary files a/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so and b/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so b/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so index f1c3265d4..b8c65edce 100755 Binary files a/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so and b/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so b/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so new file mode 100755 index 000000000..9c087a201 Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so differ diff --git a/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so b/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so new file mode 100755 index 000000000..928cbd633 Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so differ diff --git a/modules/androidcamera/camera_wrapper/android.3.0.1/README b/modules/androidcamera/camera_wrapper/android.3.0.1/README index 90634cff4..b6b26c315 100644 --- a/modules/androidcamera/camera_wrapper/android.3.0.1/README +++ b/modules/androidcamera/camera_wrapper/android.3.0.1/README @@ -5,4 +5,5 @@ Building camera wrapper for Android 3.0.1: 3) Get frameworks/base/include/gui/ISurfaceTexture.h and frameworks/base/include/gui/SurfaceTexture.h from Android 4.0.x (4.0.3 were used) sources and add them to your source tree. 4) Apply provided patch to the frameworks/base/include/gui/SurfaceTexture.h. 5) Pull /system/lib from your device running Andoid 3.x.x -6) Build wrapper as normal using this modified source tree. \ No newline at end of file +6) Edit /development/sdk/platform_source.properties file. Set Android version to 3.0.1. +7) Build wrapper as normal using this modified source tree. \ No newline at end of file diff --git a/modules/androidcamera/camera_wrapper/camera_wrapper.cpp b/modules/androidcamera/camera_wrapper/camera_wrapper.cpp index ec5f72cc2..f5a713fe1 100644 --- a/modules/androidcamera/camera_wrapper/camera_wrapper.cpp +++ b/modules/androidcamera/camera_wrapper/camera_wrapper.cpp @@ -1,4 +1,4 @@ -#if !defined(ANDROID_r2_2_2) && !defined(ANDROID_r2_3_3) && !defined(ANDROID_r3_0_1) && !defined(ANDROID_r4_0_0) && !defined(ANDROID_r4_0_3) +#if !defined(ANDROID_r2_2_0) && !defined(ANDROID_r2_3_3) && !defined(ANDROID_r3_0_1) && !defined(ANDROID_r4_0_0) && !defined(ANDROID_r4_0_3) # error Building camera wrapper for your version of Android is not supported by OpenCV. You need to modify OpenCV sources in order to compile camera wrapper for your version of Android. #endif @@ -227,7 +227,7 @@ CameraHandler* CameraHandler::initCameraConnect(const CameraCallback& callback, sp camera = 0; -#ifdef ANDROID_r2_2_2 +#ifdef ANDROID_r2_2_0 camera = Camera::connect(); #else /* This is 2.3 or higher. The connect method has cameraID parameter */ @@ -313,9 +313,19 @@ CameraHandler* CameraHandler::initCameraConnect(const CameraCallback& callback, } } + const char* available_focus_modes = handler->params.get(CameraParameters::KEY_SUPPORTED_FOCUS_MODES); + if (available_focus_modes != 0) + { + // find auto focus mode + if (strstr(available_focus_modes, "auto") != NULL) + { + handler->params.set(CameraParameters::KEY_FOCUS_MODE, CameraParameters::FOCUS_MODE_AUTO); + camera->autoFocus(); + } + } status_t pdstatus; -#if defined(ANDROID_r2_2_2) +#if defined(ANDROID_r2_2_0) pdstatus = camera->setPreviewDisplay(sp(0 /*new DummySurface*/)); if (pdstatus != 0) LOGE("initCameraConnect: failed setPreviewDisplay(0) call; camera migth not work correctly on some devices");