summary refs log tree commit diff
path: root/include/media/ov772x.h
diff options
context:
space:
mode:
authorKuninori Morimoto <morimoto.kuninori@renesas.com>2009-03-31 03:44:22 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-04-06 21:43:49 -0300
commitdb6cbc8cf2fa699a876e4f76ef069b9a2861900a (patch)
tree91d7df064f6f874126b88b61f5d6fb3f94e33048 /include/media/ov772x.h
parente951cbf20cdc7c55c9c752d28411d956675befd6 (diff)
downloadlinux-db6cbc8cf2fa699a876e4f76ef069b9a2861900a.tar.gz
V4L/DVB (11327): ov772x: add edge contrl support
Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/ov772x.h')
-rw-r--r--include/media/ov772x.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/media/ov772x.h b/include/media/ov772x.h
index 57db48dd85b8..30d9629198ef 100644
--- a/include/media/ov772x.h
+++ b/include/media/ov772x.h
@@ -17,10 +17,45 @@
 #define OV772X_FLAG_VFLIP     0x00000001 /* Vertical flip image */
 #define OV772X_FLAG_HFLIP     0x00000002 /* Horizontal flip image */
 
+/*
+ * for Edge ctrl
+ *
+ * strength also control Auto or Manual Edge Control Mode
+ * see also OV772X_MANUAL_EDGE_CTRL
+ */
+struct ov772x_edge_ctrl {
+	unsigned char strength;
+	unsigned char threshold;
+	unsigned char upper;
+	unsigned char lower;
+};
+
+#define OV772X_MANUAL_EDGE_CTRL	0x80 /* un-used bit of strength */
+#define EDGE_STRENGTH_MASK	0x1F
+#define EDGE_THRESHOLD_MASK	0x0F
+#define EDGE_UPPER_MASK		0xFF
+#define EDGE_LOWER_MASK		0xFF
+
+#define OV772X_AUTO_EDGECTRL(u, l)	\
+{					\
+	.upper = (u & EDGE_UPPER_MASK),	\
+	.lower = (l & EDGE_LOWER_MASK),	\
+}
+
+#define OV772X_MANUAL_EDGECTRL(s, t)					\
+{									\
+	.strength  = (s & EDGE_STRENGTH_MASK) | OV772X_MANUAL_EDGE_CTRL,\
+	.threshold = (t & EDGE_THRESHOLD_MASK),				\
+}
+
+/*
+ * ov772x camera info
+ */
 struct ov772x_camera_info {
 	unsigned long          buswidth;
 	unsigned long          flags;
 	struct soc_camera_link link;
+	struct ov772x_edge_ctrl edgectrl;
 };
 
 #endif /* __OV772X_H__ */