diff options
| author | Ethan Chen <intervigil@gmail.com> | 2014-04-27 21:51:41 -0700 |
|---|---|---|
| committer | Zips <hcolmenares@gmail.com> | 2014-08-22 09:44:53 -0400 |
| commit | e9e46b83f261ab7648ce6150e7f342d30028d2eb (patch) | |
| tree | 502330cb94dbc896e09c08106f6c818579dc9d57 | |
| parent | 0543f5a8d67a0f7650a611f065b1106c9900328f (diff) | |
n1: Update camera wrapper to use newer slow shutter parameter
Change-Id: If5259ec26ef8430a15aa220ec5162fc4c64f774e
| -rw-r--r-- | camera/CameraWrapper.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/camera/CameraWrapper.cpp b/camera/CameraWrapper.cpp index 66ea602..3b29bf9 100644 --- a/camera/CameraWrapper.cpp +++ b/camera/CameraWrapper.cpp @@ -90,8 +90,14 @@ static int check_vendor_module() return rv; } +static const char *KEY_SLOW_SHUTTER = "slow-shutter"; +static const char *KEY_EXPOSURE_TIME = "exposure-time"; +static const char *KEY_EXPOSURE_TIME_VALUES = "exposure-time-values"; + static char *camera_fixup_getparams(int id, const char *settings) { + const char *exposureTimeValues = "0,1,500000,1000000,2000000,4000000,8000000"; + const char *slowShutter = "slow-shutter-off"; bool videoMode = false; android::CameraParameters params; @@ -106,6 +112,10 @@ static char *camera_fixup_getparams(int id, const char *settings) videoMode = (!strcmp(params.get(android::CameraParameters::KEY_RECORDING_HINT), "true")); } + if (params.get(KEY_SLOW_SHUTTER)) { + slowShutter = params.get(KEY_SLOW_SHUTTER); + } + /* Blatantly lie to userspace to pass CTS */ params.set(android::CameraParameters::KEY_PREVIEW_FPS_RANGE, "5000,60000"); params.set(android::CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE, "(5000,60000)"); @@ -126,6 +136,24 @@ static char *camera_fixup_getparams(int id, const char *settings) android::CameraParameters::ISO_AUTO); } + /* Switch to newer slow-shutter parameter */ + if (!strcmp(slowShutter, "slow-shutter-off")) { + params.set(KEY_EXPOSURE_TIME, "0"); + } else if (!strcmp(slowShutter, "slow-shutter-auto")) { + params.set(KEY_EXPOSURE_TIME, "1"); + } else if (!strcmp(slowShutter, "slow-shutter-1/2s")) { + params.set(KEY_EXPOSURE_TIME, "500000"); + } else if (!strcmp(slowShutter, "slow-shutter-1s")) { + params.set(KEY_EXPOSURE_TIME, "1000000"); + } else if (!strcmp(slowShutter, "slow-shutter-2s")) { + params.set(KEY_EXPOSURE_TIME, "2000000"); + } else if (!strcmp(slowShutter, "slow-shutter-4s")) { + params.set(KEY_EXPOSURE_TIME, "4000000"); + } else if (!strcmp(slowShutter, "slow-shutter-8s")) { + params.set(KEY_EXPOSURE_TIME, "8000000"); + } + params.set(KEY_EXPOSURE_TIME_VALUES, exposureTimeValues); + /* Remove exposure, values don't do anything */ params.set(android::CameraParameters::KEY_EXPOSURE_COMPENSATION, "0"); params.set(android::CameraParameters::KEY_EXPOSURE_COMPENSATION_STEP, "0.0"); @@ -158,6 +186,7 @@ static char *camera_fixup_setparams(int id, const char *settings) const char *sceneMode = "auto"; const char *fpsRange = "5000,60000"; const char *fpsRangeValues = "(5000,60000)"; + const char *exposureTime = "0"; android::CameraParameters params; params.unflatten(android::String8(settings)); @@ -187,6 +216,10 @@ static char *camera_fixup_setparams(int id, const char *settings) fpsRangeValues = params.get(android::CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE); } + if (params.get(KEY_EXPOSURE_TIME)) { + exposureTime = params.get(KEY_EXPOSURE_TIME); + } + /* De-purpleate */ params.set("reduce-purple", "on"); @@ -246,6 +279,23 @@ static char *camera_fixup_setparams(int id, const char *settings) params.setPictureSize(previewW, previewH); } + /* Switch to newer slow-shutter parameter */ + if (!strcmp(exposureTime, "0")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-off"); + } else if (!strcmp(exposureTime, "1")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-auto"); + } else if (!strcmp(exposureTime, "500000")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-1/2s"); + } else if (!strcmp(exposureTime, "1000000")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-1s"); + } else if (!strcmp(exposureTime, "2000000")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-2s"); + } else if (!strcmp(exposureTime, "4000000")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-4s"); + } else if (!strcmp(exposureTime, "8000000")) { + params.set(KEY_SLOW_SHUTTER, "slow-shutter-8s"); + } + #if !LOG_NDEBUG ALOGV("%s: fixed parameters:", __FUNCTION__); params.dump(); |
