summaryrefslogtreecommitdiff
path: root/iq.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-03-16 15:48:30 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-05-01 12:13:56 +0200
commitf030d07589524d07d5eaf7c2dfff607656889b8b (patch)
treebe57ed8735b8ffbc6fb9cd7ca461f037c1e61978 /iq.h
parentb0e966a8488e19fcc1c7eb86a217c5f7675a4da0 (diff)
iq: Make the IQ parameters configurable
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'iq.h')
-rw-r--r--iq.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/iq.h b/iq.h
index aeb29de..2b043a8 100644
--- a/iq.h
+++ b/iq.h
@@ -27,9 +27,39 @@ struct iq_tuning;
struct omap3_isp_device;
struct omap3_isp_aewb_stats;
+/**
+ * struct iq_params - Image quality tuning parameters
+ * @mean_level: Target mean luminance level (fraction of the maximum)
+ * @exposure: Initial exposure value (sensor-specific units)
+ * @exposure_min: Minimum exposure value
+ * @exposure_max: Maximum exposure value
+ * @gain: Initial gain value (sensor-specific units)
+ * @gain_min: Minimum gain value
+ * @gain_max: Maximum gain value
+ * @black_level: Black level offset
+ */
+struct iq_params {
+ float mean_level;
+
+ unsigned int exposure;
+ unsigned int exposure_min;
+ unsigned int exposure_max;
+
+ unsigned int gain;
+ unsigned int gain_min;
+ unsigned int gain_max;
+
+ unsigned int black_level;
+};
+
void iq_aewb_process(struct iq_tuning *iq,
const struct omap3_isp_aewb_stats *stats);
-struct iq_tuning *iq_init(struct omap3_isp_device *isp);
+
+void iq_params_init(struct iq_params *params);
+int iq_params_parse(struct iq_params *params, const char *arg);
+
+struct iq_tuning *iq_init(struct omap3_isp_device *isp,
+ const struct iq_params *params);
void iq_cleanup(struct iq_tuning *iq);
#endif