V4L/DVB: v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 20 Jan 2010 15:12:57 +0000 (12:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 18 May 2010 03:52:51 +0000 (00:52 -0300)
Those control, as their names imply, control the camera aperture
settings.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/DocBook/v4l/compat.xml
Documentation/DocBook/v4l/controls.xml
Documentation/DocBook/v4l/videodev2.h.xml
drivers/media/video/v4l2-common.c
include/linux/videodev2.h

index b9dbdf9e6d29bd29b3df3617a77311b947b27e80..854235b5208ebc93f79f307c12654dd039ae751a 100644 (file)
@@ -2332,6 +2332,17 @@ more information.</para>
        </listitem>
       </orderedlist>
     </section>
+    <section>
+      <title>V4L2 in Linux 2.6.34</title>
+      <orderedlist>
+       <listitem>
+         <para>Added
+<constant>V4L2_CID_IRIS_ABSOLUTE</constant> and
+<constant>V4L2_CID_IRIS_RELATIVE</constant> controls to the
+           <link linkend="camera-controls">Camera controls class</link>.
+         </para>
+       </listitem>
+      </orderedlist>
    </section>
 
    <section id="other">
index e1bdbb6eff846c072170d51d86747bca1c280bc1..7e0c68747134d2fc7cf919ca820670477927bdbe 100644 (file)
@@ -1830,6 +1830,25 @@ wide-angle direction. The zoom speed unit is driver-specific.</entry>
          </row>
          <row><entry></entry></row>
 
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_IRIS_ABSOLUTE</constant>&nbsp;</entry>
+           <entry>integer</entry>
+         </row><row><entry spanname="descr">This control sets the
+camera's aperture to the specified value. The unit is undefined.
+Larger values open the iris wider, smaller values close it.</entry>
+         </row>
+         <row><entry></entry></row>
+
+         <row>
+           <entry spanname="id"><constant>V4L2_CID_IRIS_RELATIVE</constant>&nbsp;</entry>
+           <entry>integer</entry>
+         </row><row><entry spanname="descr">This control modifies the
+camera's aperture by the specified amount. The unit is undefined.
+Positive values open the iris one step further, negative values close
+it one step further. This is a write-only control.</entry>
+         </row>
+         <row><entry></entry></row>
+
          <row>
            <entry spanname="id"><constant>V4L2_CID_PRIVACY</constant>&nbsp;</entry>
            <entry>boolean</entry>
index 068325940658ee78ed9515f6270f17b3360eede2..c18dfebedeff75191ab519ab3260b77e65a75c8e 100644 (file)
@@ -1271,6 +1271,9 @@ enum  <link linkend="v4l2-exposure-auto-type">v4l2_exposure_auto_type</link> {
 
 #define V4L2_CID_PRIVACY                        (V4L2_CID_CAMERA_CLASS_BASE+16)
 
+#define V4L2_CID_IRIS_ABSOLUTE                  (V4L2_CID_CAMERA_CLASS_BASE+17)
+#define V4L2_CID_IRIS_RELATIVE                  (V4L2_CID_CAMERA_CLASS_BASE+18)
+
 /* FM Modulator class control IDs */
 #define V4L2_CID_FM_TX_CLASS_BASE               (V4L2_CTRL_CLASS_FM_TX | 0x900)
 #define V4L2_CID_FM_TX_CLASS                    (V4L2_CTRL_CLASS_FM_TX | 1)
index cd1f21d9b0791abc75d7c582ec45d311f5243019..67944f53a79a428fec1e2bed9f914a082127d3b9 100644 (file)
@@ -489,6 +489,8 @@ const char *v4l2_ctrl_get_name(u32 id)
        case V4L2_CID_FOCUS_ABSOLUTE:           return "Focus, Absolute";
        case V4L2_CID_FOCUS_RELATIVE:           return "Focus, Relative";
        case V4L2_CID_FOCUS_AUTO:               return "Focus, Automatic";
+       case V4L2_CID_IRIS_ABSOLUTE:            return "Iris, Absolute";
+       case V4L2_CID_IRIS_RELATIVE:            return "Iris, Relative";
        case V4L2_CID_ZOOM_ABSOLUTE:            return "Zoom, Absolute";
        case V4L2_CID_ZOOM_RELATIVE:            return "Zoom, Relative";
        case V4L2_CID_ZOOM_CONTINUOUS:          return "Zoom, Continuous";
@@ -643,6 +645,7 @@ int v4l2_ctrl_query_fill(struct v4l2_queryctrl *qctrl, s32 min, s32 max, s32 ste
        case V4L2_CID_PAN_RELATIVE:
        case V4L2_CID_TILT_RELATIVE:
        case V4L2_CID_FOCUS_RELATIVE:
+       case V4L2_CID_IRIS_RELATIVE:
        case V4L2_CID_ZOOM_RELATIVE:
                qctrl->flags |= V4L2_CTRL_FLAG_WRITE_ONLY;
                break;
index 6fb0b2daa5b9fc86233097df1200c96908d978bd..2559b182b8c4575b8624fc7e8757ee3784673fcb 100644 (file)
@@ -1282,6 +1282,9 @@ enum  v4l2_exposure_auto_type {
 
 #define V4L2_CID_PRIVACY                       (V4L2_CID_CAMERA_CLASS_BASE+16)
 
+#define V4L2_CID_IRIS_ABSOLUTE                 (V4L2_CID_CAMERA_CLASS_BASE+17)
+#define V4L2_CID_IRIS_RELATIVE                 (V4L2_CID_CAMERA_CLASS_BASE+18)
+
 /* FM Modulator class control IDs */
 #define V4L2_CID_FM_TX_CLASS_BASE              (V4L2_CTRL_CLASS_FM_TX | 0x900)
 #define V4L2_CID_FM_TX_CLASS                   (V4L2_CTRL_CLASS_FM_TX | 1)