2019-10-25 11:31:48

by Ricardo Ribalda Delgado

[permalink] [raw]
Subject: [PATCH v2] 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]>
---

v2: Changes by Sakari Ailus <[email protected]>

Only change CROP_DEFAULT

Documentation/media/uapi/v4l/v4l2-selection-targets.rst | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
index f74f239b0510..41c6674ec283 100644
--- a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
+++ b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
@@ -38,8 +38,10 @@ of the two interfaces they are used.
* - ``V4L2_SEL_TGT_CROP_DEFAULT``
- 0x0001
- Suggested cropping rectangle that covers the "whole picture".
+ This includes only active pixels and excludes other non-active
+ pixels such as black pixels.
+ - Yes
- Yes
- - No
* - ``V4L2_SEL_TGT_CROP_BOUNDS``
- 0x0002
- Bounds of the crop rectangle. All valid crop rectangles fit inside
@@ -61,7 +63,7 @@ of the two interfaces they are used.
- 0x0101
- Suggested composition rectangle that covers the "whole picture".
- Yes
- - No
+ - Yes
* - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
- 0x0102
- Bounds of the compose rectangle. All valid compose rectangles fit
--
2.23.0


2019-10-25 11:54:44

by Sakari Ailus

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

Hi Ricardo,

On Thu, Oct 24, 2019 at 02:35:25PM +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]>
> ---
>
> v2: Changes by Sakari Ailus <[email protected]>
>
> Only change CROP_DEFAULT
>
> Documentation/media/uapi/v4l/v4l2-selection-targets.rst | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> index f74f239b0510..41c6674ec283 100644
> --- a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> +++ b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> @@ -38,8 +38,10 @@ of the two interfaces they are used.
> * - ``V4L2_SEL_TGT_CROP_DEFAULT``
> - 0x0001
> - Suggested cropping rectangle that covers the "whole picture".
> + This includes only active pixels and excludes other non-active
> + pixels such as black pixels.
> + - Yes
> - Yes
> - - No
> * - ``V4L2_SEL_TGT_CROP_BOUNDS``
> - 0x0002
> - Bounds of the crop rectangle. All valid crop rectangles fit inside
> @@ -61,7 +63,7 @@ of the two interfaces they are used.
> - 0x0101
> - Suggested composition rectangle that covers the "whole picture".
> - Yes
> - - No
> + - Yes

This is COMPOSE_DEFAULT that wasn't meant to be changed. So with this chunk
dropped,

Acked-by: Sakari Ailus <[email protected]>

> * - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
> - 0x0102
> - Bounds of the compose rectangle. All valid compose rectangles fit

--
Sakari Ailus
[email protected]

2019-10-25 11:56:59

by Ricardo Ribalda Delgado

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

Hi Sakari

Lets say the user wants to select the active pixels. He needs to set
the crop and the compose.

1) he gets V4L2_SEL_TGT_CROP_DEFAULT

2) he sets V4L2_SEL_TGT_CROP

How does he knows which compose to use? What if the compose starts at
(0,0) instead of (32,32)....?

I think it is easier if

3) he gets V4L2_SEL_TGT_COMPOSE_DEFAULT

4) he sets V4L2_SEL_TGT_COMPOSE

This is similar as how we do it today with a v4l2_device. What if we
simply replicate that behaviour?


Best regards

On Thu, Oct 24, 2019 at 3:32 PM Sakari Ailus
<[email protected]> wrote:
>
> Hi Ricardo,
>
> On Thu, Oct 24, 2019 at 02:35:25PM +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]>
> > ---
> >
> > v2: Changes by Sakari Ailus <[email protected]>
> >
> > Only change CROP_DEFAULT
> >
> > Documentation/media/uapi/v4l/v4l2-selection-targets.rst | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> > index f74f239b0510..41c6674ec283 100644
> > --- a/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> > +++ b/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
> > @@ -38,8 +38,10 @@ of the two interfaces they are used.
> > * - ``V4L2_SEL_TGT_CROP_DEFAULT``
> > - 0x0001
> > - Suggested cropping rectangle that covers the "whole picture".
> > + This includes only active pixels and excludes other non-active
> > + pixels such as black pixels.
> > + - Yes
> > - Yes
> > - - No
> > * - ``V4L2_SEL_TGT_CROP_BOUNDS``
> > - 0x0002
> > - Bounds of the crop rectangle. All valid crop rectangles fit inside
> > @@ -61,7 +63,7 @@ of the two interfaces they are used.
> > - 0x0101
> > - Suggested composition rectangle that covers the "whole picture".
> > - Yes
> > - - No
> > + - Yes
>
> This is COMPOSE_DEFAULT that wasn't meant to be changed. So with this chunk
> dropped,
>
> Acked-by: Sakari Ailus <[email protected]>
>
> > * - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
> > - 0x0102
> > - Bounds of the compose rectangle. All valid compose rectangles fit
>
> --
> Sakari Ailus
> [email protected]

2019-10-25 13:34:32

by Ricardo Ribalda Delgado

[permalink] [raw]
Subject: [PATCH v2] v4l2-compliance: Allow all the selection targets for subdevs

Subdev can also have non-active pixels, and using the _DEFAULT targets
we can capture only the active pixels.

Signed-off-by: Ricardo Ribalda Delgado <[email protected]>
---
utils/v4l2-compliance/v4l2-test-subdevs.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/utils/v4l2-compliance/v4l2-test-subdevs.cpp b/utils/v4l2-compliance/v4l2-test-subdevs.cpp
index 29987b31..c3979404 100644
--- a/utils/v4l2-compliance/v4l2-test-subdevs.cpp
+++ b/utils/v4l2-compliance/v4l2-test-subdevs.cpp
@@ -395,11 +395,11 @@ struct target_info {

static target_info targets[] = {
{ V4L2_SEL_TGT_CROP, true },
- { V4L2_SEL_TGT_CROP_DEFAULT, false, true },
+ { V4L2_SEL_TGT_CROP_DEFAULT, true, true },
{ V4L2_SEL_TGT_CROP_BOUNDS, true, true },
{ V4L2_SEL_TGT_NATIVE_SIZE, true },
{ V4L2_SEL_TGT_COMPOSE, true },
- { V4L2_SEL_TGT_COMPOSE_DEFAULT, false, true },
+ { V4L2_SEL_TGT_COMPOSE_DEFAULT, true, true },
{ V4L2_SEL_TGT_COMPOSE_BOUNDS, true, true },
{ V4L2_SEL_TGT_COMPOSE_PADDED, false, true },
{ ~0U },
--
2.23.0

2019-10-25 13:59:09

by Sakari Ailus

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

Hi Ricardo,

On Thu, Oct 24, 2019 at 03:43:36PM +0200, Ricardo Ribalda Delgado wrote:
> Hi Sakari
>
> Lets say the user wants to select the active pixels. He needs to set
> the crop and the compose.
>
> 1) he gets V4L2_SEL_TGT_CROP_DEFAULT
>
> 2) he sets V4L2_SEL_TGT_CROP
>
> How does he knows which compose to use? What if the compose starts at
> (0,0) instead of (32,32)....?
>
> I think it is easier if
>
> 3) he gets V4L2_SEL_TGT_COMPOSE_DEFAULT
>
> 4) he sets V4L2_SEL_TGT_COMPOSE
>
> This is similar as how we do it today with a v4l2_device. What if we
> simply replicate that behaviour?

The compose rectangle is relative to the crop rectangle (if there's a crop
rectangle), and always starts at 0,0.

See:

<URL:https://hverkuil.home.xs4all.nl/spec/uapi/v4l/dev-subdev.html#selections-cropping-scaling-and-composition>

--
Sakari Ailus
[email protected]