| Message ID | 20260618-rppx1-ipa-v1-0-32337264cfcd@ideasonboard.com |
|---|---|
| Headers | show
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 [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 5AEBBBF415 for <parsemail@patchwork.libcamera.org>; Thu, 18 Jun 2026 10:18:55 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 01EDB62982; Thu, 18 Jun 2026 12:18:54 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="fRCrtmkF"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 56EBD61754 for <libcamera-devel@lists.libcamera.org>; Thu, 18 Jun 2026 12:18:52 +0200 (CEST) Received: from [192.168.125.177] (mob-109-113-4-199.net.vodafone.it [109.113.4.199]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7F3703A2; Thu, 18 Jun 2026 12:18:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1781777897; bh=gNrWjJp2j4nLGvxERgNUUJ2jr5haHuMfqxwV2JG29U8=; h=From:Subject:Date:To:Cc:From; b=fRCrtmkFUfIG+D7f19VMx4OX0E0Nnm02Y60Px+z7Hi9/aloogJ06S7QFPH2DrpFEr e9dbgCYRGEQGte04moiE1f1YzVB09JNH/XByeULCwJPZIrOss6F2aR7eCo6+VUvMOt as93tNAl0RdqayFDIsXziRWx7jGboghhzYx6Sxl0= From: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Subject: [PATCH 00/14] libcamera: Add support for R-Car Gen4 and RPP-X1 ISP Date: Thu, 18 Jun 2026 12:18:39 +0200 Message-Id: <20260618-rppx1-ipa-v1-0-32337264cfcd@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAP/FM2oC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDM0ML3aKCggpD3cyCRF1DC8vUNPNk0yRDiyQloPqCotS0zAqwWdGxtbU AqTcto1sAAAA= X-Change-ID: 20260618-rppx1-ipa-189ef7c5b18b To: =?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund+renesas@ragnatech.se>, libcamera-devel@lists.libcamera.org Cc: Jacopo Mondi <jacopo.mondi@ideasonboard.com>, Hans de Goede <hansg@kernel.org>, Kieran Bingham <kieran.bingham@ideasonboard.com>, =?utf-8?q?Barnab?= =?utf-8?b?w6FzIFDFkWN6ZQ==?= <barnabas.pocze@ideasonboard.com>, Daniel Scally <dan.scally@ideasonboard.com> X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6070; i=jacopo.mondi@ideasonboard.com; h=from:subject:message-id; bh=gNrWjJp2j4nLGvxERgNUUJ2jr5haHuMfqxwV2JG29U8=; b=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBqM8YIew82rlaasnMZZgy8LxTzU3qMCidGJrpVV Jh5EoMJAxaJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCajPGCAAKCRByNAaPFqFW PJUZEACQKH7s4jsXZHOZEwMFDO72MKwcmJfFAFw9Zu6A1LXrz3F9VfDptZQUdlevQBFywLqjA8K rDkkrD2hiqgZyBgq05zPiD0yGHREsShlFFoiYINX+K7J1L1tOAIEG/2zvoH/tMmcUPkebpm6d5M onKcZbH23rtTXjsC2DMq8rgBaHktt6sriH/9M8jCWYhDyIW8G8ixI5fNVYy5bIfX5GxU3sQKnNn n2j+F5IJluhefnXdI6vfOI97A+yOX+mUMlm05IPorzpux25Uk3yCGpEwjNy80QlNk4Q2mnnogRM RXpd5yp1H/siwigTYkYsCLlaQCmDcQbn2gAAADU1VJJ701wpHduiMCVrT95BR/dft99Y/pKWnCz EaSxTAN2nRjakIt1fKT8tOfwxUHt4Jza8IYtmg+7tYujxqYzbGpATUs3L8uqgoEJv2CsSsagxRg jRN2EQDrswmAs5ATDKZI4lPDAGyVurV8ETS8Q7rHFLGSVERc+13uz3KfRjRJbtCygUddeEf/2GL s5yfTeH/+nL5PMuXn/Elbyznf7XjvZDCfrTYASB4qSE+qL6UGnYboZ1PjBjUpwapVk5S23WcO08 lo23J8dutBhmIVYefVGZq8UeuRg3GAIFcCTz6zJ5dNgEFqXq9ECphQcoBsB5lnY3bBafZj3inEG 72WpGXY+skxpc5g== X-Developer-Key: i=jacopo.mondi@ideasonboard.com; a=openpgp; fpr=72392EDC88144A65C701EA9BA5826A2587AD026B 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>, <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>, <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> |
| Series |
|
| Related |
show
|
This series adds support for the R-Car Gen4 SoC which features the Dreamchip RPP-X1 ISP. Initial support for the R-Car Gen4 pipeline handler has been submitted by Niklas in Semptember 2025: https://patchwork.libcamera.org/patch/23593/ At the time the R-Car Gen4 support was implemented re-using the RkISP1 uAPI and the RkISP1 IPA module. Since last year the kernel support has evolved to remove all dependencies from RkISP1, with a new dedicated uAPI. The latest version of the kernel support is available at: [1] https://patchwork.linuxtv.org/project/linux-media/list/?series=26362 This version re-uses the pipeline as submitted by Niklas, adapted to use the new RPP-X1 meta formats introduced in [1]. The series still depends on Hans' [2] https://patchwork.libcamera.org/project/libcamera/list/?series=5940 which I included in the series to maintain it buildable. As the pipeline and the IPA have different names. On the IPA side instead, this series introduces a new IPA dedicated to RPP-X1 without any dependency on the RkISP1 support. It includes only 2 algorithms for the time being, based on the recent reworks of libipa: [3] https://patchwork.libcamera.org/project/libcamera/list/?series=5992 I took the two patches that introduce AwbAlgorithm and CcmAlgorithm in the series as well, to maintain the series buildable. This series constitute then the first step for being able to add more algorithms to the RPP-X1 IPA. However, we need to resolve the issue addressed by [2] first, otherwise we won't be able to use the 'rpp-x1' IPA for the 'rcar-gen4' pipeline. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> --- Hans de Goede (1): libcamera: ipa_manager: Create IPA by name Jacopo Mondi (12): ipa: ipa_module: Remove pipelineName ipa: Allow pipelines to have differently named IPA ipa: libipa: awb: Reimplement AwbAlgorithm ipa: libipa: Add CcmAlgorithm to libipa include: linux: Add uAPI file for Dreamchip RPP-X1 include: v4l2-isp: Add support for statistics include: videodev2: Add RPP-X1 meta formats ipa: libipa: Introduce V4L2Stats ipa: rppx1: Add RppX1Params and RppX1Stats ipa: rppx1: Add RPP-X1 IPA skeleton ipa: rppx1: Add AWB algorithm ipa: rppx1: Add Ccm algorithm Niklas Söderlund (1): libcamera: pipeline: Add R-Car Gen4 ISP pipeline Documentation/Doxyfile-common.in | 1 + include/libcamera/internal/ipa_manager.h | 8 +- include/libcamera/internal/ipa_module.h | 4 +- include/libcamera/internal/pipeline_handler.h | 9 +- include/libcamera/ipa/ipa_module_info.h | 1 - include/libcamera/ipa/meson.build | 1 + include/libcamera/ipa/rppx1.mojom | 41 ++ include/linux/media/dreamchip/rppx1-config.h | 710 ++++++++++++++++++++++ include/linux/media/v4l2-isp.h | 125 ++-- include/linux/videodev2.h | 4 + meson.build | 1 + meson_options.txt | 5 +- src/ipa/ipu3/ipu3.cpp | 1 - src/ipa/libipa/awb.cpp | 527 ++++++++++++++-- src/ipa/libipa/awb.h | 114 +++- src/ipa/libipa/awb_bayes.cpp | 42 +- src/ipa/libipa/awb_bayes.h | 11 +- src/ipa/libipa/awb_grey.cpp | 25 +- src/ipa/libipa/awb_grey.h | 5 +- src/ipa/libipa/ccm.cpp | 265 ++++++++ src/ipa/libipa/ccm.h | 84 +++ src/ipa/libipa/meson.build | 4 + src/ipa/libipa/v4l2_stats.cpp | 241 ++++++++ src/ipa/libipa/v4l2_stats.h | 67 ++ src/ipa/mali-c55/mali-c55.cpp | 1 - src/ipa/meson.build | 41 +- src/ipa/rkisp1/algorithms/awb.cpp | 223 +------ src/ipa/rkisp1/algorithms/awb.h | 18 +- src/ipa/rkisp1/ipa_context.h | 29 +- src/ipa/rkisp1/rkisp1.cpp | 1 - src/ipa/rpi/pisp/pisp.cpp | 1 - src/ipa/rpi/vc4/vc4.cpp | 1 - src/ipa/rppx1/algorithms/awb.cpp | 297 +++++++++ src/ipa/rppx1/algorithms/awb.h | 48 ++ src/ipa/rppx1/algorithms/ccm.cpp | 124 ++++ src/ipa/rppx1/algorithms/ccm.h | 54 ++ src/ipa/rppx1/algorithms/meson.build | 6 + src/ipa/rppx1/ipa_context.cpp | 103 ++++ src/ipa/rppx1/ipa_context.h | 68 +++ src/ipa/rppx1/meson.build | 30 + src/ipa/rppx1/module.h | 27 + src/ipa/rppx1/params.h | 108 ++++ src/ipa/rppx1/rppx1.cpp | 280 +++++++++ src/ipa/rppx1/stats.h | 62 ++ src/ipa/simple/soft_simple.cpp | 1 - src/ipa/vimc/vimc.cpp | 1 - src/libcamera/ipa_manager.cpp | 34 +- src/libcamera/ipa_module.cpp | 27 +- src/libcamera/pipeline/rcar-gen4/frames.cpp | 281 +++++++++ src/libcamera/pipeline/rcar-gen4/frames.h | 86 +++ src/libcamera/pipeline/rcar-gen4/isp.cpp | 228 +++++++ src/libcamera/pipeline/rcar-gen4/isp.h | 45 ++ src/libcamera/pipeline/rcar-gen4/meson.build | 8 + src/libcamera/pipeline/rcar-gen4/rcar-gen4.cpp | 810 +++++++++++++++++++++++++ src/libcamera/pipeline/rcar-gen4/vin.cpp | 391 ++++++++++++ src/libcamera/pipeline/rcar-gen4/vin.h | 67 ++ test/ipa/ipa_module_test.cpp | 3 - 57 files changed, 5349 insertions(+), 451 deletions(-) --- base-commit: cde4eddf895cd09d05137bd99425d238cd8a6018 change-id: 20260618-rppx1-ipa-189ef7c5b18b Best regards,