From patchwork Wed Apr 8 11:56:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 26502 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 F297ABDCBD for ; Wed, 8 Apr 2026 11:56:14 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 08F1C62DDA; Wed, 8 Apr 2026 13:56:14 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="of0YCgcB"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HVakbST/"; dkim-atps=neutral Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 8643D62CE6 for ; Wed, 8 Apr 2026 13:56:12 +0200 (CEST) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 638B1XGF263064 for ; Wed, 8 Apr 2026 11:56:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=k7HmXF3U5pQ7m5d5Zj8IVY PHDNWcg3mF+VgaFylPByY=; b=of0YCgcB9981n//ZJZS7pKcL2SPGMziRqNFM7+ u9/+1iOyulaWVBiMHc4P+nelXtx497C2SLnHrR1T2KBym3uyZCdcEQyfopBKI+4A kCd7JI7ZYK24WdiLcBQvQ1myLyg20b3P7/Ra5P3rt0lmVczWkm7e32j6zMLQL0DO bC4d8RR8zjawDfSOAqHXuAQD386fzMptlZZgBFIoIIgoCN+CHSsZ86J8nADeq4O0 l2ySEf5hmtCSKLH3dDWF1E+CxfgDNxVudjZCsBh883tym+sBZInNwYs5GQzAvmbZ EBJD4HDxEP8uYwks4YF1IVLT0OTjyc7/q17Dkh9romPQ+L0w== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dd7t236bh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 08 Apr 2026 11:56:10 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b274f94f8so5649881cf.1 for ; Wed, 08 Apr 2026 04:56:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775649369; x=1776254169; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=k7HmXF3U5pQ7m5d5Zj8IVYPHDNWcg3mF+VgaFylPByY=; b=HVakbST/osK+4YiuwbPzzRDOUymhGYTZKORfuJ6Q9ocTxNi+w8yMFesJzi3/V2724j bvrXLRxWV0agdPaWNGh7xiv+EslCrDTnxIN0eDTIIzupfATDzFu38EMW5W5vfWiXdHpK 556HAiPxaU3mZASppdecpAFzerT9vVm3T/xAL7hhFWF/cB42sVjkyGBKKY8k0e36vWCT K3GhWh32PJ08l497RKv50XTVujHE3zvRX9bTvqhP7AjGxzRpZhrnvTY0ao8EkDx+JAG5 MwjLXU91PhwrGyZK6/+9/zSbXvZrO7bkT7fgMnAKdoLJGvZ1pgzx3wIgaWhZYquqk1H9 XWLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775649369; x=1776254169; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=k7HmXF3U5pQ7m5d5Zj8IVYPHDNWcg3mF+VgaFylPByY=; b=d4YvcaDDY+XSfSaOwWJ2Y9ZcI+l5O8wwgCCykXI/F8e9zQNs1kSU7Y3nxPhV6zo49v isJ7TvgK5pB5HJ8pnO5PE3cEz7CDyoEPux6cRXpnbVN/VFJCHDpH8UVvyE7UPXAEmwGC 9NqVvUQgblPFcVqX55YMUyz+S/3BAmd7uMLT7MY5/MS9gqt9Qmsykfxdow/DIVb0A9pL Jcr/IhHH5Va3EZXBvGwI7fbHNghStxZWIHUmRohbEXBYxy+S0hEwv3qKeNl/6Mng3EST R3Ih/QRZdJi0zg3KxTLMjFHPwK83Y1J0jSyFuFifhAMTszmBZJunKYcv5clO1nFXD98b Vvpw== X-Gm-Message-State: AOJu0Yy9XzA13kh/lXR76QJa61oGDOHattWK+6ct0nON0JrTy6txTN30 X3ajApVJfwTE9JiptoruXYdjupjF0Z0D8HfvNhIDIrekEmbLTHZ4uojsQ+ECJu16kk6AkwQ82A9 tqbYZ2Eg41wCiVwyftc7knhmU3FbAqSe7mUIVthQ9m9ARkMReL++viTbsy+0mWZ4wnz+RyLQOXB J+e5k4aTfl X-Gm-Gg: AeBDiesWhsQ+wgI2NwvzhQYTqm/RakQHZ+AHCDkMissxj42Rrxp5DT+rPhJJ3Lt06TZ qZJ0nUMCpN8NkxWkKf1uxLgGtSur59drl6JnR2K25afY9isAKUq64znV8p+V71X+4KjX/ZAA1HO tTGWme6zXBThxCdleSkEbejBAbOxlQZprf5sB03aiaGRDh272PWdQfry4eEj9RRKr8plisMoP8U kMxzHTrbOLOK3gYNgMehO0Htfj4LkbCeKKJ3b9l/U3OS0FmNHKpCHtMGnY8Iv8ta5pKRZgD7juE YZe3LrCoWzm+afRWROpu0jpS5bp3iV4mRGkBV/pVgqkyriFfTrO2A8WxD1JHLjHsgKkUhKsoYTt GnJTodXAw/Vblr02tCkmO1Vyut5ap4IV6/N92Iv0fHYr8rt7Q6fY0wp7nUERXGQRHvW0K0HsG+d Ap+QHmCdMbhCvxBC8nKhtTcNC7I+6N3+n/ X-Received: by 2002:ac8:5d93:0:b0:50d:815e:7977 with SMTP id d75a77b69052e-50d815e809bmr191377261cf.34.1775649369368; Wed, 08 Apr 2026 04:56:09 -0700 (PDT) X-Received: by 2002:ac8:5d93:0:b0:50d:815e:7977 with SMTP id d75a77b69052e-50d815e809bmr191376881cf.34.1775649368849; Wed, 08 Apr 2026 04:56:08 -0700 (PDT) Received: from t14s (2001-1c00-0c32-7800-07d4-cca3-ec08-7ac7.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:7d4:cca3:ec08:7ac7]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b9c3cec6c1csm639102066b.39.2026.04.08.04.56.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 04:56:07 -0700 (PDT) From: Hans de Goede To: libcamera-devel@lists.libcamera.org Cc: Loic Poulain , Hans de Goede Subject: [PATCH v4 0/4] ipa: Allow IPA creation by name Date: Wed, 8 Apr 2026 13:56:02 +0200 Message-ID: <20260408115606.12417-1-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 MIME-Version: 1.0 X-Authority-Analysis: v=2.4 cv=De0nbPtW c=1 sm=1 tr=0 ts=69d6425a cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=YAyIRdgMAAAA:8 a=NEAV23lmAAAA:8 a=XgNLnUgbCF3J9dMqSlQA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=o1rO4XtwZBNj6n05oSJ_:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA4MDExMCBTYWx0ZWRfXzWwJ3SqICwoE oL/w9t9dEmNt8HXc/ZCxASxuDNZiOfiglReIleK27A3hGZVkU6CTT/MLDnyGKP1LXLxf443MUUi A2FqS51XQvxomp9cMjUFMMqljcTG7duQFoOdxrJCW3W19oe3HQd1sAQYYQOSvuKw/iYMDy6B47H g+zczrTVqDuHp71iCpr68hfQ4S1Rr7tUCIMYM+/YXr+yOaP+nqO1Xmt2V6H3TNEO7V4ylwDv5tq x5QBZpUAv+OgHAMPbYN1+B76jrG5IhrG2iypXD3HWU8lZmKZzsdeTzVqbferxwHEYDmTnezPcDL ICreqV4ABpd6ugGpgMsQ/kg3k8+Tb7TdXQT1XDjOumK6pUnlogjFYdzmfQP5nErmOuNsK14zNnf TwJiNcs2TeQnSM7zG+zJjFLOOYKA1EYMeZIcaGy0RD4DClzvCDfdpMAo0KoFzckfSG6CK3HX3Q3 n9fyfnjO4vPBtaSiSdA== X-Proofpoint-ORIG-GUID: zWgc9Qa4JJPiilXC-HKi-s-7RklVE9VY X-Proofpoint-GUID: zWgc9Qa4JJPiilXC-HKi-s-7RklVE9VY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293, Aquarius:18.0.1143, Hydra:6.1.51, FMLib:17.12.100.49 definitions=2026-04-08_03,2026-04-08_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 bulkscore=0 phishscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604080110 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" Hi All, This is v4 of Jacopo's v3 "ipa: Allow IPA creation by name" series: https://patchwork.libcamera.org/project/libcamera/list/?series=5505 With that v3 itself being based on my original attempt to address this: https://patchwork.libcamera.org/patch/23359/ Since the new camss pipeline handler will use the softISP as a fallback on platforms where there is no hardware ISP support yet (so most platforms) it needs to be able to load the "simple" IPA from a pipeline-handler named "camss" requiring something like this series. This is the first of 3 series which together introduce the camss pipeline-handler. Here is a branch with all 3 series: https://github.com/jwrdegoede/libcamera/commits/camss_pipeline_v1/ I hope to get this prep series merged while work continues on the camss pipeline handler itself. Other use-cases for this are using the rkips1 IPA with the rcar-gen4 pipeline handler and using the simple IPA with the atomisp pipeline handler. This has been tested by Jacopo on R-Car Gen4 and on Mali-C55 and by me on Qualcomm Agetti and Hamoa SoCs with both the simple and camss pipeline handlers. Changes in v4: - Rebase, change author of first patch to my new email address Changes in v3: - Add "ipa: Allow pipelines to have differently named IPA" patch Changes in v2: - Update tags, fix stray blank line Changes in v1 from Hans' original patch: - Slightly different approach addressing the review comments on Hans' v1 by creating an overload for IPAManager::createIPA() that allows pipelines to specify the IPA module name. Jacopo's original v3 cover-letter: https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/053821.html Regards, Hans Hans de Goede (2): libcamera: ipa_manager: Create IPA by name libcamera: software_isp: Explicitly load "simple" IPA Jacopo Mondi (2): ipa: ipa_module: Remove pipelineName ipa: Allow pipelines to have differently named IPA include/libcamera/internal/ipa_manager.h | 13 +++++-- include/libcamera/internal/ipa_module.h | 4 +-- include/libcamera/ipa/ipa_module_info.h | 1 - src/ipa/ipu3/ipu3.cpp | 1 - src/ipa/mali-c55/mali-c55.cpp | 1 - src/ipa/meson.build | 40 +++++++++++++++------ src/ipa/rkisp1/rkisp1.cpp | 1 - src/ipa/rpi/pisp/pisp.cpp | 1 - src/ipa/rpi/vc4/vc4.cpp | 1 - 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/software_isp/software_isp.cpp | 2 +- test/ipa/ipa_module_test.cpp | 3 -- 15 files changed, 84 insertions(+), 47 deletions(-)