summaryrefslogtreecommitdiff
path: root/libcamera
diff options
context:
space:
mode:
authorWu-cheng Li <wuchengli@google.com>2009-04-26 15:45:22 +0800
committerWu-cheng Li <wuchengli@google.com>2009-04-28 00:52:09 +0800
commitc752bd46b4cda2c0614dde761273068b8c3ccb58 (patch)
treed510b00187808cc46fcc368fb63e4f6da8e0573e /libcamera
parent48e461321be9f64151d144ee645e3a1be5ab56aa (diff)
downloadmsm7k-c752bd46b4cda2c0614dde761273068b8c3ccb58.tar.gz
Add high ISO setting.
modified: libcamera/QualcommCameraHardware.cpp modified: libcamera/camera_ifc.h b1815094
Diffstat (limited to 'libcamera')
-rw-r--r--libcamera/QualcommCameraHardware.cpp14
-rw-r--r--libcamera/camera_ifc.h13
2 files changed, 27 insertions, 0 deletions
diff --git a/libcamera/QualcommCameraHardware.cpp b/libcamera/QualcommCameraHardware.cpp
index f3f19bc..35f9ed7 100644
--- a/libcamera/QualcommCameraHardware.cpp
+++ b/libcamera/QualcommCameraHardware.cpp
@@ -358,6 +358,9 @@ namespace android {
p.set("whitebalance-values",
"auto,incandescent,fluorescent,daylight,cloudy");
+ // List of ISO values
+ p.set("iso-values", "auto,high");
+
if (setParameters(p) != NO_ERROR) {
LOGE("Failed to set default parameters?!");
}
@@ -1537,6 +1540,12 @@ namespace android {
{ NULL, 0 }
};
+ static const struct str_map iso_map[] = {
+ { "auto", CAMERA_ISO_AUTO },
+ { "high", CAMERA_ISO_HIGH },
+ { NULL, 0 }
+ };
+
static int lookup(const struct str_map *const arr, const char *name, int def)
{
if (name) {
@@ -1606,6 +1615,11 @@ namespace android {
mParameters.get("exposure-offset"),
CAMERA_BRIGHTNESS_DEFAULT));
+ SET_PARM(CAMERA_PARM_ISO,
+ lookup(iso_map,
+ mParameters.get("iso"),
+ CAMERA_ISO_AUTO));
+
SET_PARM(CAMERA_PARM_ANTIBANDING,
lookup(antibanding_map,
mParameters.get("antibanding"),
diff --git a/libcamera/camera_ifc.h b/libcamera/camera_ifc.h
index ce9e525..6f4239a 100644
--- a/libcamera/camera_ifc.h
+++ b/libcamera/camera_ifc.h
@@ -507,6 +507,19 @@ typedef enum
CAMERA_MAX_ANTIBANDING,
} camera_antibanding_type;
+/* Enum Type for different ISO Mode supported */
+typedef enum
+{
+ CAMERA_ISO_AUTO = 0,
+ CAMERA_ISO_HIGH,
+ CAMERA_ISO_DEBLUR,
+ CAMERA_ISO_100,
+ CAMERA_ISO_200,
+ CAMERA_ISO_400,
+ CAMERA_ISO_800,
+ CAMERA_ISO_MAX
+} camera_iso_mode_type;
+
typedef enum
{
CAMERA_PREVIEW_MODE_SNAPSHOT,