public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Jacopo Mondi <jacopo@jmondi.org>,
	linux-media@vger.kernel.org,
	Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: "Sakari Ailus" <sakari.ailus@linux.intel.com>,
	"Kieran Bingham" <kieran.bingham@ideasonboard.com>,
	"Nicolas Dufresne" <nicolas@ndufresne.ca>,
	"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
	"Hidenori Kobayashi" <hidenorik@chromium.org>,
	"Paul Kocialkowski" <paul.kocialkowski@bootlin.com>,
	"Michael Olbrich" <m.olbrich@pengutronix.de>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Ricardo Ribalda" <ribalda@chromium.org>,
	"Maxime Ripard" <maxime@cerno.tech>,
	"Daniel Scally" <djrscally@gmail.com>,
	"Jernej Škrabec" <jernej.skrabec@gmail.com>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	"Michael Tretter" <m.tretter@pengutronix.de>,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Benjamin MUGNIER" <benjamin.mugnier@foss.st.com>
Subject: Re: [Media Summit] Using the selection API to control image sensor subsampling
Date: Sat, 10 Sep 2022 14:21:10 +0200	[thread overview]
Message-ID: <8a745b89-e63d-ac8f-d4fa-c985d830cb41@xs4all.nl> (raw)
In-Reply-To: <20220829071528.6fxm4kdvpjzkr3yw@uno.localdomain>

Hi Jacopo,

On 29/08/2022 09:15, Jacopo Mondi wrote:
> Hello
> 
>    I have prepared a slide deck to brief on the discussion for
> the topic specified in the subject. Slides are available at
> https://nc.nibble.pw/s/oib8jzNjjtgB9c6 as an attachment of ~5MB would
> probably be caught by the mailing list filter
> 
> I'll here copy a brief summary as presented in Hans' agenda:
> 
> -------------------------------------------------------------------------------
> 11:45 Jacopo: Representing addition sensor processing stages.
> 
>   How to represent additional processing stages that happens
>   on the sensor side, mostly additional subsampling/cropping that happen
>   between the analogue cropping on the full pixel array and the final
>   image sent on the wire.
> 
>   https://lore.kernel.org/linux-media/CAPY8ntA06L1Xsph79sv9t7MiDSNeSO2vADevuXZdXQdhWpSmow@mail.gmail.com/
> 
>   Dave made a good introduction of the issue his email which got
>   largely unanswered.
> 
>   The issue is particularly relevant for RAW sensors, where applying
>   subsampling has an impact on the sensor's sensitivity and requires
>   to adjust the gains and exposure accordingly.
> -------------------------------------------------------------------------------
> 
> The slide deck:
> 
> - Introduces the topic in slides [1-10]
> 
> - Presents Dave's proposed use case and how it is currently handled in
>   mainline drivers in slides [11-31] using as example the imx274,
>   mt9p031 and CCS drivers.
> 
> - Proposes a best-effort solution for imx219 in slides [32-37]
> 
> - The last two slides presents two discussion topics which I will copy
>   here
> 
>   ------------------------------------------------------------------------
>   Do we need new abstractions ?
> 
>   - An image sensor abstraction built on top of multiple subdevices
>     - Would it really make userspace any simpler ?
> 
>   - Image sensor specific SELECTION_TARGETS
>     - Conflicts with format selection are bound to happen with a single
>       source pad
>       - Can a “special” sink pad that represents the raw pixel array help ?
>     - Does not scale to represent complex sensors with multiple scalers
>   ------------------------------------------------------------------------
> 
> The imx219 proposal can be discussed by email or in person, while the
> questions in the last two slides might be worth being discussed during
> the meeting.

I've always wondered why binning and skipping wasn't implemented as controls.
You set them in userspace based on your needs, and they change the formats
and selection rectangles accordingly.

Trying to model it with selection rectangles is basically impossible.

For the discussion it would be good to know what kind of binning and skipping
schemes there are. Would it be fairly straightforward to translate it to a
control? Or are there many variations between vendors?

Regards,

	Hans

> 
> Thanks
>    j
> 


  reply	other threads:[~2022-09-10 12:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29  7:15 [Media Summit] Using the selection API to control image sensor subsampling Jacopo Mondi
2022-09-10 12:21 ` Hans Verkuil [this message]
2022-09-10 16:14   ` Laurent Pinchart
2022-09-11  7:16     ` Hans Verkuil
2022-09-11 15:22       ` Jacopo Mondi

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=8a745b89-e63d-ac8f-d4fa-c985d830cb41@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=benjamin.gaignard@collabora.com \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=djrscally@gmail.com \
    --cc=hidenorik@chromium.org \
    --cc=jacopo@jmondi.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=m.olbrich@pengutronix.de \
    --cc=m.tretter@pengutronix.de \
    --cc=maxime@cerno.tech \
    --cc=mchehab@kernel.org \
    --cc=nicolas@ndufresne.ca \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=ribalda@chromium.org \
    --cc=sakari.ailus@linux.intel.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