Linux Media Controller development
 help / color / mirror / Atom feed
From: Stefan Klug <stefan.klug@ideasonboard.com>
To: Kieran Bingham <kieran.bingham@ideasonboard.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: "Jacopo Mondi" <jacopo.mondi@ideasonboard.com>,
	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>,
	"Mirela Rabulea" <mirela.rabulea@nxp.com>,
	"André Apitzsch" <git@apitzsch.eu>,
	"Heimir Thor Sverrisson" <heimir.sverrisson@gmail.com>,
	"Stanislaw Gruszka" <stanislaw.gruszka@linux.intel.com>
Subject: Re: [PATCH v11 39/66] media: Documentation: Add subdev configuration models, raw sensor model
Date: Thu, 15 Jan 2026 22:06:11 +0100	[thread overview]
Message-ID: <176851117186.98704.5427092951514812674@localhost> (raw)
In-Reply-To: <aWjXzDXLxG7YyCY6@kekkonen.localdomain>

Hi Sakari,

Quoting Sakari Ailus (2026-01-15 13:04:28)
> Hi Kieran, Stefan, Jacopo,
> 
> On Fri, Oct 10, 2025 at 11:56:37AM +0100, Kieran Bingham wrote:
> > Quoting Stefan Klug (2025-10-10 10:45:49)
> > > Hi Sakari, hi Jacopo,
> > > 
> > > Quoting Jacopo Mondi (2025-10-07 16:01:11)
> > > > Hi again Sakari,
> > > >    cc Kieran and Stefan
> > > > 
> > > > Stefan and Kieran brought to my attention a use case I would like to
> > > > discuss with you
> > > > 
> > > > On Fri, Oct 03, 2025 at 03:25:19PM +0200, Jacopo Mondi wrote:
> > > > > Hi Sakari,
> > > > >
> > > > > On Fri, Oct 03, 2025 at 04:15:34PM +0300, Sakari Ailus wrote:
> > > > > > Hi Jacopo,
> > > > >
> > > > > [snip]
> > > > >
> > > > > > > >
> > > > > > >
> > > > > > > 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.
> > > > > >
> > > > >
> > > > > I checked two sensors datasheet for this yesterday and both of them
> > > > > had parts of the pixel array that cannot be read out
> > > > >
> > > > > > > TGT_CROP_DEFAULT = visible pixels
> > > > > >
> > > > > > The default could exclude not-so-great pixels, too.
> > > > > >
> > > > >
> > > > > ok, suggested pixel array area used for image capture purposes then
> > > > >
> > > > > > > TGT_CROP = analgoue crop
> > > > > >
> > > > > > This could include digital crop as well.
> > > > > >
> > > > >
> > > > > Yes it might, not all sensor drivers behaves the same indeed
> > > > >
> > > > > > >
> > > > > > > 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.
> > > > > >
> > > > >
> > > > > Agreed, there is no value I can think of in having this information in
> > > > > drivers
> > > > >
> > > > 
> > > > So, Kieran and Stefan are working with a sensor whose driver was
> > > > initially upstreamed with a wrong "readable pixel array"
> > > > (TGT_CROP_BOUNDS). The developer later realized there was more of the
> > > > pixel array to read and there was a use for the non-image pixels like
> > > > OB ones.
> > > > 
> > > > With the current model this is fine (sort of), as all rectangles are
> > > > expressed with the TGT_NATIVE size reference. TGT_BOUNDS might
> > > > increases but TGT_CROP_DEFAULT and TGT_CROP are still valid both in the
> > > > driver but also in userspace, which might have encoded some known
> > > > "tested" configurations.
> > > > 
> > > > With the new model we lose the information reported by TGT_NATIVE and
> > > > all rectangles will be expressed with the format on 1/0 as reference.
> > > > If the format changes because we later find out there were portions of
> > > > the pixel array that could have been read out, all other rectangles
> > > > will have to change as well, both in the driver (which is ok-ish) but
> > > > also in userspace, which we have no control on.
> > > > 
> > > > Stefan and Kieran could elaborate more on this, but basically, the
> > > > physical array is the only fixed reference we could actually count on.
> > > > Other rectangles, are subject to the driver developer understanding of
> > > > how the device work, which as we know very well, can change over time.
> > > > 
> > > > Now, if you agree this is something to be concerned on, I presume the
> > > > fix is quite easy
> > > > 
> > > >          format(1/0) = physical pixel array size
> > > >          TGT_CROP_BOUNDS(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
> > > > 
> > > > which basically only require re-introducing the use of CROP_BOUNDS in
> > > > the RAW camera model specification.
> > > 
> > > Thanks Jacopo for writing that up. Maybe a little addition on that
> > > matter. To our (especially Kierans) experience all the rectangles tend
> > > to be unexpectedly difficult to handle when you try to configure the
> > > sensors in a pixel perfect manner (having binned and non binned modes
> > > cover exactly the same area in all possible flipping configurations).
> > > The datasheets I'm aware of use the physical pixel array as common
> > > coordinate system to describe the geometry. Adding the readable pixel
> > > array as "artificial" coordinate system makes it difficult to match the
> > > values reported by a v4l driver with the datasheets at hand.
> > > 
> > > Another time where this comes into play is lens shading correction where
> > > you would want to describe the LSC against one reference coordinate
> > > system that ideally never ever changes.
> > > 
> > > To add to the confusion I'd love to have another rectangle added to the
> > > list. I don't have a proper name for it. The intent would be to
> > > distinguish between the "readable pixel array" and the "light exposed
> > > pixel array". So the list would become:
> > > 
> > >     format(1/0) = physical pixel array size
> > >     TGT_CROP_BOUNDS(1/0) = readable pixel array (visible and non visible)
> > >     TGT_CROP_VISIBLE(1/0) = visible pixel area including "flesh" for ISP
> 
> Carnivorous ISPs?

Yes, beware! :-)

> 
> > >     TGT_CROP_DEFAULT(1/0) = Recommended "good" pixels
> 
> How often is this known? Or would you rely on what the vendor tells?

We had a brief discussion about that internally. Some datasheets contain
that information by surrounding the "Recording area" with a margin
labeled as "Effective margin for color processing". I don't have numbers
how often that is the case though. As it doesn't add much technical
value to the kernel we could set TGT_CROP_DEFAULT to the above mentioned
TGT_CROP_VISIBLE and keep the information about the color processing
margin outside the kernel, e.g. in libcamera.

The only downside I see there is that (to my knowledge) it will be
difficult to guarantee that really all the pixels inside
TGT_CROP_VISIBLE are good. That's ok for libraries like libcamera that
will default to cutting off some margin after processing, but it might
be a problem for simple applications that just try capture the
CROP_DEFAULT. But maybe these applications do not exist at all :-)

> 
> > >     TGT_CROP(1/0) = analogue crop
> > >     TGT_COMPOSE(1/0) = binning/skipping
> > > 
> > > The idea is to be able to capture a larger image from the sensor for ISP
> > > processing and then cut it down to CROP_DEFAULT. This way we can prevent
> > > interpolation seams at the edges. Maybe the naming is bad and we should
> > > make CROP_BOUNDS the recommended area and add CROP_READABLE to denote
> > > the readable pixels...
> 
> CROP_BOUNDS really needs to be the bounding rectangle for everything.
> CROP_DEFAULT and NATIVE_SIZE are still up to definition, to a degree.
> 
> Have you tried capturing the optical black pixels on different sensors?

Yes, we did at least on the imx335 and imx283. Kieran is more in the
details there...

> 
> CCS specifies optical black pixel capture separately from the visible
> pixels and support also different VC, DT, depending on sensor capabilities;
> cropping results in capturing optical black pixel on the rows and columns
> specified for the crop area. In other words, the selection API isn't
> necessarily how optical black pixel capture is configured, at least for
> CCS.

Yes, that is a bit of a pain. Being able to select the VC or DT doesn't
make things easier. Some SoCs (e.g. imx8mp) are not able to capture
separate VCs or DTs. So to get to the information the only way is to go
through the image stream. Also for some use-cases like extra long
exposures in astro-photography it might be useful to have the OB in the
image data for postprocessing.  (The last case is a bit made up as I
don't know much about astro-photography tbh). 

So I believe we should keep the option to capture OB over the image
stream.

> 
> Let's assume the case of the sensor where you find, after the driver has
> been upstreamed, that there are extra columns and rows of pixels beyond the
> left and top of the image. How would you modify the selection rectangles
> and the format to allow capturing image data from that area? Can you avoid
> affecting the existing userspace?

That would mean that the TGT_CROP_BOUNDS and or TGT_CROP_DEFAULT
changes. The assumption is that the native coordinate system (the old
TGT_CROP_NATIVE_SIZE) stays in place so the application can still use
all the tuning that was done relative to the native coordinate system.
As the TGT_CROP_BOUNDS from the first version has top/left coordinates >
0 there is room to enlarge the TGT_CROP_BOUNDS in that direction.

Sure, this does not work if the initial driver didn't specify
TGT_CROP_BOUNDS with the correct top/left offset. It also does not guard
against really wrong datasheets or arbitrary bugs. But allows to
transparently improve in situations where the first version implements
the "default FullHD setup from the vendor" and later a improved version
of the driver allows access to the additional margins around.

Best regards,
Stefan

> 
> > 
> > I think this is important - and in IMX283 - it seems to be exactly what
> > the datasheet is ultimately recommending.
> > 
> > > > What do you think ?
> > > 
> > > Best regards,
> > > Stefan
> > > 
> > > > 
> > > > > > >
> > > > > > > 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 ?
> > 
> > Oh yes, some sort of nicely interpretable description of "this rectangle
> > is expected to be this equivalent set of pixels" would be helpful. I've
> > found it so hard to identify which the right rectangle is here :D
> > 
> > 
> > I'm also weary that we might need to find a way to convey the
> > relationship between binning mode restrictions/offsets too.
> > 
> > The IMX283 2x2 and 3x3 binning modes produce offset outputs:
> > 
> > vwinpos is the coordinate programmed to the sensor to get a position -
> > and we have tooling in camshark that lets us determine the exact pixels
> > we capture from any mode to see what was really produced by the sensor:
> > 
> > 
> > ```
> > 'Sensor Native' ?
> > pixel (row)   -8 -7 -6 -5 -4 -3 -2 -1  0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16
> > native pixels  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
> > 
> > 
> > vwinpos       -4    -3    -2    -1     0     1     2     3     4     5     6     7     8
> > no-binning     |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
> > 
> > 
> > vwinpos             -3          -2          -1           0           1           2      
> > /2 binning     |     |     |     |     |     |     |     |     |     |     |     |     |
> > 
> > 
> > vwinpos        0                 1                 2                 3                 4
> > /3 binning     |        |        |        |        |        |        |        |        |
> > ```
> > 
> > 
> > To fix this - I'm moving the current '0' position for IMX283 to -2 in
> > the non binned modes.
> > 
> > That gives me a coordinate system where at least I can define an
> > alignment for 2x2 and 3x3 binning every 12 pixels (as the lowest common
> > multiplier).
> > 
> > But - also murkies the water from the above rectanges as this sensor
> > turns out to have 48 lines of pixels (24 bayer pair lines) 'less than
> > zero' ... or at least those are the ones that are visible in light. I
> > can read further below zero but only for black pixels.
> > 
> > So in otherwords - I can't even make a corresponding coordinate
> > rectangle that exactly matches the 'all readable' pixels or 'all
> > illuminated pixels' ... Ayeeeeee...
> > 
> > My lesson/take on this: Don't trust the datasheets. They lie :D
> 
> -- 
> Kind regards,
> 
> Sakari Ailus
>

  reply	other threads:[~2026-01-15 21:06 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
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 [this message]
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=176851117186.98704.5427092951514812674@localhost \
    --to=stefan.klug@ideasonboard.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=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=mirela.rabulea@nxp.com \
    --cc=naush@raspberrypi.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=stanislaw.gruszka@linux.intel.com \
    --cc=sylvain.petinot@foss.st.com \
    --cc=tian.shu.qiu@intel.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