From patchwork Wed Jun 22 15:19:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Sylvestre X-Patchwork-Id: 16324 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 11B89BE173 for ; Wed, 22 Jun 2022 15:19:24 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2E7E065636; Wed, 22 Jun 2022 17:19:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1655911163; bh=1dqPwAXCvDCyy5WIo+gPtEXtNrAKc7Jt+2F2YPdX2Ts=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=hAMP67IuEDY42j/deMUnZvCPkV679ZFC2pq1Xx1SKL96KQkbfnJLk1WKgIKaGnuka HaApfNHj3D1eMHdtFv+QJXOX9kXGb+LEoOW1C09lWsFYMW5cd4aLkZViBKbcdDT3OP iMjRsHt6O0ez/QyDtQ6WMjr2B2qmCxp1MEHOyy84sO4JzqY+yZJ1nORT/WwtvaAi4M wv3b3v+ZQSPTXs0VErP5JNSepc75heoqre5mFqXJJL4b2KW/dEtph8ZHUZHkV7O+0g zSbPNM2ydKeO0kzg/9Z1vRCfzmvraQEMuy/JjwesxWdfRsRNWK+F9PKbFm7B1Hl1cP gVEzYDhRFrZnQ== Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DEFF761FB2 for ; Wed, 22 Jun 2022 17:19:21 +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="fRsjciuQ"; dkim-atps=neutral Received: by mail-wm1-x330.google.com with SMTP id q15so9434099wmj.2 for ; Wed, 22 Jun 2022 08:19:21 -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=uRDNz5g5ZwA5TiClaHEfKScloW7NZ9jLFeQbYLgZiZA=; b=fRsjciuQNxTdhS9R0ebzZ7nmG6iaoblHuhAXGAuT6LacYobdVmHaxLqFDI1RPX7YuU qgxkwuEl+Lan+YaBc4uktxGiqKI7I/H2ctQ7F0+SUZ2DhDHsvo7ThEzreqwtE6id5Hjo d/UfPUfm61VViuAfeYAOqj3MTbKLRvoqB6yfHdOy43fXlm2MMK2Xa+mdTaxLKUCn6bGX Enr6eeHg8zVlHYEPwq+9Cd5PmdUJnKGd6ekNYzY0E7buFbn1I51MjsKXFViDb82J4JlX kRwW+CcNT56QcT2JiXyI/XnhLspz6oA6HT8J1Y+6g77lrIjpzo/u1XwzRhe92zf/xhkE q5zA== 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=uRDNz5g5ZwA5TiClaHEfKScloW7NZ9jLFeQbYLgZiZA=; b=Ig/osa/re4iwiwU6W+LUwmFaLbfNjVpYrUiymtHEIyiMPXJvWrRUfjAv1EW5667+ro fQbFc0XesDGKojJiEm2H+N4IahCbnb5FAUwNViyCQ2jl7vrjKrr0A2xkh88KRkZCD3IB Z8v64EtT5S/OSduRkGBhVyRaO7v0N/b7hq4Pmi0GIpAfQ74fZA0i2gsvWfz/gyULGzYu POtBkR/WhZ2eT8XV34FsqOldI06S3mOYP7Wy1Ab2uX+Ip0apyFpyqNSUA/RXLR9VJ5xF Utcq8kCEZC87wCXKieCimnfeEoS7992oDCXy5BLq6JlFKlcNWWZPJwMk2F3Tq/ujWvXs 8lnA== X-Gm-Message-State: AJIora8YOaOluT2We/K8aoCYfQvm9DGuxHuuhkcFLOCMEaqKhFsrJfq4 I7qSoDENwhldi1DrraBDOHcz//ZuvvSVWA== X-Google-Smtp-Source: AGRyM1tB0rLz6m4kyGPA2ewf/NzuvjbObcdUdJ731QiTJnN92L5BAlxf9gy7jjCT34jXmYIUQZ+RJQ== X-Received: by 2002:a7b:c389:0:b0:39c:49fe:25df with SMTP id s9-20020a7bc389000000b0039c49fe25dfmr4507767wmj.164.1655911161116; Wed, 22 Jun 2022 08:19:21 -0700 (PDT) Received: from BL087.. ([2a01:e34:eea9:e630:4175:47f:ec:c265]) by smtp.gmail.com with ESMTPSA id bi11-20020a05600c3d8b00b0039c362311d2sm1745388wmb.9.2022.06.22.08.19.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jun 2022 08:19:20 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Wed, 22 Jun 2022 17:19:13 +0200 Message-Id: <20220622151918.451635-1-fsylvestre@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 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 patch series 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) The series is based on top of "[PATCH v4 12/12] ipa: rkisp1: Add support of Black Level Correction tuning" 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 | 273 +++++++++++++++++++++++ src/ipa/rkisp1/algorithms/dpcc.h | 35 +++ src/ipa/rkisp1/algorithms/gsl.cpp | 142 ++++++++++++ src/ipa/rkisp1/algorithms/gsl.h | 38 ++++ src/ipa/rkisp1/algorithms/lsc.cpp | 171 ++++++++++++++ src/ipa/rkisp1/algorithms/lsc.h | 44 ++++ src/ipa/rkisp1/algorithms/meson.build | 3 + src/ipa/rkisp1/data/ov5640.yaml | 147 ++++++++++++ src/ipa/rkisp1/rkisp1.cpp | 3 + src/libcamera/yaml_parser.cpp | 73 ++++++ test/yaml-parser.cpp | 6 + 13 files changed, 1012 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