From patchwork Thu Jun 13 08:33:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 20285 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 69CCCC3237 for ; Thu, 13 Jun 2024 08:36:37 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0F5FB65491; Thu, 13 Jun 2024 10:36:37 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="hc9cnOZ8"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 115B66548B for ; Thu, 13 Jun 2024 10:36:36 +0200 (CEST) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:3fed:9d83:54f9:6b93]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 336BEBEB; Thu, 13 Jun 2024 10:36:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1718267782; bh=8o5C02XcJNF0ptiQqO2BtH83TIZKQk1Xb0wMfDNiWso=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hc9cnOZ8xVJAjckEGcxrqbQAjLOlMMSgkRaR+okSf/wC0uABigKx50EJQZApb+t+u vzpZhouIZITRno8VNE0c9+edCZ9uAiUSePXJYOc0HPgdo41dpdYYdc6LZzGUkVac9q fKyVI/fDC1E6vdEHdl2jZBBa2YWcGh5RKiUme97w= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH 1/3] ipa: rkisp1: cproc: Use anonymous namespace to limit symbol visibility Date: Thu, 13 Jun 2024 10:33:18 +0200 Message-ID: <20240613083533.855791-2-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240613083533.855791-1-stefan.klug@ideasonboard.com> References: <20240613083533.855791-1-stefan.klug@ideasonboard.com> 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" Use a anonymous namespace instead of the static keyword to limity symbol visibility. Signed-off-by: Stefan Klug Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/ipa/rkisp1/algorithms/cproc.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp index 18c7b719d3c7..955298093fda 100644 --- a/src/ipa/rkisp1/algorithms/cproc.cpp +++ b/src/ipa/rkisp1/algorithms/cproc.cpp @@ -33,25 +33,29 @@ namespace ipa::rkisp1::algorithms { LOG_DEFINE_CATEGORY(RkISP1CProc) +namespace { + constexpr float kDefaultBrightness = 0.0f; constexpr float kDefaultContrast = 1.0f; constexpr float kDefaultSaturation = 1.0f; -static int convertBrightness(const float v) +int convertBrightness(const float v) { return std::clamp(std::lround(v * 128), -128, 127); } -static int convertContrast(const float v) +int convertContrast(const float v) { return std::clamp(std::lround(v * 128), 0, 255); } -static int convertSaturation(const float v) +int convertSaturation(const float v) { return std::clamp(std::lround(v * 128), 0, 255); } +} /* namespace */ + /** * \copydoc libcamera::ipa::Algorithm::init */ From patchwork Thu Jun 13 08:33:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 20286 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 A9D87C3237 for ; Thu, 13 Jun 2024 08:36:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4534F65491; Thu, 13 Jun 2024 10:36:42 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="WW5ubFTa"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id ADEFB6548B for ; Thu, 13 Jun 2024 10:36:40 +0200 (CEST) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:3fed:9d83:54f9:6b93]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CBDF7BEB; Thu, 13 Jun 2024 10:36:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1718267786; bh=eqfNOwYbtBMJh2BtlKNYOagP2VNXb1FXXBVyLCo7Q+s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WW5ubFTa7oAkKkW5tiKQLJSK9XjRZ/PMcQhy3PPA/NS3p/8K/t0VOWvix7fzw5b/H 7SLEQX+Sk8ZsuFqBZNTACjFKP7xp0bnypKUuhb83v7gNoLPD2sVC8wrvev3jOd3T9R NJcXJcNCYTNGC240B7uzaQ6sr8jB3CyIofcndNZ8= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH 2/3] ipa: rkisp1: cproc: Merge identical functions Date: Thu, 13 Jun 2024 10:33:19 +0200 Message-ID: <20240613083533.855791-3-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240613083533.855791-1-stefan.klug@ideasonboard.com> References: <20240613083533.855791-1-stefan.klug@ideasonboard.com> 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" convertContrast() and convertSaturation() are equal. Merge them into one. Signed-off-by: Stefan Klug Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/ipa/rkisp1/algorithms/cproc.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp index 955298093fda..9f400a52dd96 100644 --- a/src/ipa/rkisp1/algorithms/cproc.cpp +++ b/src/ipa/rkisp1/algorithms/cproc.cpp @@ -44,12 +44,7 @@ int convertBrightness(const float v) return std::clamp(std::lround(v * 128), -128, 127); } -int convertContrast(const float v) -{ - return std::clamp(std::lround(v * 128), 0, 255); -} - -int convertSaturation(const float v) +int convertContrastOrSaturation(const float v) { return std::clamp(std::lround(v * 128), 0, 255); } @@ -80,8 +75,8 @@ int ColorProcessing::configure([[maybe_unused]] IPAContext &context, auto &cproc = context.activeState.cproc; cproc.brightness = convertBrightness(kDefaultBrightness); - cproc.contrast = convertContrast(kDefaultContrast); - cproc.saturation = convertSaturation(kDefaultSaturation); + cproc.contrast = convertContrastOrSaturation(kDefaultContrast); + cproc.saturation = convertContrastOrSaturation(kDefaultSaturation); return 0; } @@ -113,7 +108,7 @@ void ColorProcessing::queueRequest(IPAContext &context, const auto &contrast = controls.get(controls::Contrast); if (contrast) { - int value = convertContrast(*contrast); + int value = convertContrastOrSaturation(*contrast); if (cproc.contrast != value) { cproc.contrast = value; update = true; @@ -124,7 +119,7 @@ void ColorProcessing::queueRequest(IPAContext &context, const auto saturation = controls.get(controls::Saturation); if (saturation) { - int value = convertSaturation(*saturation); + int value = convertContrastOrSaturation(*saturation); if (cproc.saturation != value) { cproc.saturation = value; update = true; From patchwork Thu Jun 13 08:33:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 20287 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 85AFDC3237 for ; Thu, 13 Jun 2024 08:36:47 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4399365491; Thu, 13 Jun 2024 10:36:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="s4lyZhYq"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 193D365491 for ; Thu, 13 Jun 2024 10:36:45 +0200 (CEST) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:3fed:9d83:54f9:6b93]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 35F89BEB; Thu, 13 Jun 2024 10:36:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1718267791; bh=FmJxQYeUR4Bl8VI/NfYDxrq007y1nTNet68JV+aXpDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s4lyZhYqMeDcgZu/gW5Sezcjr8siHXuGmcflcc2NsXD0hCCDlVp1zA/tmX/qCHQM6 iu94HshqLtb5BCrHagCm5Ac9+A/Vzo5/sjLfFczpt7CNM74XL91y1jiRsa+96B2ZVC I+m2lL3hHEJAT8u8OWaheYBjZSQA4g9N/sReFlt0= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH 3/3] ipa: rkisp1: cproc: Drop incorrect [[maybe_unused]] Date: Thu, 13 Jun 2024 10:33:20 +0200 Message-ID: <20240613083533.855791-4-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240613083533.855791-1-stefan.klug@ideasonboard.com> References: <20240613083533.855791-1-stefan.klug@ideasonboard.com> 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" A few function parameters are marked with [[maybe_unused]] but are actually used. Drop the attribute. Signed-off-by: Stefan Klug Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/ipa/rkisp1/algorithms/cproc.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp index 9f400a52dd96..ef0931b20453 100644 --- a/src/ipa/rkisp1/algorithms/cproc.cpp +++ b/src/ipa/rkisp1/algorithms/cproc.cpp @@ -54,7 +54,7 @@ int convertContrastOrSaturation(const float v) /** * \copydoc libcamera::ipa::Algorithm::init */ -int ColorProcessing::init([[maybe_unused]] IPAContext &context, +int ColorProcessing::init(IPAContext &context, [[maybe_unused]] const YamlObject &tuningData) { auto &cmap = context.ctrlMap; @@ -69,7 +69,7 @@ int ColorProcessing::init([[maybe_unused]] IPAContext &context, /** * \copydoc libcamera::ipa::Algorithm::configure */ -int ColorProcessing::configure([[maybe_unused]] IPAContext &context, +int ColorProcessing::configure(IPAContext &context, [[maybe_unused]] const IPACameraSensorInfo &configInfo) { auto &cproc = context.activeState.cproc; @@ -85,7 +85,7 @@ int ColorProcessing::configure([[maybe_unused]] IPAContext &context, * \copydoc libcamera::ipa::Algorithm::queueRequest */ void ColorProcessing::queueRequest(IPAContext &context, - [[maybe_unused]] const uint32_t frame, + const uint32_t frame, IPAFrameContext &frameContext, const ControlList &controls) {