From patchwork Wed Mar 8 16:40:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 18357 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 58D85BE080 for ; Wed, 8 Mar 2023 16:40:44 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 99B36626C2; Wed, 8 Mar 2023 17:40:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1678293643; bh=5fHBBgAx1ZGuN+wk6ib780x0DaiKLFBhFd1kOoE3go4=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=aW1+3VPLx8SLD7JpAG1k/ASGyY0n2sZMvHTm8dPElihcb5Idp7d7v9wGULimzHgke rAp63qPcb7H5+VaBNuuO/6335JkwdPml7TT6uZbXhl3OLl2P/CLeFkiZQCn3tBArUO o73ogNzlZJzEQxRWDwXmDn9833CqBbMIOvTWU4W9DpMaFANko+0u6wAcvDSJUDPNiQ XylF8OAFs9HgMXQmmdVEyLhPhaDie+67igISbxtnKWmo+cvUiG2PnxEQ9wulWUgIm9 +q1YosEBM/IlWbdzVe4cANPbhwgQ17s1QdKjN1TqedOjP0+m6/aOH2FCy0tQNtZtdv 6ZJ/kQ7xtal6g== 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 0278C62693 for ; Wed, 8 Mar 2023 17:40:41 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="QDWZwL7y"; dkim-atps=neutral Received: from uno.homenet.telecomitalia.it (host-79-47-54-87.retail.telecomitalia.it [79.47.54.87]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 043F227C; Wed, 8 Mar 2023 17:40:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1678293641; bh=5fHBBgAx1ZGuN+wk6ib780x0DaiKLFBhFd1kOoE3go4=; h=From:To:Cc:Subject:Date:From; b=QDWZwL7yZJY5Ewu2xSaUxx79vN8xmciX8bXIjseGcwGChxx9LLRfwkR9RLP+dryl3 4FvTQLiAqjRUiPsRO/ep49X1+Vw3iz51q9OJpibxOaDZY15qU+cfMakTxDGOdgl90u SZjCzFxMlYk2wLj5fUb9Q/sgKenUT+lbIlMI7+N4= To: libcamera-devel@lists.libcamera.org Date: Wed, 8 Mar 2023 17:40:25 +0100 Message-Id: <20230308164028.235638-1-jacopo.mondi@ideasonboard.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/3] ipa: rkisp1: lsc: Enable/disable LSC 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: , X-Patchwork-Original-From: Jacopo Mondi via libcamera-devel From: Jacopo Mondi Reply-To: Jacopo Mondi Cc: Jacopo Mondi Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" A small series that adds one control to enable/disable the LSC algorithm at runtime. The newly introduced control is also used to report the algorithm's state as part of a Request metadata. Patch 1 introduces the control Patch 2 instrument the LSC algorithm to handle run-time enable and disable Patch 3 populates the metadata by moving the algorithm's state to the context activeState. I initially moved the algorithm's state to the frameContext, but as metadata are populated in process() which is called before prepare() (which updates the frame's context state) it was not possible to store the information there. Jacopo Mondi (3): libcamera: control_ids: Introduce LensShadingEnable ipa: rkisp1: lsc: Enable/disable LSC algorithm ipa: rkisp1: lsc: Move 'enable' to activeState src/android/camera_capabilities.cpp | 4 +- src/ipa/rkisp1/algorithms/dpf.cpp | 6 +-- src/ipa/rkisp1/algorithms/lsc.cpp | 59 ++++++++++++++++++++++++++++- src/ipa/rkisp1/algorithms/lsc.h | 8 ++++ src/ipa/rkisp1/ipa_context.h | 9 +++-- src/ipa/rkisp1/rkisp1.cpp | 1 + src/libcamera/control_ids.yaml | 20 +++------- 7 files changed, 83 insertions(+), 24 deletions(-) --- 2.39.0