Linux Media Controller development
 help / color / mirror / Atom feed
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

  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