[{"id":37723,"web_url":"https://patchwork.libcamera.org/comment/37723/","msgid":"<f395c082-3c18-456d-8c9e-40b6f131b9b6@ideasonboard.com>","date":"2026-01-19T10:45:07","subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 01. 14. 12:30 keltezéssel, Milan Zamazal írta:\n> Let's move the contrast settings from lut.cpp to adjust.cpp, where they\n> belong, similarly to saturation.\n> \n> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n> ---\n>   src/ipa/simple/algorithms/adjust.cpp | 14 +++++++++++\n>   src/ipa/simple/algorithms/lut.cpp    | 35 +---------------------------\n>   src/ipa/simple/algorithms/lut.h      | 11 ---------\n>   3 files changed, 15 insertions(+), 45 deletions(-)\n> \n> diff --git a/src/ipa/simple/algorithms/adjust.cpp b/src/ipa/simple/algorithms/adjust.cpp\n> index 8ce0631e4..27ae2a53a 100644\n> --- a/src/ipa/simple/algorithms/adjust.cpp\n> +++ b/src/ipa/simple/algorithms/adjust.cpp\n> [...]\n> @@ -95,6 +105,10 @@ void Adjust::process([[maybe_unused]] IPAContext &context,\n>   \t\t     [[maybe_unused]] const SwIspStats *stats,\n>   \t\t     ControlList &metadata)\n>   {\n> +\tconst auto &contrast = frameContext.contrast;\n> +\tif (contrast)\n> +\t\tmetadata.set(controls::Contrast, contrast.value());\n> +\n>   \tconst auto &saturation = frameContext.saturation;\n>   \tmetadata.set(controls::Saturation, saturation.value_or(1.0));\n\nIs the difference between when these two are reported intentional?\n\n\n>   }\n> [...]","headers":{"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\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C8FECBDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Jan 2026 10:45:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EDA6C61FC3;\n\tMon, 19 Jan 2026 11:45:12 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5318761F9F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Jan 2026 11:45:11 +0100 (CET)","from [192.168.33.17] (185.221.143.114.nat.pool.zt.hu\n\t[185.221.143.114])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 930F22D9;\n\tMon, 19 Jan 2026 11:44:40 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NMv2ZspM\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768819480;\n\tbh=RV8+SyqKFmDG02vLVN/usLgaUzPDirMszEqqfAreu1s=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=NMv2ZspMhWyFJdiT2JMq6fuJNhdgzAoi614tJAOdupcMjnFEmc/nmzhNWNDPDQV+8\n\tfdjZRwD3plo4Em3emUYpNYn6Y0nkSB/XX2spRk7KIDEoIazhBruHeOOmHPhLmX1Kln\n\tRt5vHD9cbf/2TIfQtpBh4FeJnkD8UY6FZfgJjZpc=","Message-ID":"<f395c082-3c18-456d-8c9e-40b6f131b9b6@ideasonboard.com>","Date":"Mon, 19 Jan 2026 11:45:07 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","To":"Milan Zamazal <mzamazal@redhat.com>, libcamera-devel@lists.libcamera.org","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>","References":"<20260114113016.25162-1-mzamazal@redhat.com>\n\t<20260114113016.25162-9-mzamazal@redhat.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260114113016.25162-9-mzamazal@redhat.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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>,\n\t<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>,\n\t<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>"}},{"id":37740,"web_url":"https://patchwork.libcamera.org/comment/37740/","msgid":"<85jyxd3ax4.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2026-01-19T15:00:07","subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hi Barnabás,\n\nBarnabás Pőcze <barnabas.pocze@ideasonboard.com> writes:\n\n> 2026. 01. 14. 12:30 keltezéssel, Milan Zamazal írta:\n>> Let's move the contrast settings from lut.cpp to adjust.cpp, where they\n>> belong, similarly to saturation.\n>> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n>> ---\n>>   src/ipa/simple/algorithms/adjust.cpp | 14 +++++++++++\n>>   src/ipa/simple/algorithms/lut.cpp    | 35 +---------------------------\n>>   src/ipa/simple/algorithms/lut.h      | 11 ---------\n>>   3 files changed, 15 insertions(+), 45 deletions(-)\n>> diff --git a/src/ipa/simple/algorithms/adjust.cpp b/src/ipa/simple/algorithms/adjust.cpp\n>> index 8ce0631e4..27ae2a53a 100644\n>> --- a/src/ipa/simple/algorithms/adjust.cpp\n>> +++ b/src/ipa/simple/algorithms/adjust.cpp\n>> [...]\n>> @@ -95,6 +105,10 @@ void Adjust::process([[maybe_unused]] IPAContext &context,\n>>   \t\t     [[maybe_unused]] const SwIspStats *stats,\n>>   \t\t     ControlList &metadata)\n>>   {\n>> +\tconst auto &contrast = frameContext.contrast;\n>> +\tif (contrast)\n>> +\t\tmetadata.set(controls::Contrast, contrast.value());\n>> +\n>>   \tconst auto &saturation = frameContext.saturation;\n>>   \tmetadata.set(controls::Saturation, saturation.value_or(1.0));\n>\n> Is the difference between when these two are reported intentional?\n\nHistoric.  I think contrast metadata should be set unconditionally.\nSince I consider patches that move and modify code at the same time\ndifficult to (re)view, I'd prefer fixing that in a separate patch.\n\n>>   }\n>> [...]","headers":{"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\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 523DEC3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Jan 2026 15:00:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3EDB761FBF;\n\tMon, 19 Jan 2026 16:00:15 +0100 (CET)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 15DAB606D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Jan 2026 16:00:13 +0100 (CET)","from mail-ej1-f69.google.com (mail-ej1-f69.google.com\n\t[209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-19-eV4ddnBaPzCgJkJHt2VijA-1; Mon, 19 Jan 2026 10:00:11 -0500","by mail-ej1-f69.google.com with SMTP id\n\ta640c23a62f3a-b870d3327baso446899166b.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Jan 2026 07:00:11 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-b879cd85b55sm1046384066b.21.2026.01.19.07.00.07\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 19 Jan 2026 07:00:08 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"R5qKamGD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1768834812;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=P+HE8JR2FY9gLmf4+DLIlsm2bKkakT2XnquURvYy0Dg=;\n\tb=R5qKamGD0vljl/fbij1V8E+AyDfK/XuBNMGsHiWrXdhqovUraJmex7nwLl31Kq9aBGJUPJ\n\to6f2Gk3u5KGc/05P9+LuDzBT9SWunWhR2QjSrvKpC+vRehTWyoAFSrm5Mig3ak44NyPAg2\n\tMvdGtwoN9hbHqvxFl+gTZHIit4OlPwU=","X-MC-Unique":"eV4ddnBaPzCgJkJHt2VijA-1","X-Mimecast-MFC-AGG-ID":"eV4ddnBaPzCgJkJHt2VijA_1768834810","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1768834810; x=1769439610;\n\th=content-transfer-encoding:mime-version:user-agent:message-id:date\n\t:references:in-reply-to:subject:cc:to:from:x-gm-gg\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=hyFoZFVrsGOYvdRWUn1N1R+gtUOm4TyHPtKAk5fbulM=;\n\tb=hkf3PPbBVRHQF57liVpcv++mxQ92WsXmqa/zfBI00/UTQdQa9O5YxVm5c7CS1Z616R\n\tG5TsA6Mzen5p/LU8INETG1Rkkhnoj4T8ZMMxVcvOIUXL9NgKW0ySq13w3v+b7Nz0Sc4K\n\tPbN9TBPhYJsXD/P5enUxccMS7ivM4HgjtjDSw9AKY3lNrsZDvLgCgSgU9sTc8xiYpUec\n\tcDbcBJ0Eti9R1TcbVZ1bAVMMnNyyYusMipCyJDltefYin6sQwozGw1Vq6UxtYoaOrWHr\n\tbHeF4x/S/e81hLkai5Vb0Iibm2BQxHCjMN238Rjk2Vm210rZG5CYRH3J5GYlBlOvZH/J\n\tkxQg==","X-Gm-Message-State":"AOJu0Yym4W4eoa5Q9dB1oFLvHUD3/c2yIU7tfwIPSEzCtb0STJK6isbi\n\t1ws9k6mCEpXJHdTPXXETcAMlI8wkMZJB6Q2k6DDn/8Gj3y0mDTW+pRxJ2rOlmqzQI78t0qivqYi\n\tjClrbuCDhZR2y/5HEt/iVylmTU+dCq9iMAHGEV9AKw61WOIYJCQ+atrj1+ZEqIu6pakXoVPC1kw\n\tA=","X-Gm-Gg":"AY/fxX4JhGodYaHYMKFF5HpkRqzjqMOaEK232Q0XsPz+UOSobzNcLGHvB/pun0tuK8H\n\tHVoa1K6SmtuNQZ5XlCU/wvyipYgnQNptRSLOKsLANcNbOy4XqPV8OpcE9oDsRjF9xHttvAQT3Oe\n\tDOGgIxUflAzPdPYjptweQB+TSpyYnvap3sLhGE3psEhRMGheuvWOD0UQK2dXC9DqjfHNXNV/Fjc\n\t0w6r0Eig003M+/b+zMbFALl+9jwrbInAgcDiLVPE2a6qRcxkShVz8jKxZqwVnpVjhlhwxdjVE7V\n\t6D+XrXhsy5PSF99zibwVnGqqtRMhv2xUa0X4VA3u0kRcTGCL92BAKBRDtXes5OCpABvlrBiKkw0\n\tzXRhuNjAZL4iAi6Mj5W0zUoKkE5Mj6YCsm6ol12p6BdvA5MwwwE7z8T8DEErPL8w=","X-Received":["by 2002:a17:906:6a17:b0:b87:31:d29 with SMTP id\n\ta640c23a62f3a-b87930373c6mr893625066b.44.1768834809983; \n\tMon, 19 Jan 2026 07:00:09 -0800 (PST)","by 2002:a17:906:6a17:b0:b87:31:d29 with SMTP id\n\ta640c23a62f3a-b87930373c6mr893622366b.44.1768834809391; \n\tMon, 19 Jan 2026 07:00:09 -0800 (PST)"],"From":"Milan Zamazal <mzamazal@redhat.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,  Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>","Subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","In-Reply-To":"<f395c082-3c18-456d-8c9e-40b6f131b9b6@ideasonboard.com> (\n\t=?utf-8?b?IkJhcm5hYsOhcyBQxZFjemUiJ3M=?= message of \"Mon,\n\t19 Jan 2026  11:45:07 +0100\")","References":"<20260114113016.25162-1-mzamazal@redhat.com>\n\t<20260114113016.25162-9-mzamazal@redhat.com>\n\t<f395c082-3c18-456d-8c9e-40b6f131b9b6@ideasonboard.com>","Date":"Mon, 19 Jan 2026 16:00:07 +0100","Message-ID":"<85jyxd3ax4.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"PgoJBAosTFjiKcgnv6n-L6L3h8Ad52LDEnMcexpG_tU_1768834810","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","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>,\n\t<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>,\n\t<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>"}},{"id":37768,"web_url":"https://patchwork.libcamera.org/comment/37768/","msgid":"<7593ea89-32c9-4153-8759-6850262504d7@ideasonboard.com>","date":"2026-01-20T16:02:12","subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 01. 14. 12:30 keltezéssel, Milan Zamazal írta:\n> Let's move the contrast settings from lut.cpp to adjust.cpp, where they\n> belong, similarly to saturation.\n> \n> Signed-off-by: Milan Zamazal <mzamazal@redhat.com>\n> ---\n\nLooks ok to me.\n\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\n\n>   src/ipa/simple/algorithms/adjust.cpp | 14 +++++++++++\n>   src/ipa/simple/algorithms/lut.cpp    | 35 +---------------------------\n>   src/ipa/simple/algorithms/lut.h      | 11 ---------\n>   3 files changed, 15 insertions(+), 45 deletions(-)\n> \n> diff --git a/src/ipa/simple/algorithms/adjust.cpp b/src/ipa/simple/algorithms/adjust.cpp\n> index 8ce0631e4..27ae2a53a 100644\n> --- a/src/ipa/simple/algorithms/adjust.cpp\n> +++ b/src/ipa/simple/algorithms/adjust.cpp\n> @@ -23,6 +23,7 @@ LOG_DEFINE_CATEGORY(IPASoftAdjust)\n>   \n>   int Adjust::init(IPAContext &context, [[maybe_unused]] const YamlObject &tuningData)\n>   {\n> +\tcontext.ctrlMap[&controls::Contrast] = ControlInfo(0.0f, 2.0f, 1.0f);\n>   \tif (context.ccmEnabled)\n>   \t\tcontext.ctrlMap[&controls::Saturation] = ControlInfo(0.0f, 2.0f, 1.0f);\n>   \treturn 0;\n> @@ -31,6 +32,7 @@ int Adjust::init(IPAContext &context, [[maybe_unused]] const YamlObject &tuningD\n>   int Adjust::configure(IPAContext &context,\n>   \t\t      [[maybe_unused]] const IPAConfigInfo &configInfo)\n>   {\n> +\tcontext.activeState.knobs.contrast = std::optional<double>();\n>   \tcontext.activeState.knobs.saturation = std::optional<double>();\n>   \n>   \treturn 0;\n> @@ -41,6 +43,12 @@ void Adjust::queueRequest(typename Module::Context &context,\n>   \t\t\t  [[maybe_unused]] typename Module::FrameContext &frameContext,\n>   \t\t\t  const ControlList &controls)\n>   {\n> +\tconst auto &contrast = controls.get(controls::Contrast);\n> +\tif (contrast.has_value()) {\n> +\t\tcontext.activeState.knobs.contrast = contrast;\n> +\t\tLOG(IPASoftAdjust, Debug) << \"Setting contrast to \" << contrast.value();\n> +\t}\n> +\n>   \tconst auto &saturation = controls.get(controls::Saturation);\n>   \tif (saturation.has_value()) {\n>   \t\tcontext.activeState.knobs.saturation = saturation;\n> @@ -75,6 +83,8 @@ void Adjust::prepare(IPAContext &context,\n>   \t\t     IPAFrameContext &frameContext,\n>   \t\t     [[maybe_unused]] DebayerParams *params)\n>   {\n> +\tframeContext.contrast = context.activeState.knobs.contrast;\n> +\n>   \tif (!context.ccmEnabled)\n>   \t\treturn;\n>   \n> @@ -95,6 +105,10 @@ void Adjust::process([[maybe_unused]] IPAContext &context,\n>   \t\t     [[maybe_unused]] const SwIspStats *stats,\n>   \t\t     ControlList &metadata)\n>   {\n> +\tconst auto &contrast = frameContext.contrast;\n> +\tif (contrast)\n> +\t\tmetadata.set(controls::Contrast, contrast.value());\n> +\n>   \tconst auto &saturation = frameContext.saturation;\n>   \tmetadata.set(controls::Saturation, saturation.value_or(1.0));\n>   }\n> diff --git a/src/ipa/simple/algorithms/lut.cpp b/src/ipa/simple/algorithms/lut.cpp\n> index 141ea17fa..3a00bf4ee 100644\n> --- a/src/ipa/simple/algorithms/lut.cpp\n> +++ b/src/ipa/simple/algorithms/lut.cpp\n> @@ -24,36 +24,16 @@ LOG_DEFINE_CATEGORY(IPASoftLut)\n>   \n>   namespace ipa::soft::algorithms {\n>   \n> -int Lut::init(IPAContext &context,\n> -\t      [[maybe_unused]] const YamlObject &tuningData)\n> -{\n> -\tcontext.ctrlMap[&controls::Contrast] = ControlInfo(0.0f, 2.0f, 1.0f);\n> -\treturn 0;\n> -}\n> -\n>   int Lut::configure(IPAContext &context,\n>   \t\t   [[maybe_unused]] const IPAConfigInfo &configInfo)\n>   {\n>   \t/* Gamma value is fixed */\n>   \tcontext.configuration.gamma = 1.0 / 2.2;\n> -\tcontext.activeState.knobs.contrast = std::optional<double>();\n>   \tupdateGammaTable(context);\n>   \n>   \treturn 0;\n>   }\n>   \n> -void Lut::queueRequest(typename Module::Context &context,\n> -\t\t       [[maybe_unused]] const uint32_t frame,\n> -\t\t       [[maybe_unused]] typename Module::FrameContext &frameContext,\n> -\t\t       const ControlList &controls)\n> -{\n> -\tconst auto &contrast = controls.get(controls::Contrast);\n> -\tif (contrast.has_value()) {\n> -\t\tcontext.activeState.knobs.contrast = contrast;\n> -\t\tLOG(IPASoftLut, Debug) << \"Setting contrast to \" << contrast.value();\n> -\t}\n> -}\n> -\n>   void Lut::updateGammaTable(IPAContext &context)\n>   {\n>   \tconst auto blackLevel = context.activeState.blc.level;\n> @@ -96,11 +76,9 @@ int16_t Lut::matrixValue(unsigned int i, float ccm) const\n>   \n>   void Lut::prepare(IPAContext &context,\n>   \t\t  [[maybe_unused]] const uint32_t frame,\n> -\t\t  IPAFrameContext &frameContext,\n> +\t\t  [[maybe_unused]] IPAFrameContext &frameContext,\n>   \t\t  DebayerParams *params)\n>   {\n> -\tframeContext.contrast = context.activeState.knobs.contrast;\n> -\n>   \t/*\n>   \t * Update the gamma table if needed. This means if black level changes\n>   \t * and since the black level gets updated only if a lower value is\n> @@ -157,17 +135,6 @@ void Lut::prepare(IPAContext &context,\n>   \tparams->contrastExp = context.activeState.gamma.contrastExp;\n>   }\n>   \n> -void Lut::process([[maybe_unused]] IPAContext &context,\n> -\t\t  [[maybe_unused]] const uint32_t frame,\n> -\t\t  [[maybe_unused]] IPAFrameContext &frameContext,\n> -\t\t  [[maybe_unused]] const SwIspStats *stats,\n> -\t\t  ControlList &metadata)\n> -{\n> -\tconst auto &contrast = frameContext.contrast;\n> -\tif (contrast)\n> -\t\tmetadata.set(controls::Contrast, contrast.value());\n> -}\n> -\n>   REGISTER_IPA_ALGORITHM(Lut, \"Lut\")\n>   \n>   } /* namespace ipa::soft::algorithms */\n> diff --git a/src/ipa/simple/algorithms/lut.h b/src/ipa/simple/algorithms/lut.h\n> index 0eafd0695..ad16d1e8e 100644\n> --- a/src/ipa/simple/algorithms/lut.h\n> +++ b/src/ipa/simple/algorithms/lut.h\n> @@ -19,22 +19,11 @@ public:\n>   \tLut() = default;\n>   \t~Lut() = default;\n>   \n> -\tint init(IPAContext &context, const YamlObject &tuningData) override;\n>   \tint configure(IPAContext &context, const IPAConfigInfo &configInfo) override;\n> -\tvoid queueRequest(typename Module::Context &context,\n> -\t\t\t  const uint32_t frame,\n> -\t\t\t  typename Module::FrameContext &frameContext,\n> -\t\t\t  const ControlList &controls)\n> -\t\toverride;\n>   \tvoid prepare(IPAContext &context,\n>   \t\t     const uint32_t frame,\n>   \t\t     IPAFrameContext &frameContext,\n>   \t\t     DebayerParams *params) override;\n> -\tvoid process(IPAContext &context,\n> -\t\t     const uint32_t frame,\n> -\t\t     IPAFrameContext &frameContext,\n> -\t\t     const SwIspStats *stats,\n> -\t\t     ControlList &metadata) override;\n>   \n>   private:\n>   \tvoid updateGammaTable(IPAContext &context);","headers":{"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\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9478ABDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 20 Jan 2026 16:02:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9220C61FC6;\n\tTue, 20 Jan 2026 17:02:17 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 66E7D61FBF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 20 Jan 2026 17:02:16 +0100 (CET)","from [192.168.33.23] (185.221.143.114.nat.pool.zt.hu\n\t[185.221.143.114])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CCB4A177D;\n\tTue, 20 Jan 2026 17:01:44 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"mUW22/8X\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768924905;\n\tbh=6r3xRk9oyjH6by0XMUbJf/XOIc/qhfa/osxG5OYJsWo=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=mUW22/8XRlGlmd+Aj0S6SjagprYBk2KWOOIiuN0UJfS0dD0UCZ3NY6zEN58ZmU3nq\n\tYKT7A+kFtTwZeF3W+08dz6clSUhaQBYQS82G0ViyxRuTcNG5G7ckNzfNjSmMhPiOlA\n\tKbMrJzKWhIoiLbCgevKH3PGJ4GxB/aDUWmLnYJNc=","Message-ID":"<7593ea89-32c9-4153-8759-6850262504d7@ideasonboard.com>","Date":"Tue, 20 Jan 2026 17:02:12 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 08/14] libcamera: ipa: simple: Move contrast settings\n\tto adjust.cpp","To":"Milan Zamazal <mzamazal@redhat.com>, libcamera-devel@lists.libcamera.org","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>","References":"<20260114113016.25162-1-mzamazal@redhat.com>\n\t<20260114113016.25162-9-mzamazal@redhat.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260114113016.25162-9-mzamazal@redhat.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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>,\n\t<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>,\n\t<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>"}}]