From patchwork Tue May 12 17:53:36 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: 26742 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 3E62DBDB1C for ; Tue, 12 May 2026 17:53:48 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 6206962FEC; Tue, 12 May 2026 19:53:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="Lvy5CKco"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RWho6xlh"; dkim-atps=neutral Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B11AC62FEA for ; Tue, 12 May 2026 19:53:45 +0200 (CEST) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64CFLDMT3421717 for ; Tue, 12 May 2026 17:53:44 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=PX/QoNDTG3T5TTJMI5iJJa aIqcqbIA8E++VrBig3Ozk=; b=Lvy5CKcoLaU20PGxIAEWGEtEBEEWO9BRTmz40x zDVYNBxp5ceBrhpHpkWoN0nZOBhzd5uv5tqrytPz7SzRVBPPRSy+TVQef94nL/FX yl5GuDtw5MSTq94Ibd9ijjsMCzVH6DWn/G6D2EOconGZiVNKbGa9UccY1kbRP7F4 Gya4qANvWUeKPx2YO6XCaETmO+R05WZ7g/lbDUPa2qANAHPRYZi93q7nIC+P0gbD AeVSWY9pn6fdgBLWAmSyRPf24AqywECvpkYxlr7ST5DDukPzgnMLeXRPW/ai7HNT AUmkPfJC0DEm2gNR8o+oQKxWtrC6+AyEs4oojTNcz/0yYxCA== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e46s9rmw2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 12 May 2026 17:53:44 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-6312af70ad0so5405597137.1 for ; Tue, 12 May 2026 10:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778608423; x=1779213223; 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=PX/QoNDTG3T5TTJMI5iJJaaIqcqbIA8E++VrBig3Ozk=; b=RWho6xlhjDZgDrQaOcnNkYEPrAcOPRi29NhFrhienEj9HkTuYIElYIuZ4XIo3xp4+h 9jtXaACDhu6a9ZYmHjP888ZeoJUm4Q4UQJoZAiHhYVNm//piTuDr1q9mL0lryDn17b/2 3Z5r7qjJLP6wbK7tLtivoMl/s7X8BkZi9YCV9DQZeQJtwmy5xqsT36MVsXBKwHXWgxgj Fe+NK6VBEClYvsgMsGLxC535TBjA7eN1qsu6csbFzmkZLv6wAPws6gLQ9yKMCDLxIplv r2XTfryfWnJ/LRASZa22ThLFQ4yCQ0fMHt936SuATOvBirl5+6wkb/Aw9P13x9+ZXnBe ILpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778608423; x=1779213223; 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=PX/QoNDTG3T5TTJMI5iJJaaIqcqbIA8E++VrBig3Ozk=; b=JdthUtNrT0w0Zsm0VzKQGP2RgBMKZg3OXcN4ylWs56dUwqCxdFI0Ct6TMqSIjArvK1 e6EYRg/sDgg868GiBMjxLE7K3MySzQ73DZPvzoG8V/RRdwUvui2RCJbhRWTT7mRZb83n qqOCE49FDuZTaRgcBmTk8zrVaeOMLQnJ9UO1t1THwB4N+r9nGOnzPllQIp4X2WOvSd/Y i5UdB1xfv/OaxOnKfKvPCw4TFXfD0F5L0+Gz0cxy/IAEvdOTftV4tSe/f2gG6y6DJpEb SYP+LwJctAQ8dOEY6XWIIrwkIlPxOOBAlYJ47yJYvsVNdQpNpps2Rwbnj0bTPFELnoGX HKfQ== X-Gm-Message-State: AOJu0YxY0ORpDFPj+v9s86sfCVD6HaYi3FILccHQO1REjyQKsEh+rGgt osFZTzHwROt6cAJfQ5snNH+ESzdGPtzaIvPXLaf/9i+q3swJBUtD3dH3m6k6iE2lyRbGGYOhRdZ Nr+4IOy1hWKzYtsIQlCMTVZvYhCOrp+XU6ZABC7sqTsNL4O5BLxsg70d4reaJxjGtNXUrTty4bf 6/IxvNflw+ X-Gm-Gg: Acq92OGD4DYALbXuz+BZmkC+T9f3J3uzKiSoRh+1egPdJA7Iv75udSgnjS4YXhXyzSW E2FgznccepdkQp5749WUWto0vY6zklO7K2o4dO3iSMPJzjVoYAkPq8qRDyylRX+fVfV4D8+ge4w XMix3i2iqEVkWvsUulPYwYvCVgZ8XTGqK9vl0QYaypMD0LASlXRxnDnLDcHMvUyRZ0q3rWLQ73Z tNox0CY96FqO0uz66Qpn4B6YMEZK92ek7pFvm3SajbEPtg0z39QwG0yOLcX4bEhT+56VvnmusJb LHRmBldx4Pa5f7CDshJ7NYzrXqWk0ULFFNpKvzwA8JePAnB+yBiTUHBf6rIol7p5vY7WIg0dIXi bsuLFU9b8+mJaDx/4gEJK3fXdJKqDwpa36JuvNwmnoKaurLg6xRhjmFC9P9Qzecgygki/vwsDjY ZvgsbCz7kj2rADQPGg6vXkcUETnzSGijgOjXw6 X-Received: by 2002:a05:6102:3710:b0:62f:31d9:7bf with SMTP id ada2fe7eead31-636174ebbb2mr2428611137.17.1778608423295; Tue, 12 May 2026 10:53:43 -0700 (PDT) X-Received: by 2002:a05:6102:3710:b0:62f:31d9:7bf with SMTP id ada2fe7eead31-636174ebbb2mr2428602137.17.1778608422772; Tue, 12 May 2026 10:53:42 -0700 (PDT) Received: from shalem (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce128529fbsm463191566b.36.2026.05.12.10.53.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 10:53:41 -0700 (PDT) From: Hans de Goede To: libcamera-devel@lists.libcamera.org Cc: Hans de Goede Subject: [PATCH v5 0/4] ipa: Allow IPA creation by name Date: Tue, 12 May 2026 19:53:36 +0200 Message-ID: <20260512175340.115153-1-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.54.0 MIME-Version: 1.0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTEyMDE4NSBTYWx0ZWRfX6aoBEe5/dkV/ DSD4eWyFyxhVJ2j9GrYznazz8FXNl+Kp1CpR7llOvMy/EgzMLLu0FJC/pMLiOpGXXiBuSpzJkc5 nEXmBtE3nO9kAJnl8K4HtKlBQMbm9yD6iFrnuNjDx8PH1OZ1oc8vm/4GQn5iY8kTQ7T50NGZeah 1TEhP95jaPSfWlxODucH00+6yVLCqKTloUbjJU7Q8/4vyAuRf22hNc4ccLvVDd54v4tv1kav7Cp vrpalzLLhpQWrYgVKL7XVwWmBqUfb2FqLYoRyN5uFuM3K9c2t65LIdTKQ08C0uAI7JOtIHjUhih 5Irl0ojuuFXNbeMR9DFMfNLw35r8FJ1pQwjIJVC3Ygt/B9tHfudtAer6lV/FiOJzjG0MXSJBI/A UA4nwfxBaI2mDgMKHvJecqHZmndWWntuHyR8fTFq6jwTTtZxqcfRcQTld8chCtD9mJP4zW6B9eq ZYTYOv4es08ZTy2HWLA== X-Proofpoint-GUID: VLrcjucewNHoGEcqavTHmWsC2fhRUOqr X-Authority-Analysis: v=2.4 cv=L68theT8 c=1 sm=1 tr=0 ts=6a036928 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=YAyIRdgMAAAA:8 a=XgNLnUgbCF3J9dMqSlQA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 a=o1rO4XtwZBNj6n05oSJ_:22 X-Proofpoint-ORIG-GUID: VLrcjucewNHoGEcqavTHmWsC2fhRUOqr 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-05-11_05,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 impostorscore=0 adultscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605050000 definitions=main-2605120185 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 v5 of my / Jacopo's "ipa: Allow IPA creation by name" series: https://patchwork.libcamera.org/project/libcamera/list/?series=5505 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. 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 v5: - Rebase on top of db998e618aaa ("libcamera: pipeline_handler: Add createIPA() function") which moved the createIPA() wrapper for pipeline-handlers into the PipelineHandler class 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: 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 | 6 +-- include/libcamera/internal/ipa_module.h | 4 +- include/libcamera/internal/pipeline_handler.h | 9 ++++- 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 | 8 ++-- src/libcamera/ipa_module.cpp | 29 ++++++-------- src/libcamera/pipeline_handler.cpp | 25 +++++++++++- src/libcamera/software_isp/software_isp.cpp | 2 +- test/ipa/ipa_module_test.cpp | 3 -- 17 files changed, 84 insertions(+), 50 deletions(-)