From patchwork Fri Jun 7 08:03:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 20229 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 D0F21C31E9 for ; Fri, 7 Jun 2024 08:03:51 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id ACF656545A; Fri, 7 Jun 2024 10:03:50 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="an6GhMWd"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 43B90633DD for ; Fri, 7 Jun 2024 10:03:49 +0200 (CEST) Received: from neptunite.hamster-moth.ts.net (h175-177-049-156.catv02.itscom.jp [175.177.49.156]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A88EC230; Fri, 7 Jun 2024 10:03:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1717747419; bh=IP16ZoBmzrX2UmLxtQmcbwR7XRhbU/ROX+gfNq0jJp8=; h=From:To:Cc:Subject:Date:From; b=an6GhMWdXP6/lJhMjUY/Zajq7EaASpaytko/v7hZz1lwYHsAZ/i4zuRZBFQqIgG3X 23nWTsn3da9Q0FRKUOqL2mUR+uWDVKQ9y0vQOw7oQPS5NfSrLyqff1/BTtQQieWxKR T2enx/KCuoljoDBXyZDItn1a2uJG46KvZkPqYzQA= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH v5 0/3] ipa: rkisp1: Improve AGC (plumbing) Date: Fri, 7 Jun 2024 17:03:27 +0900 Message-Id: <20240607080330.2667994-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.39.2 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" This series depends on v5 of the series "ipa: Move Pwl from Raspberry Pi to libipa". This series adds support in the rkisp1 IPA for: - reading histogram weights (metering modes) from tuning file - expands luminance target from a scalar value to piecewise linear function, controlled by lux - plumbs controls for setting metering mode, exposure mode, constraint mode, and frame duration As of v2, defaults have been added such that the rkisp1 pipeline will no longer break with non-existent/erroneous tuning files. v3 mainly adds support for both v10 and v12, and fixes a limits issue in when using the exposure mode helper. v4 only has minor changes. v5 only changes PointF to the typedefed version from Vector (see the dependent series for details). Paul Elder (3): ipa: rkisp1: agc: Read histogram weights from tuning file ipa: libipa: agc: Change luminance target to piecewise linear function ipa: rkisp1: agc: Plumb mode-selection and frame duration controls src/ipa/ipu3/algorithms/agc.cpp | 5 +- src/ipa/libipa/agc_mean_luminance.cpp | 32 ++++-- src/ipa/libipa/agc_mean_luminance.h | 7 +- src/ipa/rkisp1/algorithms/agc.cpp | 146 +++++++++++++++++++++++++- src/ipa/rkisp1/algorithms/agc.h | 6 ++ src/ipa/rkisp1/algorithms/algorithm.h | 2 + src/ipa/rkisp1/ipa_context.h | 10 +- src/ipa/rkisp1/rkisp1.cpp | 10 ++ 8 files changed, 200 insertions(+), 18 deletions(-)