aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2014-09-03 15:38:39 -0400
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2014-09-21 19:23:39 -0400
commite3d6eb1c16ef174a8fbbdd40770f5cbace0710e4 (patch)
tree9cda79b716d7098991cd711fe0c43fcac87abefd
parent7000e325de875fa8a5dd3885c8e8f0f12cf71eaf (diff)
[media] v4l: Add camera pan/tilt speed controls
The V4L2_CID_PAN_SPEED and V4L2_CID_TILT_SPEED controls allow to move the camera by setting its rotation speed around its axis. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml10
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml21
-rw-r--r--drivers/media/v4l2-core/v4l2-ctrls.c2
-rw-r--r--include/uapi/linux/v4l2-controls.h2
4 files changed, 35 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index eee6f0f4aa43..7aa7c5d41e3b 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2545,6 +2545,16 @@ fields changed from _s32 to _u32.
2545 </orderedlist> 2545 </orderedlist>
2546 </section> 2546 </section>
2547 2547
2548 <section>
2549 <title>V4L2 in Linux 3.18</title>
2550 <orderedlist>
2551 <listitem>
2552 <para>Added <constant>V4L2_CID_PAN_SPEED</constant> and
2553 <constant>V4L2_CID_TILT_SPEED</constant> camera controls.</para>
2554 </listitem>
2555 </orderedlist>
2556 </section>
2557
2548 <section id="other"> 2558 <section id="other">
2549 <title>Relation of V4L2 to other Linux multimedia APIs</title> 2559 <title>Relation of V4L2 to other Linux multimedia APIs</title>
2550 2560
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index a7eb1bde8b92..e013e4bf244c 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -3965,6 +3965,27 @@ by exposure, white balance or focus controls.</entry>
3965 </row> 3965 </row>
3966 <row><entry></entry></row> 3966 <row><entry></entry></row>
3967 3967
3968 <row>
3969 <entry spanname="id"><constant>V4L2_CID_PAN_SPEED</constant>&nbsp;</entry>
3970 <entry>integer</entry>
3971 </row><row><entry spanname="descr">This control turns the
3972camera horizontally at the specific speed. The unit is undefined. A
3973positive value moves the camera to the right (clockwise when viewed
3974from above), a negative value to the left. A value of zero stops the motion
3975if one is in progress and has no effect otherwise.</entry>
3976 </row>
3977 <row><entry></entry></row>
3978
3979 <row>
3980 <entry spanname="id"><constant>V4L2_CID_TILT_SPEED</constant>&nbsp;</entry>
3981 <entry>integer</entry>
3982 </row><row><entry spanname="descr">This control turns the
3983camera vertically at the specified speed. The unit is undefined. A
3984positive value moves the camera up, a negative value down. A value of zero
3985stops the motion if one is in progress and has no effect otherwise.</entry>
3986 </row>
3987 <row><entry></entry></row>
3988
3968 </tbody> 3989 </tbody>
3969 </tgroup> 3990 </tgroup>
3970 </table> 3991 </table>
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index 35d1f3d5045b..86012140923f 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -796,6 +796,8 @@ const char *v4l2_ctrl_get_name(u32 id)
796 case V4L2_CID_AUTO_FOCUS_STOP: return "Auto Focus, Stop"; 796 case V4L2_CID_AUTO_FOCUS_STOP: return "Auto Focus, Stop";
797 case V4L2_CID_AUTO_FOCUS_STATUS: return "Auto Focus, Status"; 797 case V4L2_CID_AUTO_FOCUS_STATUS: return "Auto Focus, Status";
798 case V4L2_CID_AUTO_FOCUS_RANGE: return "Auto Focus, Range"; 798 case V4L2_CID_AUTO_FOCUS_RANGE: return "Auto Focus, Range";
799 case V4L2_CID_PAN_SPEED: return "Pan, Speed";
800 case V4L2_CID_TILT_SPEED: return "Tilt, Speed";
799 801
800 /* FM Radio Modulator controls */ 802 /* FM Radio Modulator controls */
801 /* Keep the order of the 'case's the same as in v4l2-controls.h! */ 803 /* Keep the order of the 'case's the same as in v4l2-controls.h! */
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 8b930210a4b9..661f119a51b8 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -746,6 +746,8 @@ enum v4l2_auto_focus_range {
746 V4L2_AUTO_FOCUS_RANGE_INFINITY = 3, 746 V4L2_AUTO_FOCUS_RANGE_INFINITY = 3,
747}; 747};
748 748
749#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
750#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
749 751
750/* FM Modulator class control IDs */ 752/* FM Modulator class control IDs */
751 753