| Message ID | 20261026082602.60417-1-alain.cousinie@laposte.net |
|---|---|
| Headers | show
Return-Path: <libcamera-devel-bounces@lists.libcamera.org>
X-Original-To: parsemail@patchwork.libcamera.org
Delivered-To: parsemail@patchwork.libcamera.org
Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com
[92.243.16.209])
by patchwork.libcamera.org (Postfix) with ESMTPS id F10FEC3261
for <parsemail@patchwork.libcamera.org>;
Mon, 26 Oct 2026 08:26:56 +0000 (UTC)
Received: from lancelot.ideasonboard.com (localhost [IPv6:::1])
by lancelot.ideasonboard.com (Postfix) with ESMTP id A112668FCE;
Mon, 26 Oct 2026 09:26:56 +0100 (CET)
Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key;
unprotected) header.d=laposte.net header.i=@laposte.net
header.b="In45cD6a"; dkim-atps=neutral
Received: from smtp-outgoing-1702.laposte.net (smtp-outgoing-1702.laposte.net
[160.92.124.100])
by lancelot.ideasonboard.com (Postfix) with ESMTPS id 58D3068E58
for <libcamera-devel@lists.libcamera.org>;
Mon, 26 Oct 2026 09:26:55 +0100 (CET)
X-mail-filterd: {"version":"1.9.7", "queueID":"4jCmtx4s1XzgY7R", "contextId":
"bcce2dd6-771b-49ef-8610-f36bfb7e2092"}
Received: from outgoing-mail.laposte.net (localhost.localdomain [127.0.0.1])
by mlpnf0104.laposte.net (SMTP Server) with ESMTP id
4jCmtx4s1XzgY7R; Mon, 26 Oct 2026 09:26:49 +0100 (CET)
X-mail-filterd: {"version":"1.9.7", "queueID":"4jCmtw4H2vzgY7n", "contextId":
"c7851be6-e6fe-4998-addf-6421e8330ef3"}
X-lpn-mailing: LEGIT
X-lpn-spamrating: 36
X-lpn-spamlevel: not-spam
Received: from debian (unknown [212.133.41.21])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits)
server-digest SHA256) (No client certificate requested)
by mlpnf0104.laposte.net (SMTP Server) with ESMTPSA id
4jCmtw4H2vzgY7n; Mon, 26 Oct 2026 09:26:48 +0100 (CET)
From: alain.cousinie@laposte.net
To: libcamera-devel@lists.libcamera.org
Cc: bryan.odonoghue@linaro.org, barnabas.pocze@ideasonboard.com,
mzamazal@redhat.com, johannes.goede@oss.qualcomm.com,
laurent.pinchart@ideasonboard.com, jai.luthra@ideasonboard.com,
=?utf-8?q?Alain_Cousini=C3=A9?= <alain.cousinie@laposte.net>
Subject: [PATCH v7 0/5] libcamera: software_isp: Add support for raw
monochrome formats
Date: Mon, 26 Oct 2026 09:25:57 +0100
Message-ID: <20261026082602.60417-1-alain.cousinie@laposte.net>
X-Mailer: git-send-email 2.55.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=laposte.net;
s=lpn-wlmd;
t=1793003215; bh=0xDezoK2HBmyuraDZNZFezkDeynBE1KraF1eIKKpPjY=;
h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding;
b=In45cD6a7HXFQMw83ti53aFNgWBxSh287ZTx1zZ20Cf2DkxfmsrFEUUb1t/5rfr5NHCr0sXBfhhkvYt3qJq9N3LNT/nKhG/WZ1NTkUv1GWpojm/fsrhFjDmis2ICBtlnF4JZeRR4GNKa+MpLZNWMzxIZk2rDvIOqhEKm7Pmd9xtUr+YjT9IvJn4ww0hW6FHOZnYdFbuvglu+fpvFft6hytPVVEc1T26zFZbRqlWhtYGw7/GJB182vdQVnpI/En1AOCs+ylkYRNxo+vEFUE8QtxwZQ4/jDSvEQJWDLNJnmEoILkGMndZnxDQWKdghNG7sJDb0rqNNho/JXc2PTK7oMg==;
X-BeenThere: libcamera-devel@lists.libcamera.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <libcamera-devel.lists.libcamera.org>
List-Unsubscribe: <https://lists.libcamera.org/options/libcamera-devel>,
<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>
List-Archive: <https://lists.libcamera.org/pipermail/libcamera-devel/>
List-Post: <mailto:libcamera-devel@lists.libcamera.org>
List-Help: <mailto:libcamera-devel-request@lists.libcamera.org?subject=help>
List-Subscribe: <https://lists.libcamera.org/listinfo/libcamera-devel>,
<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>
Errors-To: libcamera-devel-bounces@lists.libcamera.org
Sender: "libcamera-devel" <libcamera-devel-bounces@lists.libcamera.org>
|
| Series |
|
| Related |
show
|
Hello everyone, Changes in v7: - Centralize ccmEnabled_ and lscEnabled_ handling within SoftwareIsp::configure() as requested. - Add R14 unpacked and packed support across the pipeline (prepared and intentionally commented out in debayer_egl.cpp pending official upstreaming of the format). - Add '#extension GL_EXT_texture_rg : enable' in the unpacked fragment shader. *** Test Status & Limitations *** - Real Hardware: Validated exclusively with a single camera providing R10 unpacked format. - Simulation: For all other formats (R8, R10P, R12, R12P, R14, R14P, R16), logic was verified against synthetic RAW data generated via a Python script. As I lack the physical hardware for most layouts, real-world camera validation remains the missing step. However, I have strived to keep the implementation as simple, unified, and strictly modeled after the verified R10 path as possible. *** Call for Testing *** If you have access to sensors providing R8, R10P, R12, R12P, R14, R14P, or R16 formats, your help in validating or refining these code paths on real hardware would be greatly appreciated! *** \todo Tracking Notes *** - debayer_egl.cpp: R14 blocks are prepared but commented out until the format is upstreamed. - software_isp.cpp: ccmEnabled_ and lscEnabled_ are forced to false for mono profiles. A \todo tracks moving this logic to a proper 'uncalibrated-mono.yaml' later. Alain CousiniƩ (5): libcamera: software_isp: Add support for monochrome formats - Shaders libcamera: software_isp: Add support for monochrome formats - Stats libcamera: software_isp: Add support for monochrome formats - CPU libcamera: software_isp: Add support for monochrome formats - GPU libcamera: software_isp: Add support for monochrome formats - SOFT Signed-off-by: Alain CousiniƩ <alain.cousinie@laposte.net> --- .../internal/software_isp/swstats_cpu.h | 17 ++ src/libcamera/shaders/meson.build | 3 + src/libcamera/shaders/mono.vert | 25 ++ src/libcamera/shaders/mono_1x_packed.frag | 69 ++++++ src/libcamera/shaders/mono_unpacked.frag | 54 ++++ src/libcamera/software_isp/debayer_cpu.cpp | 231 +++++++++++++++++- src/libcamera/software_isp/debayer_cpu.h | 25 ++ src/libcamera/software_isp/debayer_egl.cpp | 159 +++++++++++- src/libcamera/software_isp/debayer_egl.h | 2 + src/libcamera/software_isp/software_isp.cpp | 11 + src/libcamera/software_isp/swstats_cpu.cpp | 225 +++++++++++++++++ 11 files changed, 797 insertions(+), 24 deletions(-) create mode 100644 src/libcamera/shaders/mono.vert create mode 100644 src/libcamera/shaders/mono_1x_packed.frag create mode 100644 src/libcamera/shaders/mono_unpacked.frag -- 2.55.0