2019-10-24 23:10:10

by Ricardo Ribalda Delgado

[permalink] [raw]
Subject: [PATCH] Documentation: media: *_DEFAULT targets for subdevs

Some sensors have optical blanking areas, this is, pixels that are
painted and do not account for light, only noise.

These special pixels are very useful for calibrating the sensor, but
should not be displayed on a DEFAULT target.

Signed-off-by: Ricardo Ribalda Delgado <[email protected]>
---
.../media/uapi/v4l/v4l2-selection-targets.rst | 24 ++++---------------
1 file changed, 5 insertions(+), 19 deletions(-)

diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
index f74f239b0510..4b356f66525e 100644
--- a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
+++ b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
@@ -19,7 +19,7 @@ of the two interfaces they are used.

.. _v4l2-selection-targets-table:

-.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{7.4cm}|p{1.2cm}|p{1.4cm}|
+.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{10.0cm}|

.. flat-table:: Selection target definitions
:header-rows: 1
@@ -28,49 +28,35 @@ of the two interfaces they are used.
* - Target name
- id
- Definition
- - Valid for V4L2
- - Valid for V4L2 subdev
* - ``V4L2_SEL_TGT_CROP``
- 0x0000
- Crop rectangle. Defines the cropped area.
- - Yes
- - Yes
* - ``V4L2_SEL_TGT_CROP_DEFAULT``
- 0x0001
- Suggested cropping rectangle that covers the "whole picture".
- - Yes
- - No
+ This includes only active pixels and excludes other non-active
+ pixels such as Optical Blanking.
* - ``V4L2_SEL_TGT_CROP_BOUNDS``
- 0x0002
- Bounds of the crop rectangle. All valid crop rectangles fit inside
the crop bounds rectangle.
- - Yes
- - Yes
* - ``V4L2_SEL_TGT_NATIVE_SIZE``
- 0x0003
- The native size of the device, e.g. a sensor's pixel array.
``left`` and ``top`` fields are zero for this target.
- - Yes
- - Yes
* - ``V4L2_SEL_TGT_COMPOSE``
- 0x0100
- Compose rectangle. Used to configure scaling and composition.
- - Yes
- - Yes
* - ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
- 0x0101
- Suggested composition rectangle that covers the "whole picture".
- - Yes
- - No
+ This includes only active pixels and excludes other non-active
+ pixels such as Optical Blanking.
* - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
- 0x0102
- Bounds of the compose rectangle. All valid compose rectangles fit
inside the compose bounds rectangle.
- - Yes
- - Yes
* - ``V4L2_SEL_TGT_COMPOSE_PADDED``
- 0x0103
- The active area and all padding pixels that are inserted or
modified by hardware.
- - Yes
- - No
--
2.23.0


2019-10-25 08:25:07

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH] Documentation: media: *_DEFAULT targets for subdevs

Hi Ricardo,

On Thu, Oct 24, 2019 at 10:40:14AM +0200, Ricardo Ribalda Delgado wrote:
> Some sensors have optical blanking areas, this is, pixels that are
> painted and do not account for light, only noise.
>
> These special pixels are very useful for calibrating the sensor, but
> should not be displayed on a DEFAULT target.
>
> Signed-off-by: Ricardo Ribalda Delgado <[email protected]>
> ---
> .../media/uapi/v4l/v4l2-selection-targets.rst | 24 ++++---------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
>
> diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> index f74f239b0510..4b356f66525e 100644
> --- a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> +++ b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> @@ -19,7 +19,7 @@ of the two interfaces they are used.
>
> .. _v4l2-selection-targets-table:
>
> -.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{7.4cm}|p{1.2cm}|p{1.4cm}|
> +.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{10.0cm}|
>
> .. flat-table:: Selection target definitions
> :header-rows: 1
> @@ -28,49 +28,35 @@ of the two interfaces they are used.
> * - Target name
> - id
> - Definition
> - - Valid for V4L2
> - - Valid for V4L2 subdev
> * - ``V4L2_SEL_TGT_CROP``
> - 0x0000
> - Crop rectangle. Defines the cropped area.
> - - Yes
> - - Yes
> * - ``V4L2_SEL_TGT_CROP_DEFAULT``
> - 0x0001
> - Suggested cropping rectangle that covers the "whole picture".
> - - Yes
> - - No
> + This includes only active pixels and excludes other non-active
> + pixels such as Optical Blanking.

s/Optical Blanking/black pixels/

> * - ``V4L2_SEL_TGT_CROP_BOUNDS``
> - 0x0002
> - Bounds of the crop rectangle. All valid crop rectangles fit inside
> the crop bounds rectangle.
> - - Yes
> - - Yes
> * - ``V4L2_SEL_TGT_NATIVE_SIZE``
> - 0x0003
> - The native size of the device, e.g. a sensor's pixel array.
> ``left`` and ``top`` fields are zero for this target.
> - - Yes
> - - Yes
> * - ``V4L2_SEL_TGT_COMPOSE``
> - 0x0100
> - Compose rectangle. Used to configure scaling and composition.
> - - Yes
> - - Yes
> * - ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
> - 0x0101
> - Suggested composition rectangle that covers the "whole picture".
> - - Yes
> - - No
> + This includes only active pixels and excludes other non-active
> + pixels such as Optical Blanking.

This isn't relevant for the compose default.

> * - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
> - 0x0102
> - Bounds of the compose rectangle. All valid compose rectangles fit
> inside the compose bounds rectangle.
> - - Yes
> - - Yes
> * - ``V4L2_SEL_TGT_COMPOSE_PADDED``
> - 0x0103
> - The active area and all padding pixels that are inserted or
> modified by hardware.
> - - Yes
> - - No

The padding refers to the dimensions of the memory buffer. I don't think the
intent is to support that on sub-devices, is it?

Please just change the CROP_DEFAULT, not the rest.

--
Regards,

Sakari Ailus
[email protected]