From patchwork Mon Jul 4 15:23:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Sylvestre X-Patchwork-Id: 16530 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 8BAF8BD808 for ; Mon, 4 Jul 2022 15:23:24 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id AD5546564F; Mon, 4 Jul 2022 17:23:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1656948203; bh=HPrOEJBy5Q92R9/gdkQWd0EDmVot4g2loUX7YQ/Mydo=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=VcZwRQ6E1TX8lSkH4hchIVUFTu2uwD58KhBR5Zk0cL/M/p40d9kkguaik5VlRzVW5 B2hnCST21Pjl4QcR//XG3Zq1VYoQwijqtCIJ+SYhSz1tEt0EHEU+yJE+iqtgjbJmal qdC6+oqJm4UMO1X5AjqPMGgRj4s3aSp6F/wH4t6S7UJC5/VIQJ+LDMadiSRKGGhNsF Rj7/0Gl2XXvcirkFmnU37TJ3uhCmhQJf0XsFWF8nphbBRqUIZ8qhpHXYo086d0kbUW 7wGNrqm7zS185EXtkcnbS+o2lsU0MgdBjKVpbo087LlIU79txB6AIg9smTaAUiL3xe mOThhlJOZFOGw== Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A48DF61FB1 for ; Mon, 4 Jul 2022 17:23:22 +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="cAfw3ekS"; dkim-atps=neutral Received: by mail-wr1-x431.google.com with SMTP id v14so13957282wra.5 for ; Mon, 04 Jul 2022 08:23:22 -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=8/8VXvU3CjEf7nlqtHENkE802dtN3xhdQtowdu41Qx8=; b=cAfw3ekS/KCcdIRHMD5BxAzqcFGNhIL4QsbB1uBWJvPyMht4HKnTvvHPCAkhW3bE2N KyAE5AeMDsm/OWRmGhiNvLsavh76IPEX4OiMqzgRVq9pd4yTds49qsCER99QfQuUZvoS EdBEZJZfwLEIfyqV/E3RqhD/ichhahp6DJB9/F5MMS69bX/o6cyFIZhFJaOTjdkXomPp caEmY6HMTt6Zj6kg1SsqlRVTmUrvjU+EOhre7F/K27DPv9kYICzFY5/yp8j05KK9kLqX bBMeeo2nRUOsKzRzbAoPs8rAoPhynjwC+eWNa5B2l5hx83tmG/mJX2RSRmSapaAGsIH9 QTdg== 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=8/8VXvU3CjEf7nlqtHENkE802dtN3xhdQtowdu41Qx8=; b=e1oOubFsn6V95PT457UTjWCqDgaJL+ZqdX23nfYq4zy4lfsAXr1oG8emCKc0nhNjvx 0z3t/1h/O8X+u1mEKGXhyTK0WH3vw0q2awAjst2tXvKrJftHtalSBSxS5cVBexPyr7MY UGjDFt1od4pBQ50YQ26M/3aiANfaBdK+MLM8wfzCbbZ/XN/oK2am6IWX+gpmJ+jGwj0O cMiMMUgyqaDYjK8otWE9dPjCIW0dFIRSI812fbzTdvq7YVU9IBpupyOfTgZTOUe3CcAb tbqZut6BwtU6ABhA85u23m5NJWOMk4H4GIZT21MozA0xaZT8Cf5EUp5ow3JJjU/N0IP5 uILQ== X-Gm-Message-State: AJIora9bV4dFzeTGBeZf4dyo//pcUIuDn3BjqEqSMHIkMgYMQDieAjUV l6ir0AToXT/SiZxQ0rnt3PrsVwz+efww+Q== X-Google-Smtp-Source: AGRyM1v+8w6Zp9nNEN/9TLlXRkMzymTvZr4STmgCW60AWgkAp18zTynNDCxV7Kqi0ERBKt9Ws2uBzQ== X-Received: by 2002:a5d:40cc:0:b0:21d:68ce:4a71 with SMTP id b12-20020a5d40cc000000b0021d68ce4a71mr6997234wrq.195.1656948201937; Mon, 04 Jul 2022 08:23:21 -0700 (PDT) Received: from BL087.. ([2a01:e34:eea9:e630:ca4a:68b5:560f:5682]) by smtp.gmail.com with ESMTPSA id p15-20020a05600c204f00b0039c5cecf206sm19603199wmg.4.2022.07.04.08.23.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Jul 2022 08:23:21 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Mon, 4 Jul 2022 17:23:14 +0200 Message-Id: <20220704152318.221213-1-fsylvestre@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/4] Add Demosaicing and Color Processing control 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 two rkisp1 algorithms: - Demosaicing algorithm (patch 3/4) - Color Processing algorithm (patch 4/4) Demosaicing algorithm is in charge of denoising and sharpness control. ColorProcessing algorithm is in charge of brightness, contrast and saturation control. Demosaicing and ColorProcessing algorithm are currently configurable from the application by user controls. So I add support for transfering user controls respectively in the algorithm class (patch 1/4) and in the IPARkISP1 (patch 2/4). The series is based on top of "[PATCH v4 12/12] ipa: rkisp1: Add support of Black Level Correction tuning" Florian Sylvestre (4): ipa: libipa: algorithm: Add queueRequest() to the Algorithm class ipa: rkisp1: Transfer queueRequest() call to each algorithm ipa: rkisp1: Add support of Demosaicing control ipa: rkisp1: Add support of ColorProcessing control src/ipa/ipu3/module.h | 2 +- src/ipa/libipa/algorithm.cpp | 13 ++ src/ipa/libipa/algorithm.h | 6 + src/ipa/libipa/module.cpp | 5 + src/ipa/libipa/module.h | 3 +- .../rkisp1/algorithms/color_processing.cpp | 101 +++++++++ src/ipa/rkisp1/algorithms/color_processing.h | 38 ++++ src/ipa/rkisp1/algorithms/demosaicing.cpp | 208 ++++++++++++++++++ src/ipa/rkisp1/algorithms/demosaicing.h | 37 ++++ src/ipa/rkisp1/algorithms/meson.build | 2 + src/ipa/rkisp1/data/ov5640.yaml | 2 + src/ipa/rkisp1/module.h | 2 +- src/ipa/rkisp1/rkisp1.cpp | 7 +- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 20 ++ 14 files changed, 441 insertions(+), 5 deletions(-) create mode 100644 src/ipa/rkisp1/algorithms/color_processing.cpp create mode 100644 src/ipa/rkisp1/algorithms/color_processing.h create mode 100644 src/ipa/rkisp1/algorithms/demosaicing.cpp create mode 100644 src/ipa/rkisp1/algorithms/demosaicing.h