From patchwork Thu Aug 18 09:43:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 17155 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 D0607C3272 for ; Thu, 18 Aug 2022 09:44:21 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 364F861FC0; Thu, 18 Aug 2022 11:44:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1660815860; bh=N4xaFq0/0nTDRzSSGn3+EEaH4XRSu2UDnZXqZsQ5eFo=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=2k7Q3WTRJQPTZ2V3TITHRYft9H8drtw4A7yTXRYLx4gnSIAyLpKoF8kpmCSh9WE3w y/sWy28JXy37S9N/Ct7TR6/lbHYRSdWr992h8c2GFI06OP8r6QEwPIRc0v3VG2v3bP K3lFyvTIufRflsqvHrfv/PQfgtCnNQg9Ak0EL7SP/sdcsP46C4gwNXuWOK1yiYe0Np 8L9NyCdjRm+IKhUBRIQYBPjLI8eaeVTH6lMOhslYBPlmn0DsIkAfZ6ry2Z7xgucTbx q1FfxPViRjl6yzXMRDuyB+iH1xW+tL8Rmchi0w1vlav4z0Xm5Qyia3AE/QLO3cmcTC G2/Anhtd+IszA== Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id CAE0A61FA5 for ; Thu, 18 Aug 2022 11:44:18 +0200 (CEST) Received: (Authenticated sender: jacopo@jmondi.org) by mail.gandi.net (Postfix) with ESMTPSA id C6680FF80E; Thu, 18 Aug 2022 09:44:17 +0000 (UTC) To: libcamera-devel@lists.libcamera.org Date: Thu, 18 Aug 2022 11:43:53 +0200 Message-Id: <20220818094410.1671-1-jacopo@jmondi.org> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 00/17] libcamera: Align IPU3 and RKISP1 interfaces 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 Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Quite some re-shuffling in this series, based on Laurent's and Umang's comments and Kieran's testing of the previous version. The most important changes are: - Dropped the first 3 patches of the series that introduced ErrorFlags - Drop error flags handling in the FCQ - Remove context_ zeroing at IPA::stop() time which caused a CTS error on start/stop/start sequences - Include patches from Daniel that plumb lens support in the RkISP1 - Pile on top more IPA cleanups to align the two IPA implementations Tested on IPU3 with CTS and ChomeOS CCA Tested on RkISP1 RockPi4 + imx519 by running cam with SDL backend and verifying the image quality is comparable to the current master branch version Thanks j Daniel Semkowicz (1): libcamera: rkisp1: ipa: Rename ctrls_ to sensorCtrls_ Daniel Semkowicz via libcamera-devel (1): rkisp1: Add camera lens to PH and expose it to the IPA Jacopo Mondi (8): ipa: rkisp1: Align configure() with IPU3 ipa: rkisp1: Make cameraSensorInfo mandatory ipa: ipu3: Compute line duration at configure() time ipa: ipu3: Re-sort methods implementation ipa: rkisp: Remove unused class member ipa: ipu3: Validate controls before assigning them ipa: ipu3: Store configuration data in context ipa: rkisp1: Store configuration data in context Kieran Bingham via libcamera-devel (6): ipa: rkisp1: Rename frameContext to activeState ipa: libipa: Provide a common base for FrameContexts ipa: rkisp1: Convert to use the FCQueue ipa: libipa: algorithm: prepare(): Pass frame and frame Context ipa: libipa: algorithm: process(): Pass frame number ipa: libipa: algorithm: queueRequest(): Pass frame context Umang Jain (1): ipa: libipa: Introduce FrameContextQueue include/libcamera/ipa/rkisp1.mojom | 10 +- src/ipa/ipu3/algorithms/af.cpp | 10 +- src/ipa/ipu3/algorithms/af.h | 7 +- src/ipa/ipu3/algorithms/agc.cpp | 11 +- src/ipa/ipu3/algorithms/agc.h | 5 +- src/ipa/ipu3/algorithms/awb.cpp | 9 +- src/ipa/ipu3/algorithms/awb.h | 8 +- src/ipa/ipu3/algorithms/blc.cpp | 6 +- src/ipa/ipu3/algorithms/blc.h | 4 +- src/ipa/ipu3/algorithms/tone_mapping.cpp | 9 +- src/ipa/ipu3/algorithms/tone_mapping.h | 6 +- src/ipa/ipu3/ipa_context.cpp | 58 ++--- src/ipa/ipu3/ipa_context.h | 22 +- src/ipa/ipu3/ipu3.cpp | 306 +++++++++++------------ src/ipa/ipu3/module.h | 2 +- src/ipa/libipa/algorithm.cpp | 4 + src/ipa/libipa/algorithm.h | 6 +- src/ipa/libipa/fc_queue.cpp | 129 ++++++++++ src/ipa/libipa/fc_queue.h | 111 ++++++++ src/ipa/libipa/meson.build | 2 + src/ipa/rkisp1/algorithms/agc.cpp | 28 ++- src/ipa/rkisp1/algorithms/agc.h | 7 +- src/ipa/rkisp1/algorithms/awb.cpp | 42 ++-- src/ipa/rkisp1/algorithms/awb.h | 7 +- src/ipa/rkisp1/algorithms/blc.cpp | 4 +- src/ipa/rkisp1/algorithms/blc.h | 4 +- src/ipa/rkisp1/algorithms/cproc.cpp | 7 +- src/ipa/rkisp1/algorithms/cproc.h | 5 +- src/ipa/rkisp1/algorithms/dpcc.cpp | 4 +- src/ipa/rkisp1/algorithms/dpcc.h | 4 +- src/ipa/rkisp1/algorithms/filter.cpp | 10 +- src/ipa/rkisp1/algorithms/filter.h | 5 +- src/ipa/rkisp1/algorithms/gsl.cpp | 4 +- src/ipa/rkisp1/algorithms/gsl.h | 4 +- src/ipa/rkisp1/algorithms/lsc.cpp | 4 +- src/ipa/rkisp1/algorithms/lsc.h | 4 +- src/ipa/rkisp1/ipa_context.cpp | 15 ++ src/ipa/rkisp1/ipa_context.h | 17 +- src/ipa/rkisp1/module.h | 2 +- src/ipa/rkisp1/rkisp1.cpp | 127 ++++++---- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 34 ++- 41 files changed, 707 insertions(+), 356 deletions(-) create mode 100644 src/ipa/libipa/fc_queue.cpp create mode 100644 src/ipa/libipa/fc_queue.h --- 2.37.2