{"id":26216,"url":"https://patchwork.libcamera.org/api/1.1/covers/26216/?format=json","web_url":"https://patchwork.libcamera.org/cover/26216/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260220221636.216353-1-rui.wang@ideasonboard.com>","date":"2026-02-20T22:16:29","name":"[v2,0/7] ipa: rkisp1: make Filter tuning-driven and add manual controls","submitter":{"id":241,"url":"https://patchwork.libcamera.org/api/1.1/people/241/?format=json","name":"Rui Wang","email":"rui.wang@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/26216/mbox/","series":[{"id":5806,"url":"https://patchwork.libcamera.org/api/1.1/series/5806/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5806","date":"2026-02-20T22:16:29","name":"ipa: rkisp1: make Filter tuning-driven and add manual controls","version":2,"mbox":"https://patchwork.libcamera.org/series/5806/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/26216/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 1815CC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Feb 2026 22:16:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E9A796227A;\n\tFri, 20 Feb 2026 23:16:54 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C11C661FBF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Feb 2026 23:16:52 +0100 (CET)","from rui-Precision-7560.tail5b760b.ts.net (unknown\n\t[209.216.103.65])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E32AB371;\n\tFri, 20 Feb 2026 23:15:57 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Sd5d7vMj\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1771625758;\n\tbh=n0P5WROLfqZHFFohvHwgwXctDctp1gcPLM4MYxM6BHc=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=Sd5d7vMjS4QnzfHJ9u48r/nlvYgvWFcSEbfqiFtnVrqW8Ci0A6P7gTO0nJg5RVj+y\n\tPLwKmJTodyPH7J7AxHoTQMmGHVQgh211T9x30+58U7fGluXSnkauPT+A9osvjBd/qm\n\tGyZSgJveniomTpmxBSpH9wROvRe9p4TTo/kVNM/U=","From":"Rui Wang <rui.wang@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Rui Wang <rui.wang@ideasonboard.com>","Subject":"[PATCH v2 0/7] ipa: rkisp1: make Filter tuning-driven and add manual\n\tcontrols","Date":"Fri, 20 Feb 2026 17:16:29 -0500","Message-ID":"<20260220221636.216353-1-rui.wang@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi all,\n\nThis series refactors the rkisp1 Filter algorithm to be fully tuning-driven,\nadds rkisp1-specific control definitions for manual filter programming, and\nupdates imx219 tuning data accordingly.\n\nWith this series, denoise/sharpness parameters are parsed from tuning, exposed\nthrough rkisp1 controls, and applied consistently at runtime.\n\nMain changes:\n- Parse NoiseReductionModes and Sharpness from tuning data in Filter.\n- Apply tuning-derived filter parameters instead of static tables.\n- Add rkisp1 vendor control definitions and control range allocation.\n- Add draft NoiseReductionModeManual and manual filter control handling.\n- Initialize controls from parsed tuning and support manual parameter updates.\n- Add filter metadata reporting and config logging helpers.\n- Add imx219 Filter tuning section, including manual mode entries.\n\nThis improves maintainability, makes sensor tuning explicit in YAML, and\nprovides a clear path for runtime/manual filter adjustment.\n\nThanks,\nRui\n\nRui Wang (7):\n  ipa: rkisp1: filter: Parse tuning modes/sharpness from config\n  ipa: rkisp1: filter: Apply tuning-based sharpness and filter\n  libcamera: Add rkisp1 vendor control definitions\n  ipa: rkisp1: filter: Add manual denoise mode and manual filter\n    controls\n  ipa: rkisp1: filter: Parse tuning at init and active manual-mode\n  ipa: rkisp1: filter: add metadata reporting and config logging\n  ipa: rkisp1: imx219: Add Filter tuning with manual noise reduction\n    mode\n\n include/libcamera/meson.build         |   1 +\n src/ipa/rkisp1/algorithms/filter.cpp  | 556 ++++++++++++++++++++------\n src/ipa/rkisp1/algorithms/filter.h    |  19 +\n src/ipa/rkisp1/data/imx219.yaml       |  25 ++\n src/libcamera/control_ids_draft.yaml  |   4 +\n src/libcamera/control_ids_rkisp1.yaml | 151 +++++++\n src/libcamera/control_ranges.yaml     |   4 +-\n 7 files changed, 640 insertions(+), 120 deletions(-)\n create mode 100644 src/libcamera/control_ids_rkisp1.yaml"}