public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: linux-media@vger.kernel.org, hans@jjverkuil.nl,
	laurent.pinchart@ideasonboard.com,
	Prabhakar <prabhakar.csengg@gmail.com>,
	"Kate Hsuan" <hpa@redhat.com>,
	"Alexander Shiyan" <eagle.alexander923@gmail.com>,
	"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
	"Tommaso Merciai" <tomm.merciai@gmail.com>,
	"Umang Jain" <umang.jain@ideasonboard.com>,
	"Benjamin Mugnier" <benjamin.mugnier@foss.st.com>,
	"Sylvain Petinot" <sylvain.petinot@foss.st.com>,
	"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
	"Julien Massot" <julien.massot@collabora.com>,
	"Naushir Patuck" <naush@raspberrypi.com>,
	"Yan, Dongcheng" <dongcheng.yan@intel.com>,
	"Cao, Bingbu" <bingbu.cao@intel.com>,
	"Qiu, Tian Shu" <tian.shu.qiu@intel.com>,
	"Wang, Hongju" <hongju.wang@intel.com>,
	"Stefan Klug" <stefan.klug@ideasonboard.com>,
	"Mirela Rabulea" <mirela.rabulea@nxp.com>,
	"André Apitzsch" <git@apitzsch.eu>,
	"Heimir Thor Sverrisson" <heimir.sverrisson@gmail.com>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>,
	"Mehdi Djait" <mehdi.djait@linux.intel.com>,
	"Ricardo Ribalda Delgado" <ribalda@kernel.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>
Subject: Re: [PATCH v11 39/66] media: Documentation: Add subdev configuration models, raw sensor model
Date: Fri, 3 Oct 2025 16:15:34 +0300	[thread overview]
Message-ID: <aN_MdmDhQPyLnQqD@kekkonen.localdomain> (raw)
In-Reply-To: <r3kv25lxbyjtuufb2ze27wp5gbqnbgnps2ytk2gy2qkaeiijdd@ydn4ptkze2qp>

Hi Jacopo,

On Fri, Oct 03, 2025 at 09:10:06AM +0200, Jacopo Mondi wrote:
> Hi Sakari,
> 
> On Thu, Oct 02, 2025 at 09:22:32AM +0200, Jacopo Mondi wrote:
> > Hi Sakari
> >
> > On Thu, Oct 02, 2025 at 10:09:52AM +0300, Sakari Ailus wrote:
> > > Hi Jacopo,
> > >
> > > On Thu, Sep 25, 2025 at 12:31:09PM +0200, Jacopo Mondi wrote:
> > > > Hi Sakari
> > > >
> > > > On Fri, Sep 19, 2025 at 03:17:56PM +0300, Sakari Ailus wrote:
> > > > > Hi Jacopo,
> > > > >
> > > > > On Mon, Sep 01, 2025 at 07:09:29PM +0200, Jacopo Mondi wrote:
> > > > > > Hi Sakari
> > > > > >
> > > > > > On Mon, Aug 25, 2025 at 12:50:40PM +0300, Sakari Ailus wrote:
> > > > > > > Sub-device configuration models define what V4L2 API elements are
> > > > > > > available on a compliant sub-device and how do they behave.
> > > > > > >
> > > > > > > The patch also adds a model for common raw sensors.
> > > > > > >
> > > > > > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > > > > > > Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
> > > > > > > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > > > > > Reviewed-by: Mirela Rabulea <mirela.rabulea@nxp.com>
> > > > > > > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > > > > > ---
> > > > > > >  .../media/drivers/camera-sensor.rst           |   4 +
> > > > > > >  .../media/v4l/common-raw-sensor.dia           | 442 ++++++++++++++++++
> > > > > > >  .../media/v4l/common-raw-sensor.svg           | 134 ++++++
> > > > > > >  .../userspace-api/media/v4l/dev-subdev.rst    |   2 +
> > > > > > >  .../media/v4l/subdev-config-model.rst         | 230 +++++++++
> > > > > > >  5 files changed, 812 insertions(+)
> > > > > > >  create mode 100644 Documentation/userspace-api/media/v4l/common-raw-sensor.dia
> > > > > > >  create mode 100644 Documentation/userspace-api/media/v4l/common-raw-sensor.svg
> > > > > > >  create mode 100644 Documentation/userspace-api/media/v4l/subdev-config-model.rst
> > > > > > >
> > > > > > > diff --git a/Documentation/userspace-api/media/drivers/camera-sensor.rst b/Documentation/userspace-api/media/drivers/camera-sensor.rst
> > > > > > > index cbbfbb0d8273..39f3f91c6733 100644
> > > > > > > --- a/Documentation/userspace-api/media/drivers/camera-sensor.rst
> > > > > > > +++ b/Documentation/userspace-api/media/drivers/camera-sensor.rst
> > > > > > > @@ -18,6 +18,8 @@ binning functionality. The sensor drivers belong to two distinct classes, freely
> > > > > > >  configurable and register list-based drivers, depending on how the driver
> > > > > > >  configures this functionality.
> > > > > > >
> > > > > > > +Also see :ref:`media_subdev_config_model_common_raw_sensor`.
> > > > > > > +
> > > > > > >  Freely configurable camera sensor drivers
> > > > > > >  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > > > > >
> > > > > > > @@ -118,6 +120,8 @@ values programmed by the register sequences. The default values of these
> > > > > > >  controls shall be 0 (disabled). Especially these controls shall not be inverted,
> > > > > > >  independently of the sensor's mounting rotation.
> > > > > > >
> > > > > > > +.. _media_using_camera_sensor_drivers_embedded_data:
> > > > > > > +
> > > > > > >  Embedded data
> > > > > > >  -------------
> > > > > > >
> > > > > > > diff --git a/Documentation/userspace-api/media/v4l/common-raw-sensor.dia b/Documentation/userspace-api/media/v4l/common-raw-sensor.dia
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..24b3f2b2a626
> > > > > > > --- /dev/null
> > > > > > > +++ b/Documentation/userspace-api/media/v4l/common-raw-sensor.dia
> > > > > >
> > > > > > [snip]
> > > > > >
> > > > > > > diff --git a/Documentation/userspace-api/media/v4l/common-raw-sensor.svg b/Documentation/userspace-api/media/v4l/common-raw-sensor.svg
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..1d6055da2519
> > > > > > > --- /dev/null
> > > > > > > +++ b/Documentation/userspace-api/media/v4l/common-raw-sensor.svg
> > > > > >
> > > > > > [snip]
> > > > > >
> > > > > > > diff --git a/Documentation/userspace-api/media/v4l/dev-subdev.rst b/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > > > index bb86cadfad1c..b0774b9a9b71 100644
> > > > > > > --- a/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > > > +++ b/Documentation/userspace-api/media/v4l/dev-subdev.rst
> > > > > > > @@ -846,3 +846,5 @@ stream while it may be possible to enable and disable the embedded data stream.
> > > > > > >
> > > > > > >  The embedded data format does not need to be configured on the sensor's pads as
> > > > > > >  the format is dictated by the pixel data format in this case.
> > > > > > > +
> > > > > > > +.. include:: subdev-config-model.rst
> > > > > > > diff --git a/Documentation/userspace-api/media/v4l/subdev-config-model.rst b/Documentation/userspace-api/media/v4l/subdev-config-model.rst
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..1e6c58931ea0
> > > > > > > --- /dev/null
> > > > > > > +++ b/Documentation/userspace-api/media/v4l/subdev-config-model.rst
> > > > > > > @@ -0,0 +1,230 @@
> > > > > > > +.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
> > > > > > > +
> > > > > > > +.. _media_subdev_config_model:
> > > > > > > +
> > > > > > > +Sub-device configuration models
> > > > > > > +===============================
> > > > > > > +
> > > > > > > +The V4L2 specification defines a subdev API that exposes three type of
> > > > > > > +configuration elements: formats, selection rectangles and controls. The
> > > > > > > +specification contains generic information about how those configuration
> > > > > > > +elements behave, but not precisely how they apply to particular hardware
> > > > > > > +features. We leave some leeway to drivers to decide how to map selection
> > > > > > > +rectangles to device features, as long as they comply with the V4L2
> > > > > > > +specification. This is needed as hardware features differ between devices, so
> > > > > > > +it's the driver's responsibility to handle this mapping.
> > > > > > > +
> > > > > > > +Unfortunately, this lack of clearly defined mapping in the specification has led
> > > > > > > +to different drivers mapping the same hardware features to different API
> > > > > > > +elements, or implementing the API elements with slightly different
> > > > > > > +behaviours. Furthermore, many drivers have implemented selection rectangles in
> > > > > > > +ways that do not comply with the V4L2 specification. All of this makes userspace
> > > > > > > +development difficult.
> > > > > > > +
> > > > > > > +Sub-device configuration models specify in detail what the user space can expect
> > > > > > > +from a sub-device in terms of V4L2 sub-device interface support, semantics
> > > > > > > +included.
> > > > > > > +
> > > > > > > +A sub-device may implement more than one configuration model at the same
> > > > > > > +time. The implemented configuration models can be obtained from the sub-device's
> > > > > > > +``V4L2_CID_CONFIG_MODEL`` control.
> > > > > > > +
> > > > > > > +.. _media_subdev_config_model_common_raw_sensor:
> > > > > > > +
> > > > > > > +Common raw camera sensor model
> > > > > > > +------------------------------
> > > > > > > +
> > > > > > > +The common raw camera sensor model defines a set of enumeration and
> > > > > > > +configuration interfaces (formats, selections etc.) that cover the vast majority
> > > > > > > +of functionality of raw camera sensors. Not all of the interfaces are
> > > > > > > +necessarily offered by all drivers.
> > > > > > > +
> > > > > > > +A sub-device complies with the common raw sensor model if the
> > > > > > > +``V4L2_CONFIG_MODEL_COMMON_RAW_SENSOR`` bit is set in the
> > > > > > > +``V4L2_CID_CONFIG_MODEL`` control of the sub-device.
> > > > > > > +
> > > > > > > +The common raw camera sensor model is aligned with
> > > > > > > +:ref:`media_using_camera_sensor_drivers`. Please refer to that regarding aspects
> > > > > > > +not specified here.
> > > > > > > +
> > > > > > > +Each camera sensor implementing the common raw sensor model exposes a single
> > > > > > > +V4L2 sub-device. The sub-device contains a single source pad (0) and two or more
> > > > > > > +internal pads: one or more image data internal pads (starting from 1) and
> > > > > > > +optionally an embedded data pad.
> > > > > > > +
> > > > > > > +Additionally, further internal pads may be supported for other features. Using
> > > > > > > +more than one image data internal pad or more than one non-image data pad
> > > > > > > +requires these pads documented separately for the given device. The indices of
> > > > > > > +the image data internal pads shall be lower than those of the non-image data
> > > > > > > +pads.
> > > > > > > +
> > > > > > > +This is shown in :ref:`media_subdev_config_model_common_raw_sensor_subdev`.
> > > > > >
> > > > > > possibly doesn't need a link as the image is just here below
> > > > > >
> > > > > > > +
> > > > > > > +.. _media_subdev_config_model_common_raw_sensor_subdev:
> > > > > > > +
> > > > > > > +.. kernel-figure:: common-raw-sensor.svg
> > > > > > > +    :alt:    common-raw-sensor.svg
> > > > > > > +    :align:  center
> > > > > > > +
> > > > > > > +    **Common raw sensor sub-device with n pads (n == 2)**
> > > > > > > +
> > > > > > > +Routes
> > > > > > > +^^^^^^
> > > > > > > +
> > > > > > > +A sub-device conforming to common raw camera sensor model implements the
> > > > > > > +following routes.
> > > > > > > +
> > > > > > > +.. flat-table:: Routes
> > > > > > > +    :header-rows: 1
> > > > > > > +
> > > > > > > +    * - Sink pad/stream
> > > > > > > +      - Source pad/stream
> > > > > > > +      - Static (X/M(aybe)/-)
> > > > > > > +      - Mandatory (X/-)
> > > > > > > +      - Synopsis
> > > > > > > +    * - 1/0
> > > > > > > +      - 0/0
> > > > > > > +      - X
> > > > > > > +      - X
> > > > > > > +      - Image data
> > > > > > > +    * - 2/0
> > > > > > > +      - 0/1
> > > > > > > +      - M
> > > > > > > +      - \-
> > > > > > > +      - Embedded data
> > > > > > > +
> > > > > > > +Support for the embedded data stream is optional. Drivers supporting the
> > > > > > > +embedded data stream may allow disabling and enabling the route when the
> > > > > > > +streaming is disabled.
> > > > > >
> > > > > > I would
> > > > > >
> > > > > > s/when the streaming is disabled//
> > > > >
> > > > > Sounds good.
> > > > >
> > > > > >
> > > > > > > +
> > > > > > > +Sensor pixel array size, cropping and binning
> > > > > > > +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > > > > > +
> > > > > > > +The sensor's pixel array is divided into one or more areas. The areas around the
> > > > > > > +edge of the pixel array, usually one or more sides, may contain optical black
> > > > > >
> > > > > > You say that "the pixel array is divided into one or more areas" and
> > > > > > then list "the areas around the edge of the pixel array" which is confusing
> > > > > >
> > > > > > I think it would be better as
> > > > > >
> > > > > > The sensor's full pixel array is divided into one or more areas, one
> > > > > > (or multiple) active area which contains visible pixels surrounded,
> > > > > > usually on one or more sides, by non-active areas which may contain
> > > > > > optical black pixels, dummy pixels and other non-image pixels. The
> > > > > > entire pixel array areas size, including the active and non-active
> > > > > > portions is conveyed by the format on (pad, stream) pair 1/0.
> > > > > >
> > > > > > This would also better define the "visible pixels" term which is used
> > > > > > in the rest of the documentation.
> > > > >
> > > > > There indeed were issues in the terms used in the original text. How about:
> > > > >
> > > > > The sensor's pixel array is divided into one or more areas. The areas around the
> > > > > the visible area in the pixel array, usually one or more sides, may contain
> > > >
> > > > I still feel that "active area that contains visible pixels" better
> > > > defines what "visibile area" is... not a problem anyway
> > >
> > > How about "visible pixel area"?
> >
> > fine with me
> >
> 
> A recent discussion on libcamera made me wonder a few things
> 
> https://patchwork.libcamera.org/patch/24547/
> 
> In the current world (pre-RAW sensor model) the situation can be
> summarized as
> 
> TGT_NATIVE_SIZE = full pixel array (readable and non readable)
> TGT_CROP_BOUNDS = readable pixel array (visible and non visibile pixels)

Crop bounds is generally the same as native size.

> TGT_CROP_DEFAULT = visible pixels

The default could exclude not-so-great pixels, too.

> TGT_CROP = analgoue crop

This could include digital crop as well.

> 
> where:
> - visibile = pixels used for image capture purpose
> - non-visible = optically black, dummies etc
> 
> With the RAW sensor model:
> 
> format(1/0) = readable pixel array (visible and non visible)
> TGT_CROP_DEFAULT(1/0) = visible pixel area
> TGT_CROP(1/0) = analogue crop
> TGT_COMPOSE(1/0) = binning/skipping
> 
> Have we lost the ability to report the full pixel array size (readable
> and not readable) ? Is this intentional ? As if pixels cannot be read
> out they basically do no exist, and the information on the actual
> number of pixels (including non readable ones) should be kept
> somewhere else (like the libcamera sensor properties database) ?

I'd keep this information in the user space if needed. There's little
software could presumably do with this information.

> 
> All the discussion about readable/non-readable, visible/non-visibile
> and active and inactive areas make me think we would benefit from
> presenting a small glossary at the beginning of the "Sensor pixel
> array size, cropping and binning" paragraph ?

The text does not discuss active or inactive areas. I'd add some terms into
the main glossary if needed -- they are used outside this file, too.

-- 
Regards,

Sakari Ailus

  reply	other threads:[~2025-10-03 13:15 UTC|newest]

Thread overview: 193+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-25  9:50 [PATCH v11 00/66] Generic line based metadata support, internal pads Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 01/66] media: Documentation: Clean up figure titles Sakari Ailus
2025-09-01 11:11   ` Jacopo Mondi
2025-09-03 13:00   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 02/66] media: Documentation: Fix routing documentation flag references Sakari Ailus
2025-09-01 11:14   ` Jacopo Mondi
2025-09-03 13:01   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 03/66] media: Documentation: There are either immutable or mutable routes Sakari Ailus
2025-09-01 11:18   ` Jacopo Mondi
2025-09-02  9:38     ` Sakari Ailus
2025-09-03 13:22   ` Laurent Pinchart
2025-09-03 14:09     ` Sakari Ailus
2025-09-03 14:12     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 04/66] media: Documentation: Document -ENXIO for VIDIOC_SUBDEV_S_ROUTING Sakari Ailus
2025-09-01 11:33   ` Jacopo Mondi
2025-09-02 10:00     ` Sakari Ailus
2025-09-03 13:47       ` Laurent Pinchart
2025-09-03 14:15         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 05/66] media: v4l2-subdev: Extend VIDIOC_SUBDEV_S_ROUTING error codes Sakari Ailus
2025-09-01 11:35   ` Jacopo Mondi
2025-09-03 13:53   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 06/66] media: ccs: No need to set streaming to false in power off Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 07/66] media: ccs: Move ccs_pm_get_init function up Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 08/66] media: ccs: Rename out label of ccs_start_streaming Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 09/66] media: ccs: Move ccs_validate_csi_data_format up Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 10/66] media: ccs: Use {enable,disable}_streams operations Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 11/66] media: ccs: Track streaming state Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 12/66] media: ccs: Support frame descriptors Sakari Ailus
2025-09-01 12:06   ` Jacopo Mondi
2025-09-02 12:26     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 13/66] media: mc: Add INTERNAL pad flag Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 14/66] media: Documentation: Refer to internal pads in metadata documentation Sakari Ailus
2025-09-01 12:08   ` Jacopo Mondi
2025-09-02 12:58     ` Sakari Ailus
2025-09-03 14:01   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 15/66] media: uapi: Add generic CSI-2 raw pixelformats Sakari Ailus
2025-09-01 13:25   ` Jacopo Mondi
2025-09-02 13:16     ` Sakari Ailus
2025-09-03 14:20       ` Laurent Pinchart
2025-09-03 14:30         ` Sakari Ailus
2025-09-02 13:16     ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 16/66] media: Documentation: Reference color pattern control in format docs Sakari Ailus
2025-09-01 13:51   ` Jacopo Mondi
2025-09-03 14:25     ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 17/66] media: uapi: Add new media bus codes for generic raw formats Sakari Ailus
2025-09-01 14:12   ` Jacopo Mondi
2025-09-03  9:27     ` Sakari Ailus
2025-09-03 14:32       ` Laurent Pinchart
2025-09-03 14:35         ` Sakari Ailus
2025-09-03 14:39           ` Laurent Pinchart
2025-09-03 14:38   ` Laurent Pinchart
2025-09-19 10:07     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 18/66] media: uapi: Add V4L2_CID_CONFIG_MODEL control Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 19/66] media: uapi: Add V4L2_CID_COLOR_PATTERN for describing color patterns Sakari Ailus
2025-09-03 15:05   ` Laurent Pinchart
2025-09-19 21:35     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 20/66] media: Documentation: Reference COLOR_PATTERN control in raw format docs Sakari Ailus
2025-09-01 14:21   ` Jacopo Mondi
2025-09-03 10:03     ` Sakari Ailus
2025-09-03 12:03       ` Jacopo Mondi
2025-09-03 15:10         ` Laurent Pinchart
2025-09-19 10:09           ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 21/66] media: v4l: uapi: Add a control for color pattern flipping effect Sakari Ailus
2025-09-01 14:34   ` Jacopo Mondi
2025-09-03 10:25     ` Sakari Ailus
2025-09-03 10:40       ` Sakari Ailus
2025-09-03 12:18         ` Jacopo Mondi
2025-09-03 12:38           ` Sakari Ailus
2025-09-03 12:37       ` Jacopo Mondi
2025-09-03 13:25         ` Sakari Ailus
2025-09-03 15:28           ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 22/66] media: Documentation: Reference flipping controls in raw format docs Sakari Ailus
2025-09-02 13:06   ` Jacopo Mondi
2025-09-03 15:31   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 23/66] media: Documentation: Document raw mbus codes and CFA for cameras Sakari Ailus
2025-09-01 14:59   ` Jacopo Mondi
2025-09-03 11:00     ` Sakari Ailus
2025-09-03 15:35       ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 24/66] media: uapi: Add V4L2_CID_METADATA_LAYOUT control Sakari Ailus
2025-09-01 15:07   ` Jacopo Mondi
2025-09-03 11:13     ` Sakari Ailus
2025-09-03 19:52       ` Laurent Pinchart
2025-09-19 10:36         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 25/66] media: Documentation: v4l: Document internal sink pads Sakari Ailus
2025-09-01 16:39   ` Jacopo Mondi
2025-09-03 12:17     ` Sakari Ailus
2025-09-03 12:29       ` Jacopo Mondi
2025-09-03 13:27         ` Sakari Ailus
2025-09-03 20:24         ` Laurent Pinchart
2025-09-19 11:26           ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 26/66] media: Documentation: Document embedded data guidelines for camera sensors Sakari Ailus
2025-09-01 16:42   ` Jacopo Mondi
2025-09-03 13:37     ` Sakari Ailus
2025-09-03 20:40       ` Laurent Pinchart
2025-09-19 11:46         ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 27/66] media: uapi: ccs: Add metadata layout for MIPI CCS embedded data Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 28/66] media: Documentation: Document non-CCS use of CCS embedded data layout Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 29/66] media: ccs: Add support for embedded data stream Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 30/66] media: Documentation: ccs: Document routing Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 31/66] media: ccs: Remove ccs_get_crop_compose helper Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 32/66] media: ccs: Rely on sub-device state locking Sakari Ailus
2025-09-03 20:56   ` Laurent Pinchart
2025-09-22  7:48     ` Sakari Ailus
2026-01-14 12:13     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 33/66] media: ccs: Compute binning configuration from sub-device state Sakari Ailus
2025-09-03 21:00   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 34/66] media: ccs: Compute scaling " Sakari Ailus
2025-09-03 21:02   ` Laurent Pinchart
2026-01-14 11:16     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 35/66] media: ccs: Remove which parameter from ccs_propagate Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 36/66] media: ccs: Detemine emb_data_ctrl register from sub-device state Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 37/66] media: uapi: Correct generic CSI-2 metadata format 4cc Sakari Ailus
2025-09-01 16:45   ` Jacopo Mondi
2025-09-03 21:35   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 38/66] Revert "media: uapi: v4l: Don't expose generic metadata formats to userspace" Sakari Ailus
2025-09-01 16:46   ` Jacopo Mondi
2025-09-03 21:36   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 39/66] media: Documentation: Add subdev configuration models, raw sensor model Sakari Ailus
2025-09-01 17:09   ` Jacopo Mondi
2025-09-19 12:17     ` Sakari Ailus
2025-09-25 10:31       ` Jacopo Mondi
2025-10-02  7:09         ` Sakari Ailus
2025-10-02  7:22           ` Jacopo Mondi
2025-10-02  7:54             ` Sakari Ailus
2025-10-03  7:10             ` Jacopo Mondi
2025-10-03 13:15               ` Sakari Ailus [this message]
2025-10-03 13:25                 ` Jacopo Mondi
2025-10-07 14:01                   ` Jacopo Mondi
2025-10-10  9:45                     ` Stefan Klug
2025-10-10 10:56                       ` Kieran Bingham
2026-01-15 12:04                         ` Sakari Ailus
2026-01-15 21:06                           ` Stefan Klug
2026-01-16 14:46                             ` Stefan Klug
2026-01-16 22:03                               ` Sakari Ailus
2026-01-13 14:46                     ` Jacopo Mondi
2026-01-14 12:54                       ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 40/66] media: Document enable_streams and disable_streams behaviour Sakari Ailus
2025-09-01 17:11   ` Jacopo Mondi
2025-09-03 21:29   ` Laurent Pinchart
2025-09-19 12:21     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 41/66] media: Documentation: Add scaling and post-scaler crop for common raw Sakari Ailus
2025-09-01 17:12   ` Jacopo Mondi
2025-09-19 12:42     ` Sakari Ailus
2025-09-25 10:45       ` Jacopo Mondi
2025-10-02  7:12         ` Sakari Ailus
2025-10-02  7:18           ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 42/66] media: uapi: Add MIPI CCS configuration model Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 43/66] media: uapi: Add V4L2_CID_BINNING control for binning configuration Sakari Ailus
2025-09-01 17:27   ` Jacopo Mondi
2025-09-19 14:53     ` Sakari Ailus
2025-10-10 10:21   ` Stefan Klug
2025-10-20 14:42     ` David Plowman
2025-10-20 19:24       ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 44/66] media: uapi: Add controls for sub-sampling configuration Sakari Ailus
2025-09-01 17:29   ` Jacopo Mondi
2025-09-19 16:25     ` Sakari Ailus
2026-03-26 16:05   ` Benjamin Mugnier
2026-03-26 16:54     ` Sakari Ailus
2026-03-30 15:00       ` Benjamin Mugnier
2026-03-30 16:20         ` Sakari Ailus
2026-03-31  6:40           ` Jacopo Mondi
2026-03-31 10:45             ` Benjamin Mugnier
2025-08-25  9:50 ` [PATCH v11 45/66] media: Documentation: Add binning and sub-sampling controls Sakari Ailus
2025-09-01 17:30   ` Jacopo Mondi
2025-08-25  9:50 ` [PATCH v11 46/66] media: uapi: Add metadata layout for ov2740 embedded data Sakari Ailus
2025-09-03 21:43   ` Laurent Pinchart
2025-08-25  9:50 ` [PATCH v11 47/66] media: ov2740: Add support for " Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 48/66] media: ov2740: Add support for generic raw formats Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 49/66] media: ov2740: Add metadata layout control Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 50/66] media: ov2740: Add support for G_SELECTION IOCTL Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 51/66] media: v4l: Add V4L2_SUBDEV_ROUTE_FL_IMMUTABLE sub-device routing flag Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 52/66] media: v4l: Add V4L2_SUBDEV_ROUTE_FL_STATIC " Sakari Ailus
2025-09-01 17:32   ` Jacopo Mondi
2025-09-03 21:52   ` Laurent Pinchart
2025-09-19 16:45     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 53/66] media: Documentation: Document IMMUTABLE and STATIC route flags Sakari Ailus
2025-09-01 17:35   ` Jacopo Mondi
2025-09-19 16:57     ` Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 54/66] media: uapi: v4l: subdev: Enable streams API Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 55/66] media: ccs: Add IMMUTABLE and STATIC route flags Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 56/66] media: ov2740: " Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 57/66] media: i2c: imx219: Inline imx219_update_pad_format() in its caller Sakari Ailus
2025-08-25  9:50 ` [PATCH v11 58/66] media: i2c: imx219: Add internal image sink pad Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 59/66] media: i2c: imx219: Add image stream Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 60/66] media: i2c: imx219: Report internal routes to userspace Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 61/66] media: i2c: imx219: Report streams using frame descriptors Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 62/66] media: i2c: imx219: Add embedded data support Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 63/66] media: imx219: Add support for generic raw formats Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 64/66] media: ccs: Add frame descriptor quirk Sakari Ailus
2025-08-25  9:51 ` [PATCH v11 65/66] media: ipu6: Add support for luma-only formats Sakari Ailus
2025-11-11  8:01   ` Bingbu Cao
2025-08-25  9:51 ` [PATCH v11 66/66] media: ipu6: Add support for raw CFA-agnostic formats Sakari Ailus
2025-11-11  8:03   ` Bingbu Cao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aN_MdmDhQPyLnQqD@kekkonen.localdomain \
    --to=sakari.ailus@linux.intel.com \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=bingbu.cao@intel.com \
    --cc=christophe.jaillet@wanadoo.fr \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=dongcheng.yan@intel.com \
    --cc=eagle.alexander923@gmail.com \
    --cc=git@apitzsch.eu \
    --cc=hans@jjverkuil.nl \
    --cc=hdegoede@redhat.com \
    --cc=heimir.sverrisson@gmail.com \
    --cc=hongju.wang@intel.com \
    --cc=hpa@redhat.com \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=julien.massot@collabora.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=mirela.rabulea@nxp.com \
    --cc=naush@raspberrypi.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=ribalda@kernel.org \
    --cc=stanislaw.gruszka@linux.intel.com \
    --cc=stefan.klug@ideasonboard.com \
    --cc=sylvain.petinot@foss.st.com \
    --cc=tian.shu.qiu@intel.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=tomm.merciai@gmail.com \
    --cc=umang.jain@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox