diff options
Diffstat (limited to 'libcamera')
-rw-r--r-- | libcamera/QualcommCameraHardware.cpp | 14 | ||||
-rw-r--r-- | libcamera/camera_ifc.h | 13 |
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, |