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>,
	"Mehdi Djait" <"me h di.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, 16 Jan 2026 15:46:12 +0100	[thread overview]
Message-ID: <176857477280.5324.260292878127292345@localhost> (raw)
In-Reply-To: <176851117186.98704.5427092951514812674@localhost>

Hi Sakari,

Quoting Stefan Klug (2026-01-15 22:06:11)
> 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.

Jacopo told me that this wasn't completely clear and rereading it, he is
right. So to clarify: The idea is to skip the introduction of
TGT_CROP_VISIBLE and just include the processing margin in
TGT_CROP_DEFAULT. The less rectangles, the better.

> 
> 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-16 14:46 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
2026-01-16 14:46                             ` Stefan Klug [this message]
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=176857477280.5324.260292878127292345@localhost \
    --to=stefan.klug@ideasonboard.com \
    --cc="me h di.djait"@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=mirela.rabulea@nxp.com \
    --cc=naush@raspberrypi.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=ribalda@kernel.org \
    --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=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