From 95fbf2cdccb127bae1f68827564b36290c8de2c3 Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Fri, 15 Apr 2011 13:51:42 -0700 Subject: Add an auto-exposure lock feature to the Camera API. Adds a new camera parameter for locking auto-exposure to its current value. Also adds a function for checking if auto-exposure lock is supported by the current platform. Hidden for now. Change-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6 --- include/camera/CameraParameters.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'include') diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h index db81721..513239f 100644 --- a/include/camera/CameraParameters.h +++ b/include/camera/CameraParameters.h @@ -309,6 +309,25 @@ public: // 0.3333, EV is -2. // Example value: "0.333333333" or "0.5". Read only. static const char KEY_EXPOSURE_COMPENSATION_STEP[]; + // The state of the auto-exposure lock. "true" means that auto-exposure is + // locked to its current value and will not change. "false" means the + // auto-exposure routine is free to change exposure settings. Changing + // exposure compensation settings will still affect the exposure settings + // while auto-exposure is locked. Stopping preview or taking a still image + // will release the lock. However, the lock can be re-enabled prior to + // preview being re-started, to keep the exposure values from the previous + // lock. In conjunction with exposure compensation, this allows for + // capturing multi-exposure brackets with known relative exposure + // values. Locking auto-exposure after open but before the first cal to + // startPreview may result in severly over- or under-exposed images. The + // driver may independently enable the AE lock after auto-focus + // completes. If it does so, this key must have its value updated to reflect + // the lock's existence. Applications are free to release such a lock, to + // re-enable AE without restarting preview. + static const char KEY_AUTO_EXPOSURE_LOCK[]; + // Whether locking the auto-exposure is supported. "true" means it is, and + // "false" or this key not existing means it is not supported. + static const char KEY_AUTO_EXPOSURE_LOCK_SUPPORTED[]; // The maximum number of metering areas supported. This is the maximum // length of KEY_METERING_AREAS. // Example value: "0" or "2". Read only. @@ -428,6 +447,7 @@ public: // Value for KEY_ZOOM_SUPPORTED or KEY_SMOOTH_ZOOM_SUPPORTED. static const char TRUE[]; + static const char FALSE[]; // Value for KEY_FOCUS_DISTANCES. static const char FOCUS_DISTANCE_INFINITY[]; -- cgit v1.1