Here is the patch to follow up the last week RFC proposal in the mailing list. 
Welcome review and any comment and feedback. 
These changes have tested by my co-worker without compilation error.

>From f84ef393f28e4c2f20502c1e884773db016f0a2e Mon Sep 17 00:00:00 2001
From: Xiaolin Zhang <xiaolin.zh...@intel.com>
Date: Mon, 19 Apr 2010 10:06:50 +0800
Subject: [PATCH] support more color effects (negative, sketch, emboss, etc) by 
extending the
 v4l2_colorfx enum items.

Signed-off-by: Xiaolin Zhang <xiaolin.zh...@intel.com>
---
 Documentation/DocBook/v4l/controls.xml    |   11 +++++++++--
 Documentation/DocBook/v4l/videodev2.h.xml |    7 +++++++
 drivers/media/video/v4l2-common.c         |    7 +++++++
 include/linux/videodev2.h                 |    7 +++++++
 4 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/Documentation/DocBook/v4l/controls.xml 
b/Documentation/DocBook/v4l/controls.xml
index f464506..ee0a359 100644
--- a/Documentation/DocBook/v4l/controls.xml
+++ b/Documentation/DocBook/v4l/controls.xml
@@ -277,8 +277,15 @@ minimum value disables backlight compensation.</entry>
            <entry>Selects a color effect. Possible values for
 <constant>enum v4l2_colorfx</constant> are:
 <constant>V4L2_COLORFX_NONE</constant> (0),
-<constant>V4L2_COLORFX_BW</constant> (1) and
-<constant>V4L2_COLORFX_SEPIA</constant> (2).</entry>
+<constant>V4L2_COLORFX_BW</constant> (1),
+<constant>V4L2_COLORFX_SEPIA</constant> (2),
+<constant>V4L2_COLORFX_NEGATIVE</constant> (3),
+<constant>V4L2_COLORFX_EMBOSS</constant> (4),
+<constant>V4L2_COLORFX_SKETCH</constant> (5),
+<constant>V4L2_COLORFX_SKY_BLUE</constant> (6),
+<constant>V4L2_COLORFX_GRASS_GREEN</constant> (7),
+<constant>V4L2_COLORFX_SKIN_WHITEN</constant> (8) and
+<constant>V4L2_COLORFX_VIVID</constant> (9).</entry>
          </row>
          <row>
            <entry><constant>V4L2_CID_ROTATE</constant></entry>
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml 
b/Documentation/DocBook/v4l/videodev2.h.xml
index 0683259..11bf4cc 100644
--- a/Documentation/DocBook/v4l/videodev2.h.xml
+++ b/Documentation/DocBook/v4l/videodev2.h.xml
@@ -1018,6 +1018,13 @@ enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> {
         V4L2_COLORFX_NONE       = 0,
         V4L2_COLORFX_BW         = 1,
         V4L2_COLORFX_SEPIA      = 2,
+        V4L2_COLORFX_NEGATIVE   = 3,
+        V4L2_COLORFX_EMBOSS     = 4,
+        V4L2_COLORFX_SKETCH     = 5,
+        V4L2_COLORFX_SKY_BLUE   = 6,
+        V4L2_COLORFX_GRASS_GREEN = 7,
+        V4L2_COLORFX_SKIN_WHITEN = 8,
+        V4L2_COLORFX_VIVID      = 9.
 };
 #define V4L2_CID_AUTOBRIGHTNESS                 (V4L2_CID_BASE+32)
 #define V4L2_CID_BAND_STOP_FILTER               (V4L2_CID_BASE+33)
diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index 36b5cb8..cc5c499 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -340,6 +340,13 @@ const char **v4l2_ctrl_get_menu(u32 id)
                "None",
                "Black & White",
                "Sepia",
+               "Negative",
+               "Emboss",
+               "Sketch",
+               "Sky blue",
+               "Grass green",
+               "Skin whiten",
+               "Vivid",
                NULL
        };
        static const char *tune_preemphasis[] = {
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 3793d16..a8f2c35 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1023,6 +1023,13 @@ enum v4l2_colorfx {
        V4L2_COLORFX_NONE       = 0,
        V4L2_COLORFX_BW         = 1,
        V4L2_COLORFX_SEPIA      = 2,
+       V4L2_COLORFX_NEGATIVE = 3,
+       V4L2_COLORFX_EMBOSS = 4,
+       V4L2_COLORFX_SKETCH = 5,
+       V4L2_COLORFX_SKY_BLUE = 6,
+       V4L2_COLORFX_GRASS_GREEN = 7,
+       V4L2_COLORFX_SKIN_WHITEN = 8,
+       V4L2_COLORFX_VIVID = 9,
 };
 #define V4L2_CID_AUTOBRIGHTNESS                        (V4L2_CID_BASE+32)
 #define V4L2_CID_BAND_STOP_FILTER              (V4L2_CID_BASE+33)
-- 
1.6.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to