Hi Sakari thanks for the update On Fri, Nov 29, 2024 at 11:51:38AM +0200, Sakari Ailus wrote: > Document scaling and post-scaler digital crop operations for the common > raw sensor model. > Signedg-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > --- > .../media/v4l/subdev-config-model.rst | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/Documentation/userspace-api/media/v4l/subdev-config-model.rst b/Documentation/userspace-api/media/v4l/subdev-config-model.rst > index 4ddf98e3143c..1ae20800f34b 100644 > --- a/Documentation/userspace-api/media/v4l/subdev-config-model.rst > +++ b/Documentation/userspace-api/media/v4l/subdev-config-model.rst > @@ -119,9 +119,13 @@ The digital crop operation takes place after binning and sub-sampling. It is > configured by setting the ``V4L2_SEL_TGT_CROP`` rectangle on (pad, stream) pair > 0/0. The resulting image size is further output by the sensor. I think this last line "The resulting image size is further output by the sensor." doesn't apply anymore now that we have [digital crop + digital scaling + post-scaling crop]. > > +The digital scaling operation is performed after the digital crop. It is > +configured by setting the ``V4L2_SEL_TGT_COMPOSE`` rectangle on (pad, stream) pair > +0/0, relative to the digital crop. > + "to the digital crop rectangle." maybe ? > The sensor's output mbus code is configured by setting the format on the (pad, > -stream) pair 0/0. When setting the format, always use the same width and height > -as for the digital crop setting. > +stream) pair 0/0. The width and height fields are used to configure post-scaler > +digital crop, affecting the right side and the bottom of the frame. > I would introduce the (optional) presence of an additional post-scaler digital crop step explicitly, also I get this is kind of rare feature, isn't it ? ------------------------------------------------------------------------------- The digital scaling operation is performed after the digital crop. It is configured by setting the ``V4L2_SEL_TGT_COMPOSE`` rectangle on (pad, stream) pair 0/0, relative to the digital crop rectangle. The sensor's output mbus code is configured by setting the format on the (pad, stream) pair 0/0. An optional post-scaler crop step might be performed by specifying a width and height smaller than the digital scaling rectangle. If post-scaler cropping is not supported the format's sizes will always match the compose rectangle sizes applied on the same 0/0 (pad, stream) pair. ------------------------------------------------------------------------------- I didn't get when we spoke about it where the "affecting the right side and bottom of the frame" comes from when talking about post-scaler cropping. > Drivers may only support some of even none of these configurations, in which > case they do not expose the corresponding selection rectangles. If any selection > @@ -179,12 +183,19 @@ Also refer to :ref:`Selection targets <v4l2-selection-targets-table>`. > - X > - Digital crop. This rectangle is relative to the ``V4L2_SEL_TGT_COMPOSE`` > rectangle on (pad, stream) pair 1/0. > + * - 0/0 > + - ``V4L2_SEL_TGT_COMPOSE`` > + - \- > + - X > + - Scaling. This rectangle is relative to the ``V4L2_SEL_TGT_CROP`` "Digital scaling" ? or is not necessary ? > + rectangle on (pad, stream) pair 0/0. > * - 0/0 > - Format > - X > - X > - - Image data source format. Always assign the width and height fields of > - the format to the same values than for the ``V4L2_SEL_TGT_CROP`` > + - Image data source format and post-scaler crop. The width and height > + fields of the format, used to configure post-scaler crop on the right > + and bottom edges of the image, are related to the ``V4L2_SEL_TGT_COMPOSE`` > rectangle on (pad, stream) pair 0/0. The media bus code reflects the > pixel data output of the sensor. > * - 0/1 > -- > 2.39.5 > >