From patchwork Tue Jul 26 14:36:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Sylvestre X-Patchwork-Id: 16795 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 9D665C3275 for ; Tue, 26 Jul 2022 14:36:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id EBAC763313; Tue, 26 Jul 2022 16:36:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1658846201; bh=PzXsD3dU+U1UgudPjMYRXgV0eV9x8WsBhqdbdQhvNtw=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=MlIqCvasei7ny2PL8NjOBZqrj/sUefjrkfAFeVoFp28IA35SxgPaLo17XJ/j3jFOQ pNssDddiWr06Iy//YDaeCzck7skAVr+T6iU6XXr2pnJFPABr2x9t1ikDnB69oY+2Gc 8rVenfGF1gdYcYSg3tWqxZhlRKTv9zcA37CBBS66kCIqmtRmHhgHWPskqON9QXyzkP PKY1Ue2mnDX7cbyahTm1LMPhyCdX+7hCRh0SEpFvb+CzVCYMC9NhCELeF8vwYrIeAC rpYxzY5k+vPlRoCxAUo9ed/cYqFZuklQj5PksUDUGT93UYbQOz2NeuLQX31xKSlhX3 1D04/B8EiF7ew== Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3A94160487 for ; Tue, 26 Jul 2022 16:36:40 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=baylibre-com.20210112.gappssmtp.com header.i=@baylibre-com.20210112.gappssmtp.com header.b="dJz1vFfy"; dkim-atps=neutral Received: by mail-wr1-x436.google.com with SMTP id k12so2713758wrm.13 for ; Tue, 26 Jul 2022 07:36:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9EsDhvHG/ivShiE8Qi4aryR5Rv/3LRbD/1Hk7hL1FEg=; b=dJz1vFfyW242U42FeFa5zGUTPdkGdslb3emHzZATOi8JK6EXfXO1Fxh9/nTQgGZrDL rh3GUjp9+UQm1XneTWwj5Q4I59pyZpwzinnVRNjUq22doy7Tz+45J6Mb9joRnxaks0Bv kIl3Tx2Hk9U0SWr6rGMOOCA0hdtwu9A9Yiblgs1zmXCky6sr+nW0/gwafyxeuzG+RLvD qaSrrbBCfKI3BA7wiEgjw599wV6jO+hH//B2b3JIRQC2r5+Tr4R9lS5M0GE4eqM7QsNN XfeRHNbt416ozqBDSxkPLJ70Oan21ZJld0BHVudkjz2hdnptKdGS2A56je6IcZHtHyqo 3++g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=9EsDhvHG/ivShiE8Qi4aryR5Rv/3LRbD/1Hk7hL1FEg=; b=bSZnUh0RQXaHXX7HwLqsRhj11xitnbLmQXAJPO0lNbjAYg+6JP+naCy+l8sofvw8uw gnn0WmrSpOkB0743XYnH5cv6/lQLiwN8ykz2yKKBuoOl6XUTGiw8fIdJlkvc7DnkK36q Um3TUKDPeyPo1TcHIgCBH/y2lEWy0j8iT9wQiXTeoGJ6tIiSQptOnhs0HIa2RRqW4Udy lVfTIDioneDJ5N1YsaZBwLZfDmuiFaZ8ny86sYmukD+v8XUcMUB1b4r2/Xk+ra5c3XdI QiMrhhhXs5hp7O35YnFlDv3FId6uCNpBdGXn/029EWyJrl4mYCVxKX1Mt/xnXwrG5+7b yN3g== X-Gm-Message-State: AJIora/T2W/cb0n/v+HYb3Pcb4O9zEXl9uBM9o6AmUgbYffi3jlS/4wJ +AQUWdw027xxo0hBWV5Rr8IVAZC6FG/++506 X-Google-Smtp-Source: AGRyM1vKk2/Qk31kasADeruM9Q9Ivf91I3SoWfMW83gmBYEUrnAsrpSOSpCJ7ZAGXX+a2wXA76H2yQ== X-Received: by 2002:a05:6000:1887:b0:21d:97cf:6b80 with SMTP id a7-20020a056000188700b0021d97cf6b80mr11139437wri.571.1658846199257; Tue, 26 Jul 2022 07:36:39 -0700 (PDT) Received: from BL087.. ([2a01:e34:eea9:e630:c7b2:2183:8a06:b4dc]) by smtp.gmail.com with ESMTPSA id m184-20020a1c26c1000000b003a04722d745sm22447386wmm.23.2022.07.26.07.36.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jul 2022 07:36:38 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Tue, 26 Jul 2022 16:36:30 +0200 Message-Id: <20220726143635.518227-1-fsylvestre@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/5] Add GSL, LSC and DPCC tuning support for rkisp1 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: Florian Sylvestre via libcamera-devel From: Florian Sylvestre Reply-To: Florian Sylvestre Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello, This series of patches adds support for several rkisp1 algorithms control: - Gamma Sensor Linearization (patch 2/5) - Lens Shading Correction (patch 3/5) - Defect Pixel Cluster Correction (patch 5/5) To manage efficiently lists in YAML tuning file, I added a function in the YAML parser to retrieve lists in a single call (patch 1/5). I have also updated rkisp1 headers from branch: pinchartl/v5.19/dev/isp/next to get latest DPCC defines (patch 4/5) Florian Sylvestre (5): libcamera: yaml_parser: Add getList() function ipa: rkisp1: Add support of Gamma Sensor Linearization control ipa: rkisp1: Add support of Lens Shading Correction control include: linux: Update rkisp1 kernel header for DPCC configuration ipa: rkisp1: Add support of Defect Pixel Cluster Correction control include/libcamera/internal/yaml_parser.h | 16 ++ include/linux/rkisp1-config.h | 77 +++++-- src/ipa/rkisp1/algorithms/dpcc.cpp | 254 +++++++++++++++++++++++ src/ipa/rkisp1/algorithms/dpcc.h | 31 +++ src/ipa/rkisp1/algorithms/gsl.cpp | 147 +++++++++++++ src/ipa/rkisp1/algorithms/gsl.h | 34 +++ src/ipa/rkisp1/algorithms/lsc.cpp | 195 +++++++++++++++++ src/ipa/rkisp1/algorithms/lsc.h | 38 ++++ src/ipa/rkisp1/algorithms/meson.build | 3 + src/ipa/rkisp1/data/ov5640.yaml | 145 +++++++++++++ src/ipa/rkisp1/ipa_context.cpp | 3 + src/ipa/rkisp1/ipa_context.h | 1 + src/ipa/rkisp1/rkisp1.cpp | 1 + src/libcamera/yaml_parser.cpp | 66 ++++++ test/yaml-parser.cpp | 6 + 15 files changed, 1001 insertions(+), 16 deletions(-) create mode 100644 src/ipa/rkisp1/algorithms/dpcc.cpp create mode 100644 src/ipa/rkisp1/algorithms/dpcc.h create mode 100644 src/ipa/rkisp1/algorithms/gsl.cpp create mode 100644 src/ipa/rkisp1/algorithms/gsl.h create mode 100644 src/ipa/rkisp1/algorithms/lsc.cpp create mode 100644 src/ipa/rkisp1/algorithms/lsc.h