From patchwork Wed Dec 10 00:31:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 25416 Return-Path: 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 8E260BD1F1 for ; Wed, 10 Dec 2025 00:32:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 53D6C61485; Wed, 10 Dec 2025 01:32:50 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ewZfHASo"; dkim-atps=neutral Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9A57060C8A for ; Wed, 10 Dec 2025 01:32:48 +0100 (CET) Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-343dd5aa6e7so6873330a91.0 for ; Tue, 09 Dec 2025 16:32:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765326767; x=1765931567; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=M/bJYdbFWv8CRdhs1pvqnvqUFQsR3FnLTvxzEDq9+0g=; b=ewZfHASoVorfMRWVbUU2ykMhssJKaLyixGPuOtKlaBV4j23Swwy/om5dowZgNLUuMT xTciU7tAm6OBStGlt0o+WLx7ZNk9WE+YMHItQPIlwN5SvK5QbdPWwcbRZ+jmqDiojxyL VTMuxnjEF9uAG5faYqehnCiX/+NGTdjMJRIzPh/WS/CQJOR8pqN80xLr4whL5KoUzDDW qIFN9MVwWeXmb8Kci7gyVX28fgcAt5mH9rQMv4XVDymuMeCN3h+dRd45OYr/xjpS69r6 lII6pYxL5ODtRxFFF3I7WofQOrTgEz4KPfCmliiracCgOTxSPqPyQPw7+k5a7dXslZoT K7Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765326767; x=1765931567; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=M/bJYdbFWv8CRdhs1pvqnvqUFQsR3FnLTvxzEDq9+0g=; b=QRD4BUNjQGse25tU0pI30drjv75GfY5a+rwUH5i0T8q0UCIXXlPgGzNhOiX1ZuLqji Y6pyrXlMPmeQRLfQaCh00k7JXS89OfrlyQxAJ2GPX5kOxF4SW0yj6/SXrnR8NNbr61Wd Hg3fh0wAEPAAg8M3XIYoipyXru/afqgxrFYtqUGsusCTa1Ofn7ITp4FY+ROtbvfuLvRX Fm4YtzafSrff0UDD+B7wKw4ObCDh4EB23mknZeY4dpXTG0X4qr3Pd1vGXK5qkTeSG8Sm XsUB7D/fkfdntbNBgwnbmblblE29cBktvOd3MGGHWBUG8ieLtrQUWfCEEpyx70AjlyAe FnEQ== X-Gm-Message-State: AOJu0YypZshxfIfX1Cm7AmACGPEjWuckjKoM+7ywkdzNp/U8OuSXYQjH 0iIc1tLKjAEQLgDMoYBZsAuzaCqgp8v7XL9JPem39CVdI56g3Vz6k7cGRrQvQoV9Hm7e4wDt5nz LLPaA X-Gm-Gg: AY/fxX4CZ+LttOv+rp9zqf6SwMwcTyCqalC8KEPiPrBEptf0ukIUQuaHOIAcXX7kpHu ew92N8iAuZqNFh8a9kNJaHl3f9c1mk/+8BHgxLsGv7jIdiTfhab3fJKjw1jdMc90VntZi7+NrvQ IjC35lamp9Sa2zVuurvewLyrIsvOollpWNHQoYM58YRvKv2d9dAEtKiY8Qpn7iU168PTu+Fjq84 L9XagQWi9hjmRtWfhTE34vy1kDDKou01ARDPOpPd0ge37Vzel6ZhDSfWDdkX+K8f6x4i/fNvp4i mjPCtQITcGx54GIU1FbePiF13a0F9WdRnGuH5IXTGQgTaTz4KiwovM0yicymjwiQ5KA0dpyI2gy FWtFqg7EjFP8gHnHJDMrG/cZj09g7sX3O4edWIlllQn2+kNy9jDy1REXS+dI228Lq0XqReT5Taf 7OcUfqipJaAlBgTDLRZ3FDMafay18wy+kS2TRjPI0SZRXl7KN+GkhDK3HQ+MTrAMPEx2tghxTGG BQ= X-Google-Smtp-Source: AGHT+IFWsnz4N2kI1Awyitx42U2EQa70WHGGuE2zsxjB9mH/K0Y5pq6Amyn1M/4Io3aRGYsYSfHPKQ== X-Received: by 2002:a17:90b:3902:b0:329:ca48:7090 with SMTP id 98e67ed59e1d1-34a72896510mr519811a91.37.1765326766929; Tue, 09 Dec 2025 16:32:46 -0800 (PST) Received: from inspiron14p-linux (p96936b06.osaknt01.ap.so-net.ne.jp. [150.147.107.6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34a70427ea6sm566580a91.3.2025.12.09.16.32.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 16:32:46 -0800 (PST) From: Bryan O'Donoghue To: libcamera-devel@lists.libcamera.org Cc: pavel@ucw.cz, Bryan O'Donoghue , Milan Zamazal , Kieran Bingham Subject: [PATCH v4 20/20] libcamera: software_isp: lut: Make contrast available in debayer params Date: Wed, 10 Dec 2025 00:31:37 +0000 Message-ID: <20251210003139.43606-21-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251210003139.43606-1-bryan.odonoghue@linaro.org> References: <20251210003139.43606-1-bryan.odonoghue@linaro.org> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Provide the contrast used in IPA to Bayer parameters. Similar to the calculated Gamma value we will pass this value into the debayer fragment shader for further consumption. Reviewed-by: Milan Zamazal Reviewed-by: Kieran Bingham Signed-off-by: Bryan O'Donoghue --- include/libcamera/internal/software_isp/debayer_params.h | 1 + src/ipa/simple/algorithms/lut.cpp | 1 + src/libcamera/software_isp/debayer.cpp | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/include/libcamera/internal/software_isp/debayer_params.h b/include/libcamera/internal/software_isp/debayer_params.h index d5dad1a98..8033f7d5b 100644 --- a/include/libcamera/internal/software_isp/debayer_params.h +++ b/include/libcamera/internal/software_isp/debayer_params.h @@ -59,6 +59,7 @@ struct DebayerParams { Matrix ccm; RGB blackLevel; float gamma; + float contrast; }; } /* namespace libcamera */ diff --git a/src/ipa/simple/algorithms/lut.cpp b/src/ipa/simple/algorithms/lut.cpp index ea5a86b20..9aaab54f1 100644 --- a/src/ipa/simple/algorithms/lut.cpp +++ b/src/ipa/simple/algorithms/lut.cpp @@ -149,6 +149,7 @@ void Lut::prepare(IPAContext &context, } params->gamma = context.configuration.gamma; + params->contrast = context.activeState.gamma.contrast; } void Lut::process([[maybe_unused]] IPAContext &context, diff --git a/src/libcamera/software_isp/debayer.cpp b/src/libcamera/software_isp/debayer.cpp index 8e7eac793..63a61daf9 100644 --- a/src/libcamera/software_isp/debayer.cpp +++ b/src/libcamera/software_isp/debayer.cpp @@ -115,6 +115,11 @@ namespace libcamera { * \brief Gamma value for the GPUISP */ +/** + * \var DebayerParams::contrast + * \brief Contrast value for GPUISP + */ + /** * \class Debayer * \brief Base debayering class