From patchwork Tue Nov 25 00:08:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Wang X-Patchwork-Id: 25167 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 CA1D4C3257 for ; Tue, 25 Nov 2025 00:08:59 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0C82E60A80; Tue, 25 Nov 2025 01:08:58 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Fd0MIXqM"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 52456608CF for ; Tue, 25 Nov 2025 01:08:57 +0100 (CET) Received: from rui-Precision-7560.local (unknown [IPv6:2607:fea8:935b:7220:cb34:a7b8:53d:5466]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id E954BC75; Tue, 25 Nov 2025 01:06:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1764029208; bh=bZPNcq1Cp4r42TrGkaz8PwBcNHoXjZF00I+/pkn27V8=; h=From:To:Cc:Subject:Date:From; b=Fd0MIXqMIMGo6x0y/FqgC87D2HBr5ymxEH4WoQXADtKNQf+dMTu0gwXkOXV+7TDVT dhc0JJt3YfjgKJsVdNb1bl9CgSHiRIxgTm9c02DfdO6S9KOudMencH3QPw7FbthkqU 0yzDsWb+v3bgVoBOcolqPPZgf67BbFo8BbA0Zmdc= From: Rui Wang To: libcamera-devel@lists.libcamera.org Cc: Rui Wang Subject: [PATCH v1 0/11] ipa: rkisp1: DPF refactor and tuning improvements Date: Mon, 24 Nov 2025 19:08:37 -0500 Message-ID: <20251125000848.4103786-1-rui.wang@ideasonboard.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This patch series refactors and enhances the DPF ( Pre-Filter Denoise) handling in the rkisp1 IPA. It includes: - Add exposure index computation helpers - Initialize DPF tuning configuration - Define IPA control block for DPF - Add support for reduction modes in DPF - Collect manual DPF overrides - Detect DPF device overrides - Manage DPF mode transitions - Apply DPF overrides - Refactor DPF prepare flow - Expose DPF control map - Publish DPF metadata This series improves maintainability, adds flexibility for DPF tuning, and ensures correct override handling. Rui Wang (11): ipa: rkisp1: algorithms: Add exposure index computation helpers ipa: rkisp1: algorithms: dpf: init Dpf tuning config ipa: rkisp1: controls: define control block ipa: rkisp1: algorithms: Add reduction mode support to DPF ipa: rkisp1: algorithms: dpf: collect DPF manual overrides ipa: rkisp1: algorithms: dpf: detect DPF dev overrides ipa: rkisp1: algorithms: dpf: manage DPF mode transitions ipa: rkisp1: algorithms: dpf: apply DPF overrides ipa: rkisp1: algorithms: dpf: refactor DPF prepare flow ipa: rkisp1: algorithms: dpf: expose DPF control map ipa: rkisp1: algorithms: dpf: publish DPF metadata include/libcamera/meson.build | 1 + src/ipa/rkisp1/algorithms/denoise.h | 129 ++++ src/ipa/rkisp1/algorithms/dpf.cpp | 877 +++++++++++++++++++++++--- src/ipa/rkisp1/algorithms/dpf.h | 80 ++- src/libcamera/control_ids_rkisp1.yaml | 144 +++++ src/libcamera/control_ranges.yaml | 4 +- 6 files changed, 1150 insertions(+), 85 deletions(-) create mode 100644 src/ipa/rkisp1/algorithms/denoise.h create mode 100644 src/libcamera/control_ids_rkisp1.yaml