public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Add iris absolute and relative control CIDs
@ 2010-03-18 12:56 Laurent Pinchart
  2010-03-18 12:56 ` [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls Laurent Pinchart
  2010-03-18 12:56 ` [PATCH v2 2/2] uvcvideo: Support iris absolute and relative controls Laurent Pinchart
  0 siblings, 2 replies; 5+ messages in thread
From: Laurent Pinchart @ 2010-03-18 12:56 UTC (permalink / raw)
  To: linux-media

Hi everybody,

Here's a second version of the iris control patch set that incorporates
comments from Sergio and Mauro (I modified the documentation to make the 
relationship between control values and iris opening clearer).

I can send a pull request for those patches after review.

Laurent Pinchart (2):
  v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
  uvcvideo: Support iris absolute and relative controls

 Documentation/DocBook/v4l/compat.xml      |   11 +++++++++++
 Documentation/DocBook/v4l/controls.xml    |   19 +++++++++++++++++++
 Documentation/DocBook/v4l/videodev2.h.xml |    3 +++
 drivers/media/video/uvc/uvc_ctrl.c        |   20 ++++++++++++++++++++
 include/linux/videodev2.h                 |    3 +++
 5 files changed, 56 insertions(+), 0 deletions(-)

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
  2010-03-18 12:56 [PATCH v2 0/2] Add iris absolute and relative control CIDs Laurent Pinchart
@ 2010-03-18 12:56 ` Laurent Pinchart
  2010-03-19 15:26   ` Frank Schaefer
  2010-03-18 12:56 ` [PATCH v2 2/2] uvcvideo: Support iris absolute and relative controls Laurent Pinchart
  1 sibling, 1 reply; 5+ messages in thread
From: Laurent Pinchart @ 2010-03-18 12:56 UTC (permalink / raw)
  To: linux-media

Those control, as their names imply, control the camera aperture
settings.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 Documentation/DocBook/v4l/compat.xml      |   11 +++++++++++
 Documentation/DocBook/v4l/controls.xml    |   19 +++++++++++++++++++
 Documentation/DocBook/v4l/videodev2.h.xml |    3 +++
 include/linux/videodev2.h                 |    3 +++
 4 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/Documentation/DocBook/v4l/compat.xml b/Documentation/DocBook/v4l/compat.xml
index b9dbdf9..854235b 100644
--- a/Documentation/DocBook/v4l/compat.xml
+++ b/Documentation/DocBook/v4l/compat.xml
@@ -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">
diff --git a/Documentation/DocBook/v4l/controls.xml b/Documentation/DocBook/v4l/controls.xml
index f464506..e47999d 100644
--- a/Documentation/DocBook/v4l/controls.xml
+++ b/Documentation/DocBook/v4l/controls.xml
@@ -1825,6 +1825,25 @@ wide-angle direction. The zoom speed unit is driver-specific.</entry>
 	  <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>
 	  </row><row><entry spanname="descr">Prevent video from being acquired
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml
index 0683259..c18dfeb 100644
--- a/Documentation/DocBook/v4l/videodev2.h.xml
+++ b/Documentation/DocBook/v4l/videodev2.h.xml
@@ -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)
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 3c26560..c9d2120 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1277,6 +1277,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)
-- 
1.6.4.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] uvcvideo: Support iris absolute and relative controls
  2010-03-18 12:56 [PATCH v2 0/2] Add iris absolute and relative control CIDs Laurent Pinchart
  2010-03-18 12:56 ` [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls Laurent Pinchart
@ 2010-03-18 12:56 ` Laurent Pinchart
  1 sibling, 0 replies; 5+ messages in thread
From: Laurent Pinchart @ 2010-03-18 12:56 UTC (permalink / raw)
  To: linux-media

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/media/video/uvc/uvc_ctrl.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/uvc/uvc_ctrl.c b/drivers/media/video/uvc/uvc_ctrl.c
index 3b2e780..3697d72 100644
--- a/drivers/media/video/uvc/uvc_ctrl.c
+++ b/drivers/media/video/uvc/uvc_ctrl.c
@@ -561,6 +561,26 @@ static struct uvc_control_mapping uvc_ctrl_mappings[] = {
 		.data_type	= UVC_CTRL_DATA_TYPE_BOOLEAN,
 	},
 	{
+		.id		= V4L2_CID_IRIS_ABSOLUTE,
+		.name		= "Iris, Absolute",
+		.entity		= UVC_GUID_UVC_CAMERA,
+		.selector	= UVC_CT_IRIS_ABSOLUTE_CONTROL,
+		.size		= 16,
+		.offset		= 0,
+		.v4l2_type	= V4L2_CTRL_TYPE_INTEGER,
+		.data_type	= UVC_CTRL_DATA_TYPE_UNSIGNED,
+	},
+	{
+		.id		= V4L2_CID_IRIS_RELATIVE,
+		.name		= "Iris, Relative",
+		.entity		= UVC_GUID_UVC_CAMERA,
+		.selector	= UVC_CT_IRIS_RELATIVE_CONTROL,
+		.size		= 8,
+		.offset		= 0,
+		.v4l2_type	= V4L2_CTRL_TYPE_INTEGER,
+		.data_type	= UVC_CTRL_DATA_TYPE_SIGNED,
+	},
+	{
 		.id		= V4L2_CID_ZOOM_ABSOLUTE,
 		.name		= "Zoom, Absolute",
 		.entity		= UVC_GUID_UVC_CAMERA,
-- 
1.6.4.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
  2010-03-18 12:56 ` [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls Laurent Pinchart
@ 2010-03-19 15:26   ` Frank Schaefer
  2010-03-31 16:08     ` Laurent Pinchart
  0 siblings, 1 reply; 5+ messages in thread
From: Frank Schaefer @ 2010-03-19 15:26 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media

Laurent Pinchart schrieb:
> Those control, as their names imply, control the camera aperture
> settings.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  Documentation/DocBook/v4l/compat.xml      |   11 +++++++++++
>  Documentation/DocBook/v4l/controls.xml    |   19 +++++++++++++++++++
>  Documentation/DocBook/v4l/videodev2.h.xml |    3 +++
>  include/linux/videodev2.h                 |    3 +++
>  4 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/DocBook/v4l/compat.xml b/Documentation/DocBook/v4l/compat.xml
> index b9dbdf9..854235b 100644
> --- a/Documentation/DocBook/v4l/compat.xml
> +++ b/Documentation/DocBook/v4l/compat.xml
> @@ -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">
> diff --git a/Documentation/DocBook/v4l/controls.xml b/Documentation/DocBook/v4l/controls.xml
> index f464506..e47999d 100644
> --- a/Documentation/DocBook/v4l/controls.xml
> +++ b/Documentation/DocBook/v4l/controls.xml
> @@ -1825,6 +1825,25 @@ wide-angle direction. The zoom speed unit is driver-specific.</entry>
>  	  <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>
>  	  </row><row><entry spanname="descr">Prevent video from being acquired
> diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml
> index 0683259..c18dfeb 100644
> --- a/Documentation/DocBook/v4l/videodev2.h.xml
> +++ b/Documentation/DocBook/v4l/videodev2.h.xml
> @@ -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)
> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> index 3c26560..c9d2120 100644
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -1277,6 +1277,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)
>   
Please also add proper titles to v4l2_ctrl_get_name() in v4l2-common.c.

Thanks,
Frank

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls
  2010-03-19 15:26   ` Frank Schaefer
@ 2010-03-31 16:08     ` Laurent Pinchart
  0 siblings, 0 replies; 5+ messages in thread
From: Laurent Pinchart @ 2010-03-31 16:08 UTC (permalink / raw)
  To: Frank Schaefer; +Cc: linux-media

Hi Frank,

On Friday 19 March 2010 16:26:12 Frank Schaefer wrote:
> Laurent Pinchart schrieb:
> > Those control, as their names imply, control the camera aperture
> > settings.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> > 
> >  Documentation/DocBook/v4l/compat.xml      |   11 +++++++++++
> >  Documentation/DocBook/v4l/controls.xml    |   19 +++++++++++++++++++
> >  Documentation/DocBook/v4l/videodev2.h.xml |    3 +++
> >  include/linux/videodev2.h                 |    3 +++
> >  4 files changed, 36 insertions(+), 0 deletions(-)
> > 
> > diff --git a/Documentation/DocBook/v4l/compat.xml
> > b/Documentation/DocBook/v4l/compat.xml index b9dbdf9..854235b 100644
> > --- a/Documentation/DocBook/v4l/compat.xml
> > +++ b/Documentation/DocBook/v4l/compat.xml
> > @@ -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">
> > 
> > diff --git a/Documentation/DocBook/v4l/controls.xml
> > b/Documentation/DocBook/v4l/controls.xml index f464506..e47999d 100644
> > --- a/Documentation/DocBook/v4l/controls.xml
> > +++ b/Documentation/DocBook/v4l/controls.xml
> > @@ -1825,6 +1825,25 @@ wide-angle direction. The zoom speed unit is
> > driver-specific.</entry>
> > 
> >  	  <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>
> >  	  
> >  	  </row><row><entry spanname="descr">Prevent video from being acquired
> > 
> > diff --git a/Documentation/DocBook/v4l/videodev2.h.xml
> > b/Documentation/DocBook/v4l/videodev2.h.xml index 0683259..c18dfeb
> > 100644
> > --- a/Documentation/DocBook/v4l/videodev2.h.xml
> > +++ b/Documentation/DocBook/v4l/videodev2.h.xml
> > @@ -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)
> > 
> > diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> > index 3c26560..c9d2120 100644
> > --- a/include/linux/videodev2.h
> > +++ b/include/linux/videodev2.h
> > @@ -1277,6 +1277,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)
> 
> Please also add proper titles to v4l2_ctrl_get_name() in v4l2-common.c.

Very good point. I'll resubmit the patches.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-03-31 21:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-18 12:56 [PATCH v2 0/2] Add iris absolute and relative control CIDs Laurent Pinchart
2010-03-18 12:56 ` [PATCH v2 1/2] v4l: Add V4L2_CID_IRIS_ABSOLUTE and V4L2_CID_IRIS_RELATIVE controls Laurent Pinchart
2010-03-19 15:26   ` Frank Schaefer
2010-03-31 16:08     ` Laurent Pinchart
2010-03-18 12:56 ` [PATCH v2 2/2] uvcvideo: Support iris absolute and relative controls Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox