All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add V4L2_SEL_TGT_NATIVE_SIZE target
@ 2014-11-08 23:04 Sakari Ailus
  2014-11-08 23:04 ` [PATCH 1/3] v4l: Clean up sub-device format documentation Sakari Ailus
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Sakari Ailus @ 2014-11-08 23:04 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil

Hi,

This small set cleans up sub-device format documentation --- the
documentation noted the source format is used to configure scaling, which
was contradicting what was said right after on the selections on
sub-devices. This part was written before the selections interface.

The two latter patches create a V4L2_SEL_TGT_NATIVE_SIZE target which is
used in the smiapp driver. The CROP_BOUNDS target is still supported as
compatibility means.

-- 
Kind regards,
Sakari

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

* [PATCH 1/3] v4l: Clean up sub-device format documentation
  2014-11-08 23:04 [PATCH 0/3] Add V4L2_SEL_TGT_NATIVE_SIZE target Sakari Ailus
@ 2014-11-08 23:04 ` Sakari Ailus
  2014-11-14  8:29   ` Hans Verkuil
  2014-11-08 23:04 ` [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target Sakari Ailus
  2014-11-08 23:04 ` [PATCH 3/3] smiapp: Support V4L2_SEL_TGT_NATIVE_SIZE Sakari Ailus
  2 siblings, 1 reply; 10+ messages in thread
From: Sakari Ailus @ 2014-11-08 23:04 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil, Sakari Ailus

The sub-device format documentation documented scaling configuration through
formats. Instead the compose selection rectangle is elsewhere documented to
be used for the purpose. Remove scaling related part of the documentation.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 Documentation/DocBook/media/v4l/dev-subdev.xml |  108 ++++++++++++++----------
 1 file changed, 62 insertions(+), 46 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml
index d15aaf8..dbf9965 100644
--- a/Documentation/DocBook/media/v4l/dev-subdev.xml
+++ b/Documentation/DocBook/media/v4l/dev-subdev.xml
@@ -195,53 +195,59 @@
 	<title>Sample Pipeline Configuration</title>
 	<tgroup cols="3">
 	  <colspec colname="what"/>
-	  <colspec colname="sensor-0" />
-	  <colspec colname="frontend-0" />
-	  <colspec colname="frontend-1" />
-	  <colspec colname="scaler-0" />
-	  <colspec colname="scaler-1" />
+	  <colspec colname="sensor-0 format" />
+	  <colspec colname="frontend-0 format" />
+	  <colspec colname="frontend-1 format" />
+	  <colspec colname="scaler-0 format" />
+	  <colspec colname="scaler-0 compose" />
+	  <colspec colname="scaler-1 format" />
 	  <thead>
 	    <row>
 	      <entry></entry>
-	      <entry>Sensor/0</entry>
-	      <entry>Frontend/0</entry>
-	      <entry>Frontend/1</entry>
-	      <entry>Scaler/0</entry>
-	      <entry>Scaler/1</entry>
+	      <entry>Sensor/0 format</entry>
+	      <entry>Frontend/0 format</entry>
+	      <entry>Frontend/1 format</entry>
+	      <entry>Scaler/0 format</entry>
+	      <entry>Scaler/0 compose selection rectangle</entry>
+	      <entry>Scaler/1 format</entry>
 	    </row>
 	  </thead>
 	  <tbody valign="top">
 	    <row>
 	      <entry>Initial state</entry>
-	      <entry>2048x1536</entry>
-	      <entry>-</entry>
-	      <entry>-</entry>
-	      <entry>-</entry>
-	      <entry>-</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
 	    </row>
 	    <row>
-	      <entry>Configure frontend input</entry>
-	      <entry>2048x1536</entry>
-	      <entry><emphasis>2048x1536</emphasis></entry>
-	      <entry><emphasis>2046x1534</emphasis></entry>
-	      <entry>-</entry>
-	      <entry>-</entry>
+	      <entry>Configure frontend sink format</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry><emphasis>2048x1536/SGRBG8_1X8</emphasis></entry>
+	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
+	      <entry>(default)</entry>
 	    </row>
 	    <row>
-	      <entry>Configure scaler input</entry>
-	      <entry>2048x1536</entry>
-	      <entry>2048x1536</entry>
-	      <entry>2046x1534</entry>
-	      <entry><emphasis>2046x1534</emphasis></entry>
-	      <entry><emphasis>2046x1534</emphasis></entry>
+	      <entry>Configure scaler sink format</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry>2046x1534/SGRBG8_1X8</entry>
+	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
+	      <entry><emphasis>0,0/2046x1534</emphasis></entry>
+	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
 	    </row>
 	    <row>
-	      <entry>Configure scaler output</entry>
-	      <entry>2048x1536</entry>
-	      <entry>2048x1536</entry>
-	      <entry>2046x1534</entry>
-	      <entry>2046x1534</entry>
-	      <entry><emphasis>1280x960</emphasis></entry>
+	      <entry>Configure scaler sink compose selection</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry>2048x1536/SGRBG8_1X8</entry>
+	      <entry>2046x1534/SGRBG8_1X8</entry>
+	      <entry>2046x1534/SGRBG8_1X8</entry>
+	      <entry><emphasis>0,0/1280x960</emphasis></entry>
+	      <entry><emphasis>1280x960/SGRBG8_1X8</emphasis></entry>
 	    </row>
 	  </tbody>
 	</tgroup>
@@ -249,19 +255,29 @@
 
       <para>
       <orderedlist>
-	<listitem><para>Initial state. The sensor output is set to its native 3MP
-	resolution. Resolutions on the host frontend and scaler input and output
-	pads are undefined.</para></listitem>
-	<listitem><para>The application configures the frontend input pad resolution to
-	2048x1536. The driver propagates the format to the frontend output pad.
-	Note that the propagated output format can be different, as in this case,
-	than the input format, as the hardware might need to crop pixels (for
-	instance when converting a Bayer filter pattern to RGB or YUV).</para></listitem>
-	<listitem><para>The application configures the scaler input pad resolution to
-	2046x1534 to match the frontend output resolution. The driver propagates
-	the format to the scaler output pad.</para></listitem>
-	<listitem><para>The application configures the scaler output pad resolution to
-	1280x960.</para></listitem>
+	<listitem><para>Initial state. The sensor source pad format is
+	set to its native 3MP size and V4L2_MBUS_FMT_SGRBG8_1X8
+	media bus code. Formats on the host frontend and scaler sink
+	and source pads have the default values, as well as the
+	compose rectangle on the scaler's sind pad.</para></listitem>
+
+	<listitem><para>The application configures the frontend sink
+	pad format's size to 2048x1536 and its media bus code to
+	V4L2_MBUS_FMT_SGRBG_1X8. The driver propagates the format to
+	the frontend source pad.</para></listitem>
+
+	<listitem><para>The application configures the scaler sink pad
+	format's size to 2046x1534 and the media bus code to
+	V4L2_MBUS_FMT_SGRBG_1X8 to match the frontend source size and
+	media bus code. The media bus code on the sink pad is set to
+	V4L2_MBUS_FMT_SGRBG_1X8. The driver propagates the size to the
+	compose selection rectangle on the scaler's sink pad, and the
+	format to the scaler source pad.</para></listitem>
+
+	<listitem><para>The application configures the compose
+	selection rectangle of the scaler's sink pad and scaler source
+	pad format's size to 1280x960.</para></listitem>
+
       </orderedlist>
       </para>
 
-- 
1.7.10.4


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

* [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
  2014-11-08 23:04 [PATCH 0/3] Add V4L2_SEL_TGT_NATIVE_SIZE target Sakari Ailus
  2014-11-08 23:04 ` [PATCH 1/3] v4l: Clean up sub-device format documentation Sakari Ailus
@ 2014-11-08 23:04 ` Sakari Ailus
  2014-11-14  8:46   ` Hans Verkuil
  2014-11-08 23:04 ` [PATCH 3/3] smiapp: Support V4L2_SEL_TGT_NATIVE_SIZE Sakari Ailus
  2 siblings, 1 reply; 10+ messages in thread
From: Sakari Ailus @ 2014-11-08 23:04 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil, Sakari Ailus

The V4L2_SEL_TGT_NATIVE_SIZE target is used to denote e.g. the size of a
sensor's pixel array.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 Documentation/DocBook/media/v4l/selections-common.xml |    8 ++++++++
 include/uapi/linux/v4l2-common.h                      |    2 ++
 2 files changed, 10 insertions(+)

diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml
index 7502f78..5fc833a 100644
--- a/Documentation/DocBook/media/v4l/selections-common.xml
+++ b/Documentation/DocBook/media/v4l/selections-common.xml
@@ -63,6 +63,14 @@
 	    <entry>Yes</entry>
 	  </row>
 	  <row>
+	    <entry><constant>V4L2_SEL_TGT_NATIVE_SIZE</constant></entry>
+	    <entry>0x0003</entry>
+	    <entry>The native size of the device, e.g. a sensor's
+	    pixel array.</entry>
+	    <entry>Yes</entry>
+	    <entry>Yes</entry>
+	  </row>
+	  <row>
 	    <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry>
 	    <entry>0x0100</entry>
 	    <entry>Compose rectangle. Used to configure scaling
diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
index 2f6f8ca..1527398 100644
--- a/include/uapi/linux/v4l2-common.h
+++ b/include/uapi/linux/v4l2-common.h
@@ -43,6 +43,8 @@
 #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
 /* Cropping bounds */
 #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
+/* Native frame size */
+#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
 /* Current composing area */
 #define V4L2_SEL_TGT_COMPOSE		0x0100
 /* Default composing area */
-- 
1.7.10.4


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

* [PATCH 3/3] smiapp: Support V4L2_SEL_TGT_NATIVE_SIZE
  2014-11-08 23:04 [PATCH 0/3] Add V4L2_SEL_TGT_NATIVE_SIZE target Sakari Ailus
  2014-11-08 23:04 ` [PATCH 1/3] v4l: Clean up sub-device format documentation Sakari Ailus
  2014-11-08 23:04 ` [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target Sakari Ailus
@ 2014-11-08 23:04 ` Sakari Ailus
  2 siblings, 0 replies; 10+ messages in thread
From: Sakari Ailus @ 2014-11-08 23:04 UTC (permalink / raw)
  To: linux-media; +Cc: hverkuil, Sakari Ailus

Add support for selection target V4L2_SEL_TGT_NATIVE_SIZE. It is equivalent
of what V4L2_SEL_TGT_CROP_BOUNDS used to be. Support for
V4L2_SEL_TGT_CROP_BOUNDS is still supported by the driver as a compatibility
interface.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 drivers/media/i2c/smiapp/smiapp-core.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index bcc5866..e2d2b8f 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2092,6 +2092,11 @@ static int __smiapp_sel_supported(struct v4l2_subdev *subdev,
 		    == SMIAPP_DIGITAL_CROP_CAPABILITY_INPUT_CROP)
 			return 0;
 		return -EINVAL;
+	case V4L2_SEL_TGT_NATIVE_SIZE:
+		if (ssd == sensor->pixel_array
+		    && sel->pad == SMIAPP_PA_PAD_SRC)
+			return 0;
+		return -EINVAL;
 	case V4L2_SEL_TGT_COMPOSE:
 	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
 		if (sel->pad == ssd->source_pad)
@@ -2190,6 +2195,7 @@ static int __smiapp_get_selection(struct v4l2_subdev *subdev,
 
 	switch (sel->target) {
 	case V4L2_SEL_TGT_CROP_BOUNDS:
+	case V4L2_SEL_TGT_NATIVE_SIZE:
 		if (ssd == sensor->pixel_array) {
 			sel->r.width =
 				sensor->limits[SMIAPP_LIMIT_X_ADDR_MAX] + 1;
-- 
1.7.10.4


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

* Re: [PATCH 1/3] v4l: Clean up sub-device format documentation
  2014-11-08 23:04 ` [PATCH 1/3] v4l: Clean up sub-device format documentation Sakari Ailus
@ 2014-11-14  8:29   ` Hans Verkuil
  2014-11-16 14:06     ` Sakari Ailus
  0 siblings, 1 reply; 10+ messages in thread
From: Hans Verkuil @ 2014-11-14  8:29 UTC (permalink / raw)
  To: Sakari Ailus, linux-media

Two small notes...

On 11/09/2014 12:04 AM, Sakari Ailus wrote:
> The sub-device format documentation documented scaling configuration through
> formats. Instead the compose selection rectangle is elsewhere documented to
> be used for the purpose. Remove scaling related part of the documentation.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> ---
>  Documentation/DocBook/media/v4l/dev-subdev.xml |  108 ++++++++++++++----------
>  1 file changed, 62 insertions(+), 46 deletions(-)
> 
> diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml
> index d15aaf8..dbf9965 100644
> --- a/Documentation/DocBook/media/v4l/dev-subdev.xml
> +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml
> @@ -195,53 +195,59 @@
>  	<title>Sample Pipeline Configuration</title>
>  	<tgroup cols="3">
>  	  <colspec colname="what"/>
> -	  <colspec colname="sensor-0" />
> -	  <colspec colname="frontend-0" />
> -	  <colspec colname="frontend-1" />
> -	  <colspec colname="scaler-0" />
> -	  <colspec colname="scaler-1" />
> +	  <colspec colname="sensor-0 format" />
> +	  <colspec colname="frontend-0 format" />
> +	  <colspec colname="frontend-1 format" />
> +	  <colspec colname="scaler-0 format" />
> +	  <colspec colname="scaler-0 compose" />
> +	  <colspec colname="scaler-1 format" />
>  	  <thead>
>  	    <row>
>  	      <entry></entry>
> -	      <entry>Sensor/0</entry>
> -	      <entry>Frontend/0</entry>
> -	      <entry>Frontend/1</entry>
> -	      <entry>Scaler/0</entry>
> -	      <entry>Scaler/1</entry>
> +	      <entry>Sensor/0 format</entry>
> +	      <entry>Frontend/0 format</entry>
> +	      <entry>Frontend/1 format</entry>
> +	      <entry>Scaler/0 format</entry>
> +	      <entry>Scaler/0 compose selection rectangle</entry>
> +	      <entry>Scaler/1 format</entry>
>  	    </row>
>  	  </thead>
>  	  <tbody valign="top">
>  	    <row>
>  	      <entry>Initial state</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry>-</entry>
> -	      <entry>-</entry>
> -	      <entry>-</entry>
> -	      <entry>-</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
>  	    </row>
>  	    <row>
> -	      <entry>Configure frontend input</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry><emphasis>2048x1536</emphasis></entry>
> -	      <entry><emphasis>2046x1534</emphasis></entry>
> -	      <entry>-</entry>
> -	      <entry>-</entry>
> +	      <entry>Configure frontend sink format</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry><emphasis>2048x1536/SGRBG8_1X8</emphasis></entry>
> +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
> +	      <entry>(default)</entry>
>  	    </row>
>  	    <row>
> -	      <entry>Configure scaler input</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry>2046x1534</entry>
> -	      <entry><emphasis>2046x1534</emphasis></entry>
> -	      <entry><emphasis>2046x1534</emphasis></entry>
> +	      <entry>Configure scaler sink format</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry>2046x1534/SGRBG8_1X8</entry>
> +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
> +	      <entry><emphasis>0,0/2046x1534</emphasis></entry>
> +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
>  	    </row>
>  	    <row>
> -	      <entry>Configure scaler output</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry>2048x1536</entry>
> -	      <entry>2046x1534</entry>
> -	      <entry>2046x1534</entry>
> -	      <entry><emphasis>1280x960</emphasis></entry>
> +	      <entry>Configure scaler sink compose selection</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry>2048x1536/SGRBG8_1X8</entry>
> +	      <entry>2046x1534/SGRBG8_1X8</entry>
> +	      <entry>2046x1534/SGRBG8_1X8</entry>
> +	      <entry><emphasis>0,0/1280x960</emphasis></entry>
> +	      <entry><emphasis>1280x960/SGRBG8_1X8</emphasis></entry>
>  	    </row>
>  	  </tbody>
>  	</tgroup>
> @@ -249,19 +255,29 @@
>  
>        <para>
>        <orderedlist>
> -	<listitem><para>Initial state. The sensor output is set to its native 3MP
> -	resolution. Resolutions on the host frontend and scaler input and output
> -	pads are undefined.</para></listitem>
> -	<listitem><para>The application configures the frontend input pad resolution to
> -	2048x1536. The driver propagates the format to the frontend output pad.
> -	Note that the propagated output format can be different, as in this case,
> -	than the input format, as the hardware might need to crop pixels (for
> -	instance when converting a Bayer filter pattern to RGB or YUV).

Does this Bayer filter note no longer apply?

> </para></listitem>
> -	<listitem><para>The application configures the scaler input pad resolution to
> -	2046x1534 to match the frontend output resolution. The driver propagates
> -	the format to the scaler output pad.</para></listitem>
> -	<listitem><para>The application configures the scaler output pad resolution to
> -	1280x960.</para></listitem>
> +	<listitem><para>Initial state. The sensor source pad format is
> +	set to its native 3MP size and V4L2_MBUS_FMT_SGRBG8_1X8
> +	media bus code. Formats on the host frontend and scaler sink
> +	and source pads have the default values, as well as the
> +	compose rectangle on the scaler's sind pad.</para></listitem>

sind -> sink

> +
> +	<listitem><para>The application configures the frontend sink
> +	pad format's size to 2048x1536 and its media bus code to
> +	V4L2_MBUS_FMT_SGRBG_1X8. The driver propagates the format to
> +	the frontend source pad.</para></listitem>
> +
> +	<listitem><para>The application configures the scaler sink pad
> +	format's size to 2046x1534 and the media bus code to
> +	V4L2_MBUS_FMT_SGRBG_1X8 to match the frontend source size and
> +	media bus code. The media bus code on the sink pad is set to
> +	V4L2_MBUS_FMT_SGRBG_1X8. The driver propagates the size to the
> +	compose selection rectangle on the scaler's sink pad, and the
> +	format to the scaler source pad.</para></listitem>
> +
> +	<listitem><para>The application configures the compose
> +	selection rectangle of the scaler's sink pad and scaler source
> +	pad format's size to 1280x960.</para></listitem>
> +
>        </orderedlist>
>        </para>
>  
> 

Regards,

	Hans

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

* Re: [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
  2014-11-08 23:04 ` [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target Sakari Ailus
@ 2014-11-14  8:46   ` Hans Verkuil
  2014-11-16 16:40     ` Sakari Ailus
  0 siblings, 1 reply; 10+ messages in thread
From: Hans Verkuil @ 2014-11-14  8:46 UTC (permalink / raw)
  To: Sakari Ailus, linux-media

On 11/09/2014 12:04 AM, Sakari Ailus wrote:
> The V4L2_SEL_TGT_NATIVE_SIZE target is used to denote e.g. the size of a
> sensor's pixel array.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> ---
>  Documentation/DocBook/media/v4l/selections-common.xml |    8 ++++++++
>  include/uapi/linux/v4l2-common.h                      |    2 ++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml
> index 7502f78..5fc833a 100644
> --- a/Documentation/DocBook/media/v4l/selections-common.xml
> +++ b/Documentation/DocBook/media/v4l/selections-common.xml
> @@ -63,6 +63,14 @@
>  	    <entry>Yes</entry>
>  	  </row>
>  	  <row>
> +	    <entry><constant>V4L2_SEL_TGT_NATIVE_SIZE</constant></entry>
> +	    <entry>0x0003</entry>
> +	    <entry>The native size of the device, e.g. a sensor's
> +	    pixel array.</entry>

You might want to state that top and left are always 0.

> +	    <entry>Yes</entry>
> +	    <entry>Yes</entry>
> +	  </row>
> +	  <row>
>  	    <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry>
>  	    <entry>0x0100</entry>
>  	    <entry>Compose rectangle. Used to configure scaling
> diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
> index 2f6f8ca..1527398 100644
> --- a/include/uapi/linux/v4l2-common.h
> +++ b/include/uapi/linux/v4l2-common.h
> @@ -43,6 +43,8 @@
>  #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
>  /* Cropping bounds */
>  #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
> +/* Native frame size */
> +#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
>  /* Current composing area */
>  #define V4L2_SEL_TGT_COMPOSE		0x0100
>  /* Default composing area */
> 

I like this. This would also make it possible to set the 'canvas' size of an
mem2mem device. Currently calling S_FMT for a mem2mem device cannot setup any
scaler since there is no native size. Instead S_FMT effectively *sets* the native
size. The same is true for webcams with a scaler, which is why you added this in
the first place. Obviously for sensors this target is read-only, but for a mem2mem
device it can be writable as well.

However, to make full use of this you also need to add input and output
capabilities if the native size can be set:

	V4L2_IN_CAP_NATIVE_SIZE
	V4L2_OUT_CAP_NATIVE_SIZE

(see ENUMINPUT/ENUMOUTPUT)

This would nicely fill in a hole in the V4L2 Spec.

Regards,

	Hans

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

* Re: [PATCH 1/3] v4l: Clean up sub-device format documentation
  2014-11-14  8:29   ` Hans Verkuil
@ 2014-11-16 14:06     ` Sakari Ailus
  0 siblings, 0 replies; 10+ messages in thread
From: Sakari Ailus @ 2014-11-16 14:06 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,

On Fri, Nov 14, 2014 at 09:29:35AM +0100, Hans Verkuil wrote:
> Two small notes...
> 
> On 11/09/2014 12:04 AM, Sakari Ailus wrote:
> > The sub-device format documentation documented scaling configuration through
> > formats. Instead the compose selection rectangle is elsewhere documented to
> > be used for the purpose. Remove scaling related part of the documentation.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> > ---
> >  Documentation/DocBook/media/v4l/dev-subdev.xml |  108 ++++++++++++++----------
> >  1 file changed, 62 insertions(+), 46 deletions(-)
> > 
> > diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml
> > index d15aaf8..dbf9965 100644
> > --- a/Documentation/DocBook/media/v4l/dev-subdev.xml
> > +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml
> > @@ -195,53 +195,59 @@
> >  	<title>Sample Pipeline Configuration</title>
> >  	<tgroup cols="3">
> >  	  <colspec colname="what"/>
> > -	  <colspec colname="sensor-0" />
> > -	  <colspec colname="frontend-0" />
> > -	  <colspec colname="frontend-1" />
> > -	  <colspec colname="scaler-0" />
> > -	  <colspec colname="scaler-1" />
> > +	  <colspec colname="sensor-0 format" />
> > +	  <colspec colname="frontend-0 format" />
> > +	  <colspec colname="frontend-1 format" />
> > +	  <colspec colname="scaler-0 format" />
> > +	  <colspec colname="scaler-0 compose" />
> > +	  <colspec colname="scaler-1 format" />
> >  	  <thead>
> >  	    <row>
> >  	      <entry></entry>
> > -	      <entry>Sensor/0</entry>
> > -	      <entry>Frontend/0</entry>
> > -	      <entry>Frontend/1</entry>
> > -	      <entry>Scaler/0</entry>
> > -	      <entry>Scaler/1</entry>
> > +	      <entry>Sensor/0 format</entry>
> > +	      <entry>Frontend/0 format</entry>
> > +	      <entry>Frontend/1 format</entry>
> > +	      <entry>Scaler/0 format</entry>
> > +	      <entry>Scaler/0 compose selection rectangle</entry>
> > +	      <entry>Scaler/1 format</entry>
> >  	    </row>
> >  	  </thead>
> >  	  <tbody valign="top">
> >  	    <row>
> >  	      <entry>Initial state</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry>-</entry>
> > -	      <entry>-</entry>
> > -	      <entry>-</entry>
> > -	      <entry>-</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> >  	    </row>
> >  	    <row>
> > -	      <entry>Configure frontend input</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry><emphasis>2048x1536</emphasis></entry>
> > -	      <entry><emphasis>2046x1534</emphasis></entry>
> > -	      <entry>-</entry>
> > -	      <entry>-</entry>
> > +	      <entry>Configure frontend sink format</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry><emphasis>2048x1536/SGRBG8_1X8</emphasis></entry>
> > +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> > +	      <entry>(default)</entry>
> >  	    </row>
> >  	    <row>
> > -	      <entry>Configure scaler input</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry>2046x1534</entry>
> > -	      <entry><emphasis>2046x1534</emphasis></entry>
> > -	      <entry><emphasis>2046x1534</emphasis></entry>
> > +	      <entry>Configure scaler sink format</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry>2046x1534/SGRBG8_1X8</entry>
> > +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
> > +	      <entry><emphasis>0,0/2046x1534</emphasis></entry>
> > +	      <entry><emphasis>2046x1534/SGRBG8_1X8</emphasis></entry>
> >  	    </row>
> >  	    <row>
> > -	      <entry>Configure scaler output</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry>2048x1536</entry>
> > -	      <entry>2046x1534</entry>
> > -	      <entry>2046x1534</entry>
> > -	      <entry><emphasis>1280x960</emphasis></entry>
> > +	      <entry>Configure scaler sink compose selection</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry>2048x1536/SGRBG8_1X8</entry>
> > +	      <entry>2046x1534/SGRBG8_1X8</entry>
> > +	      <entry>2046x1534/SGRBG8_1X8</entry>
> > +	      <entry><emphasis>0,0/1280x960</emphasis></entry>
> > +	      <entry><emphasis>1280x960/SGRBG8_1X8</emphasis></entry>
> >  	    </row>
> >  	  </tbody>
> >  	</tgroup>
> > @@ -249,19 +255,29 @@
> >  
> >        <para>
> >        <orderedlist>
> > -	<listitem><para>Initial state. The sensor output is set to its native 3MP
> > -	resolution. Resolutions on the host frontend and scaler input and output
> > -	pads are undefined.</para></listitem>
> > -	<listitem><para>The application configures the frontend input pad resolution to
> > -	2048x1536. The driver propagates the format to the frontend output pad.
> > -	Note that the propagated output format can be different, as in this case,
> > -	than the input format, as the hardware might need to crop pixels (for
> > -	instance when converting a Bayer filter pattern to RGB or YUV).
> 
> Does this Bayer filter note no longer apply?

Cropping is out of scope as it requires using the selection API. I can add
this where selections are discussed in more detail, if you think it's
relevant. IMO this may be a property of a particular piece of hardware, and
there are a lot more reasons to crop a a few pixels than just that.

> > </para></listitem>
> > -	<listitem><para>The application configures the scaler input pad resolution to
> > -	2046x1534 to match the frontend output resolution. The driver propagates
> > -	the format to the scaler output pad.</para></listitem>
> > -	<listitem><para>The application configures the scaler output pad resolution to
> > -	1280x960.</para></listitem>
> > +	<listitem><para>Initial state. The sensor source pad format is
> > +	set to its native 3MP size and V4L2_MBUS_FMT_SGRBG8_1X8
> > +	media bus code. Formats on the host frontend and scaler sink
> > +	and source pads have the default values, as well as the
> > +	compose rectangle on the scaler's sind pad.</para></listitem>
> 
> sind -> sink

I'll fix that.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

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

* Re: [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
  2014-11-14  8:46   ` Hans Verkuil
@ 2014-11-16 16:40     ` Sakari Ailus
  2014-11-17  9:34       ` Hans Verkuil
  0 siblings, 1 reply; 10+ messages in thread
From: Sakari Ailus @ 2014-11-16 16:40 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,

Thank you for the review.

On Fri, Nov 14, 2014 at 09:46:54AM +0100, Hans Verkuil wrote:
> On 11/09/2014 12:04 AM, Sakari Ailus wrote:
> > The V4L2_SEL_TGT_NATIVE_SIZE target is used to denote e.g. the size of a
> > sensor's pixel array.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> > ---
> >  Documentation/DocBook/media/v4l/selections-common.xml |    8 ++++++++
> >  include/uapi/linux/v4l2-common.h                      |    2 ++
> >  2 files changed, 10 insertions(+)
> > 
> > diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml
> > index 7502f78..5fc833a 100644
> > --- a/Documentation/DocBook/media/v4l/selections-common.xml
> > +++ b/Documentation/DocBook/media/v4l/selections-common.xml
> > @@ -63,6 +63,14 @@
> >  	    <entry>Yes</entry>
> >  	  </row>
> >  	  <row>
> > +	    <entry><constant>V4L2_SEL_TGT_NATIVE_SIZE</constant></entry>
> > +	    <entry>0x0003</entry>
> > +	    <entry>The native size of the device, e.g. a sensor's
> > +	    pixel array.</entry>
> 
> You might want to state that top and left are always 0.

Fixed. I also added a patch to fix this in the smiapp driver --- the values
were uninitialised. :-P

> > +	    <entry>Yes</entry>
> > +	    <entry>Yes</entry>
> > +	  </row>
> > +	  <row>
> >  	    <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry>
> >  	    <entry>0x0100</entry>
> >  	    <entry>Compose rectangle. Used to configure scaling
> > diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
> > index 2f6f8ca..1527398 100644
> > --- a/include/uapi/linux/v4l2-common.h
> > +++ b/include/uapi/linux/v4l2-common.h
> > @@ -43,6 +43,8 @@
> >  #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
> >  /* Cropping bounds */
> >  #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
> > +/* Native frame size */
> > +#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
> >  /* Current composing area */
> >  #define V4L2_SEL_TGT_COMPOSE		0x0100
> >  /* Default composing area */
> > 
> 
> I like this. This would also make it possible to set the 'canvas' size of an
> mem2mem device. Currently calling S_FMT for a mem2mem device cannot setup any
> scaler since there is no native size. Instead S_FMT effectively *sets* the native
> size. The same is true for webcams with a scaler, which is why you added this in
> the first place. Obviously for sensors this target is read-only, but for a mem2mem
> device it can be writable as well.
> 
> However, to make full use of this you also need to add input and output
> capabilities if the native size can be set:
> 
> 	V4L2_IN_CAP_NATIVE_SIZE
> 	V4L2_OUT_CAP_NATIVE_SIZE

Do you think this would require a capability flag, rather than just
returning an error if the target is unsettable, as we otherwise already do
if a selection target isn't supported? For the compound controls it's even
easier, you just don't have a read-only flag set in the equivalent control.

> (see ENUMINPUT/ENUMOUTPUT)
> 
> This would nicely fill in a hole in the V4L2 Spec.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

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

* Re: [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
  2014-11-16 16:40     ` Sakari Ailus
@ 2014-11-17  9:34       ` Hans Verkuil
  2014-11-17 15:21         ` Sakari Ailus
  0 siblings, 1 reply; 10+ messages in thread
From: Hans Verkuil @ 2014-11-17  9:34 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media

On 11/16/2014 05:40 PM, Sakari Ailus wrote:
> Hi Hans,
> 
> Thank you for the review.
> 
> On Fri, Nov 14, 2014 at 09:46:54AM +0100, Hans Verkuil wrote:
>> On 11/09/2014 12:04 AM, Sakari Ailus wrote:
>>> The V4L2_SEL_TGT_NATIVE_SIZE target is used to denote e.g. the size of a
>>> sensor's pixel array.
>>>
>>> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
>>> ---
>>>  Documentation/DocBook/media/v4l/selections-common.xml |    8 ++++++++
>>>  include/uapi/linux/v4l2-common.h                      |    2 ++
>>>  2 files changed, 10 insertions(+)
>>>
>>> diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml
>>> index 7502f78..5fc833a 100644
>>> --- a/Documentation/DocBook/media/v4l/selections-common.xml
>>> +++ b/Documentation/DocBook/media/v4l/selections-common.xml
>>> @@ -63,6 +63,14 @@
>>>  	    <entry>Yes</entry>
>>>  	  </row>
>>>  	  <row>
>>> +	    <entry><constant>V4L2_SEL_TGT_NATIVE_SIZE</constant></entry>
>>> +	    <entry>0x0003</entry>
>>> +	    <entry>The native size of the device, e.g. a sensor's
>>> +	    pixel array.</entry>
>>
>> You might want to state that top and left are always 0.
> 
> Fixed. I also added a patch to fix this in the smiapp driver --- the values
> were uninitialised. :-P
> 
>>> +	    <entry>Yes</entry>
>>> +	    <entry>Yes</entry>
>>> +	  </row>
>>> +	  <row>
>>>  	    <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry>
>>>  	    <entry>0x0100</entry>
>>>  	    <entry>Compose rectangle. Used to configure scaling
>>> diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
>>> index 2f6f8ca..1527398 100644
>>> --- a/include/uapi/linux/v4l2-common.h
>>> +++ b/include/uapi/linux/v4l2-common.h
>>> @@ -43,6 +43,8 @@
>>>  #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
>>>  /* Cropping bounds */
>>>  #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
>>> +/* Native frame size */
>>> +#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
>>>  /* Current composing area */
>>>  #define V4L2_SEL_TGT_COMPOSE		0x0100
>>>  /* Default composing area */
>>>
>>
>> I like this. This would also make it possible to set the 'canvas' size of an
>> mem2mem device. Currently calling S_FMT for a mem2mem device cannot setup any
>> scaler since there is no native size. Instead S_FMT effectively *sets* the native
>> size. The same is true for webcams with a scaler, which is why you added this in
>> the first place. Obviously for sensors this target is read-only, but for a mem2mem
>> device it can be writable as well.
>>
>> However, to make full use of this you also need to add input and output
>> capabilities if the native size can be set:
>>
>> 	V4L2_IN_CAP_NATIVE_SIZE
>> 	V4L2_OUT_CAP_NATIVE_SIZE
> 
> Do you think this would require a capability flag, rather than just
> returning an error if the target is unsettable, as we otherwise already do
> if a selection target isn't supported? For the compound controls it's even
> easier, you just don't have a read-only flag set in the equivalent control.

No, I really want a capability flag here. Otherwise applications would have to
call ENUMINPUT *and* call G_SELECTION followed by S_SELECTION just to test if
it can be set. Besides, this is also a per-input capability, so you want to get
hold of the capabilities without having to do a S_INPUT first. I.e. you don't
want to have to do this:

	// pseudo code just to give the idea
	for (i = 0; i < max_input; i++) {
		struct v4l2_selection sel = { NATIVE_SIZE };

		ioctl(S_INPUT, i);
		ioctl(G_SELECTION, &sel);
		if (ioctl(S_SELECTION, &sel))
			// does not support NATIVE_SIZE
	}

> 
>> (see ENUMINPUT/ENUMOUTPUT)
>>
>> This would nicely fill in a hole in the V4L2 Spec.
> 

Regards,

	Hans

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

* Re: [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target
  2014-11-17  9:34       ` Hans Verkuil
@ 2014-11-17 15:21         ` Sakari Ailus
  0 siblings, 0 replies; 10+ messages in thread
From: Sakari Ailus @ 2014-11-17 15:21 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,

On Mon, Nov 17, 2014 at 10:34:37AM +0100, Hans Verkuil wrote:
> On 11/16/2014 05:40 PM, Sakari Ailus wrote:
> > Hi Hans,
> > 
> > Thank you for the review.
> > 
> > On Fri, Nov 14, 2014 at 09:46:54AM +0100, Hans Verkuil wrote:
> >> On 11/09/2014 12:04 AM, Sakari Ailus wrote:
> >>> The V4L2_SEL_TGT_NATIVE_SIZE target is used to denote e.g. the size of a
> >>> sensor's pixel array.
> >>>
> >>> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> >>> ---
> >>>  Documentation/DocBook/media/v4l/selections-common.xml |    8 ++++++++
> >>>  include/uapi/linux/v4l2-common.h                      |    2 ++
> >>>  2 files changed, 10 insertions(+)
> >>>
> >>> diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml
> >>> index 7502f78..5fc833a 100644
> >>> --- a/Documentation/DocBook/media/v4l/selections-common.xml
> >>> +++ b/Documentation/DocBook/media/v4l/selections-common.xml
> >>> @@ -63,6 +63,14 @@
> >>>  	    <entry>Yes</entry>
> >>>  	  </row>
> >>>  	  <row>
> >>> +	    <entry><constant>V4L2_SEL_TGT_NATIVE_SIZE</constant></entry>
> >>> +	    <entry>0x0003</entry>
> >>> +	    <entry>The native size of the device, e.g. a sensor's
> >>> +	    pixel array.</entry>
> >>
> >> You might want to state that top and left are always 0.
> > 
> > Fixed. I also added a patch to fix this in the smiapp driver --- the values
> > were uninitialised. :-P
> > 
> >>> +	    <entry>Yes</entry>
> >>> +	    <entry>Yes</entry>
> >>> +	  </row>
> >>> +	  <row>
> >>>  	    <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry>
> >>>  	    <entry>0x0100</entry>
> >>>  	    <entry>Compose rectangle. Used to configure scaling
> >>> diff --git a/include/uapi/linux/v4l2-common.h b/include/uapi/linux/v4l2-common.h
> >>> index 2f6f8ca..1527398 100644
> >>> --- a/include/uapi/linux/v4l2-common.h
> >>> +++ b/include/uapi/linux/v4l2-common.h
> >>> @@ -43,6 +43,8 @@
> >>>  #define V4L2_SEL_TGT_CROP_DEFAULT	0x0001
> >>>  /* Cropping bounds */
> >>>  #define V4L2_SEL_TGT_CROP_BOUNDS	0x0002
> >>> +/* Native frame size */
> >>> +#define V4L2_SEL_TGT_NATIVE_SIZE	0x0003
> >>>  /* Current composing area */
> >>>  #define V4L2_SEL_TGT_COMPOSE		0x0100
> >>>  /* Default composing area */
> >>>
> >>
> >> I like this. This would also make it possible to set the 'canvas' size of an
> >> mem2mem device. Currently calling S_FMT for a mem2mem device cannot setup any
> >> scaler since there is no native size. Instead S_FMT effectively *sets* the native
> >> size. The same is true for webcams with a scaler, which is why you added this in
> >> the first place. Obviously for sensors this target is read-only, but for a mem2mem
> >> device it can be writable as well.
> >>
> >> However, to make full use of this you also need to add input and output
> >> capabilities if the native size can be set:
> >>
> >> 	V4L2_IN_CAP_NATIVE_SIZE
> >> 	V4L2_OUT_CAP_NATIVE_SIZE
> > 
> > Do you think this would require a capability flag, rather than just
> > returning an error if the target is unsettable, as we otherwise already do
> > if a selection target isn't supported? For the compound controls it's even
> > easier, you just don't have a read-only flag set in the equivalent control.
> 
> No, I really want a capability flag here. Otherwise applications would have to
> call ENUMINPUT *and* call G_SELECTION followed by S_SELECTION just to test if
> it can be set. Besides, this is also a per-input capability, so you want to get
> hold of the capabilities without having to do a S_INPUT first. I.e. you don't
> want to have to do this:
> 
> 	// pseudo code just to give the idea
> 	for (i = 0; i < max_input; i++) {
> 		struct v4l2_selection sel = { NATIVE_SIZE };
> 
> 		ioctl(S_INPUT, i);
> 		ioctl(G_SELECTION, &sel);
> 		if (ioctl(S_SELECTION, &sel))
> 			// does not support NATIVE_SIZE
> 	}

Fair enough. I'll add a patch for that.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

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

end of thread, other threads:[~2014-11-17 15:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-08 23:04 [PATCH 0/3] Add V4L2_SEL_TGT_NATIVE_SIZE target Sakari Ailus
2014-11-08 23:04 ` [PATCH 1/3] v4l: Clean up sub-device format documentation Sakari Ailus
2014-11-14  8:29   ` Hans Verkuil
2014-11-16 14:06     ` Sakari Ailus
2014-11-08 23:04 ` [PATCH 2/3] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target Sakari Ailus
2014-11-14  8:46   ` Hans Verkuil
2014-11-16 16:40     ` Sakari Ailus
2014-11-17  9:34       ` Hans Verkuil
2014-11-17 15:21         ` Sakari Ailus
2014-11-08 23:04 ` [PATCH 3/3] smiapp: Support V4L2_SEL_TGT_NATIVE_SIZE Sakari Ailus

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.