From cb1fe2677d70f398f715374c66a9726a009647d0 Mon Sep 17 00:00:00 2001 From: athurh Date: Sat, 7 Jul 2012 22:11:22 +0200 Subject: n7000: camera: add ISO support Change-Id: I175d720ded59c356eeafd35d48d2f18faaece975 --- BoardConfig.mk | 3 +++ camera/CameraWrapper.cpp | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/BoardConfig.mk b/BoardConfig.mk index 0c5dbf6..b6ab57b 100755 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -96,6 +96,9 @@ BOARD_MOBILEDATA_INTERFACE_NAME := "pdp0" #BOARD_GLOBAL_CFLAGS += -DHAVE_FM_RADIO #BOARD_FM_DEVICE := si4709 +# Camera +COMMON_GLOBAL_CFLAGS += -DSAMSUNG_CAMERA_HARDWARE + # WiFi (BCM4330) BOARD_WLAN_DEVICE := bcmdhd BOARD_WLAN_DEVICE_REV := bcm4330_b1 diff --git a/camera/CameraWrapper.cpp b/camera/CameraWrapper.cpp index a605b08..9154216 100644 --- a/camera/CameraWrapper.cpp +++ b/camera/CameraWrapper.cpp @@ -96,6 +96,8 @@ const static char * video_preview_sizes[] = { "640x480,352x288,320x240,176x144" }; +const static char * iso_values[] = {"auto,ISO50,ISO100,ISO200,ISO400,ISO800","auto"}; + static char * camera_fixup_getparams(int id, const char * settings) { android::CameraParameters params; @@ -110,6 +112,8 @@ static char * camera_fixup_getparams(int id, const char * settings) params.set(android::CameraParameters::KEY_PREVIEW_SIZE, videoSize); } + params.set(android::CameraParameters::KEY_SUPPORTED_ISO_MODES, iso_values[id]); + android::String8 strParams = params.flatten(); char *ret = strdup(strParams.string()); @@ -129,6 +133,20 @@ char * camera_fixup_setparams(int id, const char * settings) params.set(android::CameraParameters::KEY_SUPPORTED_VIDEO_SIZES, video_preview_sizes[id]); } + if(params.get("iso")) { + const char* isoMode = params.get(android::CameraParameters::KEY_ISO_MODE); + if(strcmp(isoMode, "ISO50") == 0) + params.set(android::CameraParameters::KEY_ISO_MODE, "50"); + else if(strcmp(isoMode, "ISO100") == 0) + params.set(android::CameraParameters::KEY_ISO_MODE, "100"); + else if(strcmp(isoMode, "ISO200") == 0) + params.set(android::CameraParameters::KEY_ISO_MODE, "200"); + else if(strcmp(isoMode, "ISO400") == 0) + params.set(android::CameraParameters::KEY_ISO_MODE, "400"); + else if(strcmp(isoMode, "ISO800") == 0) + params.set(android::CameraParameters::KEY_ISO_MODE, "800"); + } + android::String8 strParams = params.flatten(); char *ret = strdup(strParams.string()); -- cgit v1.1