From patchwork Tue Jul 26 14:32:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Sylvestre X-Patchwork-Id: 16792 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 E1782BE173 for ; Tue, 26 Jul 2022 14:32:19 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0720B63313; Tue, 26 Jul 2022 16:32:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1658845939; bh=Afq3ei7Dg91lb6YjxjOXNf3rFe/qm1ThT2DnvRXAYys=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=a4kB2Tx4DTfgVYGzKte83BPdNDvHER/vLWErfWCkURLV0wfADHZDeo9uV5p8wzfq8 QDkEC6whM9T2oZccF+K/NXqdNBZ1ly/ZdOsPjQ3zEBoPPL+yEFDYNjrVwoS8z46nyL 8ICAcMvMUMhvLiV3cJhRnCbBfVCdN44KkbSb2SM1xW3CKD4az1L+qVYKuSW7Tb8Onc 5LR7DUIxN7WGmeOooLAvnczHsl+4P/TVRq/tHFXkHhE/xR+cZmxEh5qWjBsPz0Zf9B z70b93Lj4vmBAzxzCA5yY+MHfcXnrA1QmRhUJZJ5Rsqf748TtLUV2BSKlL9fWvRTps +QAvhxQNv6m9Q== Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 817D960487 for ; Tue, 26 Jul 2022 16:32:17 +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="Ul2IeHwN"; dkim-atps=neutral Received: by mail-wr1-x430.google.com with SMTP id bn9so9545815wrb.9 for ; Tue, 26 Jul 2022 07:32:17 -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=8fQz740tCOf8MlUz4YBYbfmi5vyge5LeLsUuC/4ZqcM=; b=Ul2IeHwNl4L2zdJMdsKap9KOM5Q79mLXkE4+bY12N7JikyvbFf+AKuzIi6ZhKYOz/f SINvsZBqkTQHdRMjyvEDIBByaKVV6QC0kwOkxl9+NUnCysY2uW05a3BnqG7JFCc+EKkt Mg633cc9QTI4KDBMZhXvozQbc8j+dN74PEGiviaYWlpwBZvHVklkLhMRuez0rVjDW1MJ r1QLXPD5+VLJeu1GsPCSwrQViivnHrDYzr42rF7eG5sO8wH6YhUoOGk9rmysdzDVG2/r rT527wtZrF66R/DQ485aRxYzKIcoJ8Le57iHkPm2HWAOgCxjeg2EI5liOrIIzO4wDfqU uQ/w== 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=8fQz740tCOf8MlUz4YBYbfmi5vyge5LeLsUuC/4ZqcM=; b=Esggah95bpmxbW1OW4JCn0RITp6UmYiOMvSSeLX7sEvDEKBhJTZUV5SYT1cvJ4F7XS wGUVVco0Ls+Dd1+pskOUvyY2JtLp7EgLh56r7Wsw6xPC1qiJsAmYVEIX3OHDUxhrDvCu izfJXqPDA71wWl1PdkBYjv4mRKqoh/aF6wssKf8MmNs58kuqcWfpxYivPMdam93m+P6G 2ACedbAb9QMTxPwTW4CBRN6SA1XYSw93seM0kHnIoGt/v3hUtLmoNWrjIi83hef/NAxD TqSS2dPM2Jczms1WByjE4ydk3UQW6ORkXSOd45XAsFx07FtnzmsNttKp6h9yLrsDrwAc 6ExQ== X-Gm-Message-State: AJIora+qJPIrnciYlG5MiHkO/VZCz9oM9RxDMnzljo9IoAA0Ya9MpNfd 1k7pSoJrWRpRgTJdqXtHak3qfpM+AF37Zg2E X-Google-Smtp-Source: AGRyM1tk715JiYfDVjQ9OegM5kUAwHFwcomBaa1B4eQT0IPTpDLc0Znutn8R88TtUpKCTfyBYQpkuA== X-Received: by 2002:a05:6000:1d89:b0:21d:5655:eb72 with SMTP id bk9-20020a0560001d8900b0021d5655eb72mr10993100wrb.110.1658845936659; Tue, 26 Jul 2022 07:32:16 -0700 (PDT) Received: from BL087.. ([2a01:e34:eea9:e630:c7b2:2183:8a06:b4dc]) by smtp.gmail.com with ESMTPSA id k1-20020adff5c1000000b0020fff0ea0a3sm14377177wrp.116.2022.07.26.07.32.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jul 2022 07:32:16 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Tue, 26 Jul 2022 16:32:09 +0200 Message-Id: <20220726143211.517231-1-fsylvestre@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 0/2] Add Filter 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: - Filter algorithm (patch 1/2) (named Demosaicing algorithm in previous version) - Color Processing algorithm (patch 2/2) Filter algorithm is in charge of denoising and sharpness control. ColorProcessing algorithm is in charge of brightness, contrast and saturation control. Filter and ColorProcessing algorithms are currently configurable from the application by user controls. Florian Sylvestre (2): ipa: rkisp1: Add support of Filter control ipa: rkisp1: Add support of ColorProcessing control src/ipa/rkisp1/algorithms/cproc.cpp | 97 +++++++++++ src/ipa/rkisp1/algorithms/cproc.h | 30 ++++ src/ipa/rkisp1/algorithms/filter.cpp | 201 +++++++++++++++++++++++ src/ipa/rkisp1/algorithms/filter.h | 30 ++++ src/ipa/rkisp1/algorithms/meson.build | 2 + src/ipa/rkisp1/data/ov5640.yaml | 2 + src/ipa/rkisp1/ipa_context.cpp | 31 ++++ src/ipa/rkisp1/ipa_context.h | 13 ++ src/libcamera/pipeline/rkisp1/rkisp1.cpp | 20 +++ 9 files changed, 426 insertions(+) create mode 100644 src/ipa/rkisp1/algorithms/cproc.cpp create mode 100644 src/ipa/rkisp1/algorithms/cproc.h create mode 100644 src/ipa/rkisp1/algorithms/filter.cpp create mode 100644 src/ipa/rkisp1/algorithms/filter.h