From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sasha Finkelstein <fnkl.kernel@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Sven Peter <sven@svenpeter.dev>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Hector Martin <marcan@marcan.st>,
Ulf Hansson <ulf.hansson@linaro.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linux-media@vger.kernel.org,
imx@lists.linux.dev
Subject: Re: [PATCH 3/5] media: dt-bindings: Add Apple ISP
Date: Wed, 19 Feb 2025 15:40:41 +0200 [thread overview]
Message-ID: <20250219134041.GB15114@pendragon.ideasonboard.com> (raw)
In-Reply-To: <CAMT+MTToVdm72ovNZ8ySySYe5fT99a0Y6bv02NKxADCBCe+pMQ@mail.gmail.com>
On Wed, Feb 19, 2025 at 12:05:29PM +0100, Sasha Finkelstein wrote:
> On Wed, 19 Feb 2025 at 11:53, Laurent Pinchart wrote:
> > >
> > > Those are board-specific and not discoverable via the ISP protocol.
> >
> > But they are settable through the ISP protocol, aren't they ? For
> > instance, looking at isp-imx248.dtsi, the first four entries are
> >
> > /* 1280x720 */
> > preset0 {
> > apple,config-index = <0>;
> > apple,input-size = <1296 736>;
> > apple,output-size = <1280 720>;
> > apple,crop = <8 8 1280 720>;
> > };
> >
> > /* 960x720 (4:3) */
> > preset1 {
> > apple,config-index = <0>;
> > apple,input-size = <1296 736>;
> > apple,output-size = <960 720>;
> > apple,crop = <168 8 960 720>;
> > };
> >
> > /* 960x540 (16:9) */
> > preset2 {
> > apple,config-index = <0>;
> > apple,input-size = <1296 736>;
> > apple,output-size = <960 540>;
> > apple,crop = <8 8 1280 720>;
> > };
> >
> > /* 640x480 (4:3) */
> > preset3 {
> > apple,config-index = <0>;
> > apple,input-size = <1296 736>;
> > apple,output-size = <640 480>;
> > apple,crop = <168 8 960 720>;
> > };
> >
> > But I may be interested in capturing a 640x480 frame with cropping only
> > and without scaling, with
> >
> > input-size = 1296x736
> > output-size = 640x480
> > crop = (328,128)/640x480
> >
> > Or I may want my cropped frame to be located in the upper-left corner:
> >
> > input-size = 1296x736
> > output-size = 640x480
> > crop = (8,8)/640x480
> >
> > If I set those parameters through the ISP protocol, won't it work ?
>
> For cropping - you do not want to change those parameters, the sensor
> is partially occluded, and the crop area is specified in such a way
> to not expose those pixels.
Surely cropping *more* wouldn't be an issue from that point of view ?
The visible area is a device-specific property, so that could be
specified in DT, instead of presets. The problem isn't limited to this
device, so ideally the DT binding for this feature should be
standardized.
In general, I'd say that even occluded pixels should be exposed to
userspace, should an application want to capture them. If you think of
fisheye lenses, for instance, it's common to have a round image captured
from a rectangular sensor, and use a dewarping engine (it could just be
GPU shaders) to un-distord it. Restricting capture to rectangles of
fully visible pixels would result in loss of information. For this
particular device I don't think that would really be a use case, so I'm
not opposed to the driver setting restrictions on crop rectangles.
> As for scaling - we can expose only the 1:1
> scale and let userspace deal with it, but it appears that it expects
> the other common output sizes to exist.
Can the driver synthesize the list of scaled-down resolutions, instead
of specifying them in DT ?
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2025-02-19 13:40 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-19 9:26 [PATCH 0/5] Driver for Apple ISP and cameras Sasha Finkelstein via B4 Relay
2025-02-19 9:26 ` [PATCH 1/5] dt-bindings: power: apple,pmgr-pwrstate: Add force-{disable,reset} properties Sasha Finkelstein via B4 Relay
2025-02-19 9:34 ` Krzysztof Kozlowski
2025-02-19 9:43 ` Sasha Finkelstein
2025-02-21 21:41 ` Rob Herring
2025-02-19 9:26 ` [PATCH 2/5] pmdomain: apple: Add force-disable/force-reset Sasha Finkelstein via B4 Relay
2025-02-19 9:26 ` [PATCH 3/5] media: dt-bindings: Add Apple ISP Sasha Finkelstein via B4 Relay
2025-02-19 9:37 ` Krzysztof Kozlowski
2025-02-19 9:54 ` Sasha Finkelstein
2025-02-19 10:53 ` Laurent Pinchart
2025-02-19 11:05 ` Sasha Finkelstein
2025-02-19 13:40 ` Laurent Pinchart [this message]
2025-02-19 15:36 ` Asahi Lina
2025-02-19 11:57 ` Janne Grunau
2025-02-19 13:44 ` Laurent Pinchart
2025-02-23 8:58 ` Krzysztof Kozlowski
2025-02-19 9:27 ` [PATCH 4/5] media: apple: Add Apple ISP driver Sasha Finkelstein via B4 Relay
2025-02-19 11:34 ` Janne Grunau
2025-02-23 8:48 ` Sasha Finkelstein
2025-02-23 9:03 ` Janne Grunau
2025-02-19 9:27 ` [PATCH 5/5] arm64: dts: apple: Add ISP nodes Sasha Finkelstein via B4 Relay
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=20250219134041.GB15114@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=fnkl.kernel@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=sven@svenpeter.dev \
--cc=ulf.hansson@linaro.org \
/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