From: Bryan O'Donoghue <bod@kernel.org>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: libcamera-devel@lists.libcamera.org, linux-media@vger.kernel.org
Subject: Re: [ANNOUNCEMENT] Camera & ISP at Linux Plumbers Conference
Date: Sat, 19 Sep 2026 22:45:00 +0100 [thread overview]
Message-ID: <cadd6ff4-ec70-4ff9-9125-a0c4342261f6@kernel.org> (raw)
In-Reply-To: <20260918091806.GE59058@killaraus.ideasonboard.com>
On 18/09/2026 10:18, Laurent Pinchart wrote:
>> There are clear benefits to having a loop of NPU/DSP to Offline ISP to
>> Display that drm/accel seems to offer some interesting solutions to.
> What are those interesting solutions ?
The chain I'm interested in is
Inline - V4L2 streaming
-> Produces raw or YUV
CVP (&& ||) NPU - Likely implemented as DRM
-> Produces motion vectors and/or further warps image
Offline - Sharpens, GTM, TNR (could be DRM, or v4lm2m)
-> Produces YUV
Display - DRM
V4L2 owning sensor -> inline engine is already supported and won't
change. For subsequent steps though each stage hands off in-kernel
without having to involve userspace.
Given though it depends if you need user-space to "do stuff" at the
offline stage. If the offline stage has a firmware perhaps user-space
doesn't need to be involved much past setup whereas if that offline
stage has no firmware, then user-space really needs to drive it. The
difference between the OPE on-list right now without a firmware and the
ICP which does have a firmware.
Taking the example of sharing params and stats between Inline and
Offline - in this case you are constructing a single ISP around two
blocks basically in libcamera, whereas what I've described above
traverses several blocks and isn't really an ISP - the ISP is already @
stage 1 - you have an additional fully offline block with its own
firmware, sessions and runtime context. Stage 1 and stage 3 don't share
kernel-side stats and params; they have their own isolated contexts, in
contrast to TFE/OPE on Agatti where its integrated and must live in a
dedicated libcamera pipeline.
But because you have a functional ISP @ stage 1 - the question is does
the firmware based offline engine provide better overall system
functionality as a DRM device ...
Its actually the question I'd like to discuss with colleagues in sunny
Prague :)
So I think the tension comes from wanting to have the DRM scheduler but
acknowledging that it is probably only for some use-cases possible.
You implement the device as a DRM device, you are still free to have a
complex user-space context for that if that is your need - whereas if
you have a use-case which can tolerate non-intervention from user-space,
then the DRM scheduler _is_ what you want for complex hand-off from one
device block to the other.
---
bod
next prev parent reply other threads:[~2026-09-19 21:45 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <UzpC1s2YnBtZIaRCab_Y8AbCecyauDUO4OC7Nhd1-h4TE21aLSghbwDuOKgdwJQugvPMjM4foPHuL-UKnBLD6A==@protonmail.internalid>
2026-09-14 23:38 ` [ANNOUNCEMENT] Camera & ISP at Linux Plumbers Conference Laurent Pinchart
2026-09-17 13:47 ` Bryan O'Donoghue
2026-09-18 8:08 ` johannes.goede
2026-09-18 9:18 ` Laurent Pinchart
2026-09-19 21:45 ` Bryan O'Donoghue [this message]
2026-09-19 22:29 ` Laurent Pinchart
2026-09-21 11:52 ` Bryan O'Donoghue
2026-09-21 16:02 ` Nicolas Dufresne
2026-09-27 9:01 ` johannes.goede
2026-09-27 9:04 ` johannes.goede
2026-09-30 11:18 ` Stefan Klug
2026-09-30 22:01 ` Conor Dooley
2026-10-02 16:14 ` Stefan Klug
2026-10-03 14:56 ` Loic Poulain
2026-10-01 15:15 ` johannes.goede
2026-10-01 20:55 ` Laurent Pinchart
2026-10-02 6:56 ` Sakari Ailus
2026-10-02 18:31 ` Laurent Pinchart
2026-10-06 10:03 ` Sakari Ailus
[not found] ` <2e1d628f-8183-4446-9500-9886561f320b@mm-sol.com>
2026-09-30 23:23 ` Laurent Pinchart
2026-10-06 6:30 ` Gjorgji Rosikopulos
2026-10-01 6:19 ` Rishikesh Donadkar
2026-10-01 21:08 ` Laurent Pinchart
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=cadd6ff4-ec70-4ff9-9125-a0c4342261f6@kernel.org \
--to=bod@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=libcamera-devel@lists.libcamera.org \
--cc=linux-media@vger.kernel.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