From patchwork Wed Jul 27 08:38:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Sylvestre X-Patchwork-Id: 16828 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 3FEC6C3275 for ; Wed, 27 Jul 2022 08:38:26 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 5653263312; Wed, 27 Jul 2022 10:38:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1658911105; bh=NCrdUVOD268BKeUbOGSV7APXkXZbNQQ7UA1a0qLPhBg=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=rFGDxxqbtqxNXRqZ49kqyNzkIKT1bbf2Hpv/CDAyI3suro1o8KE2hLfMRgdowtXv0 kElgOaKN/tNH+b8uPPH/iLD9ojdWC0UIEFVFK/52AluA3SNOV9JlyRsaBcA+MBKPK+ l72OKYFtPlktyEZVIEa5bijvRY/h1BDb4z7EiOKTBO36b39F/eso17BzJRj83MWwMp j4Jpx/7rftPCoqjw4JaEFzAaEzUnj+miIValWY6q/LRqI0HvGSi7hS87jPZbE0eTD+ NMxhIsqXPql3x1ZjeEjQKdcinxI8TwCCkmdejnU5lfjaXh+ce7cGOgi/uxHigolwca OnFhnI9MzW9+g== 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 4DA55603EC for ; Wed, 27 Jul 2022 10:38:24 +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="YQkPtxJ8"; dkim-atps=neutral Received: by mail-wr1-x431.google.com with SMTP id d8so23092580wrp.6 for ; Wed, 27 Jul 2022 01:38:24 -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=TW6n/FUwofWlt/iGYVy2S/LknaVpsfiVM3QheRkr3UM=; b=YQkPtxJ8TIMI/5ZXtChxaU7d9iKbbT5Av9XP419jdbiAmCdPmy1/mXDL8cmldvkaFB 8mFz6fNfnxGL3kuCFqHNycczTp816tRyzCI72o6v6Lcc7+FwJEOnO+nOFtyMWLdcsPO2 ihWUGpObLmiiupLOad2qhjGKf8ZfoAxxadYT0p5rhzuyAtZ9TLuBBq8/hepZKPhR0ELh sjnZYptizgK9NZowFkJFddk+bP5eUR2EfepwMSBimOMeiXo1PdQTS24mu1BwlPTBdHtR nSmL89qAQvIGgb1O2aGfLXHySekf8BAp5wNpgy/AFXrzRiXcC5yTLXea9H8aCxPjlt7E 4q3g== 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=TW6n/FUwofWlt/iGYVy2S/LknaVpsfiVM3QheRkr3UM=; b=gcy3dMiZOTQBaxeDGGX/wSANSlnwfbcnHCs6XeRDVNH+0rKTwFfPUKU/B2kLVk4EZD Hc6SdV/ubzP01bXiFVUVlQovNye04RwwBuOqO0ZsUlv0StU6hMzyQBWHmGMXGWe7kjI7 pGQiV4OmDO6U5UajNCiYQK6ndvL9DbjNCGypJtqRgIumoRFSs8rz5dJF8qnziGkdg0A8 55qiMHgUNFpw9o4fhUqNkkkTiBFZxEfzytUzLK02llWWkwh7tvzm9LBXL+XgndbNv2QJ y/JLgu1DcNncbtEMLY2PHkFQmwg/qg+yJeeA/G2irMXxrGGYky1DQk690bTTACfd2BvU t07g== X-Gm-Message-State: AJIora/fqF8/gXmAVl2tXs84rsk/A60Smkfi9XtFlqt9En+IvBTy3upk pC8y2fShaj1TA9iP7AAVFtoSIznMttPY7YW2 X-Google-Smtp-Source: AGRyM1vVTFhmoy3D5ODjMww0xFHQxCLK+ufk9lYCoamuHZ6CL3FiGzTPwUQegExU237wsgD0Sag1UQ== X-Received: by 2002:a05:6000:1689:b0:21e:822d:523d with SMTP id y9-20020a056000168900b0021e822d523dmr10497532wrd.289.1658911103365; Wed, 27 Jul 2022 01:38:23 -0700 (PDT) Received: from BL087.. ([2a01:e34:eea9:e630:5810:316e:87c:fc17]) by smtp.gmail.com with ESMTPSA id l18-20020a05600c1d1200b003a2fb1224d9sm1745040wms.19.2022.07.27.01.38.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jul 2022 01:38:22 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Wed, 27 Jul 2022 10:38:17 +0200 Message-Id: <20220727083819.589595-1-fsylvestre@baylibre.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 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) - 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