{"id":25262,"url":"https://patchwork.libcamera.org/api/covers/25262/?format=json","web_url":"https://patchwork.libcamera.org/cover/25262/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20251127154519.2038844-1-antoine.bouyer@nxp.com>","date":"2025-11-27T15:45:16","name":"[v3,0/2] imx8-isi: Use MediaPipeline","submitter":{"id":218,"url":"https://patchwork.libcamera.org/api/people/218/?format=json","name":"Antoine Bouyer","email":"antoine.bouyer@nxp.com"},"mbox":"https://patchwork.libcamera.org/cover/25262/mbox/","series":[{"id":5618,"url":"https://patchwork.libcamera.org/api/series/5618/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5618","date":"2025-11-27T15:45:16","name":"imx8-isi: Use MediaPipeline","version":3,"mbox":"https://patchwork.libcamera.org/series/5618/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/25262/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 4146DC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Nov 2025 15:43:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7B58E606A0;\n\tThu, 27 Nov 2025 16:43:38 +0100 (CET)","from OSPPR02CU001.outbound.protection.outlook.com\n\t(mail-norwayeastazlp170130007.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:c20f::7])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B5F1B606A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Nov 2025 16:43:36 +0100 (CET)","from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8)\n\tby PR3PR04MB7372.eurprd04.prod.outlook.com (2603:10a6:102:80::18)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.13;\n\tThu, 27 Nov 2025 15:43:35 +0000","from GVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a]) by\n\tGVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a%6]) with mapi id 15.20.9366.009;\n\tThu, 27 Nov 2025 15:43:34 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"VLMNmQL5\";\n\tdkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=esPrcOGQh6RjVA+jy43vTk9Mg6zpOMvCJF0O9tKqhFv9Yyilxv/DA7wpZq5c9zl/g7mccxf/L6nV+V+Jf/uqR3FHe6yAGbRNbKw9pPnVjWG51/WqBagmLzgbl8k8+CP+vxb1PU4pTvXlarSkWG0kZRApUm+0uoctRkj2Q7D+bG9BLZv93aLFddyGVQ+OnCSM1PYtmNeQzCx/OUHbp/bLHsGQ7QzD0x3WU49X7QPi6j+tZKPCEuZJt4O43LE3L/DFwTTWskSZ4w7HT2UyMVlr0MV5UjI1jTeu77Ng6ctGSSXcpj0ySeP49kE/ibKeVH5GGHbPHr/p8BjR+kbFyg/T6A==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=36b033g804KF/tD1Y5ucbjC6E0W1C90oRDQEY2KtXLk=;\n\tb=oHAngbyBxxDLzLI+Y3XnJEjAbXPh6JXdK2Pq445VYHYQtCm+3OSVLX6Hbl+I25fYEnnmtrzwQB2TVEPu5gvbt1nBEQLbDGVbSq4nQT3bc3z8ViZcx/KH+ZV0R1NsEqjTdSs3n/TUPPM2PtbwRyEJjbKNhUwQbbC5hT//vkrq7XByYaY208WXTkFy/jHKXrkrh7VEGJTCQL8CGunDfrmzxVeOfNRqCLCvz0HgU2XzLgOIf9Uys+7oxbrtCITW3RYLOkW+bPkfKVkPy2/z3EPujk8ufmypWg1Xt7YH/Tr7zOo74a2U2zjBryqF6Kz0QT6mfrQJMpPld4H3OaPTfd8JWA==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=36b033g804KF/tD1Y5ucbjC6E0W1C90oRDQEY2KtXLk=;\n\tb=VLMNmQL5iSKnSW7C+58n5IqA1Gfi/ZqWjdUQ/wzk2jrrzLhJJYsGkNdg4BCO47gSec7PNJoDQdXz1YWammERr6ZbnQGCEHFmtPpPxA8cV65Ml8MsLBX0R4OegWAR7bw/R5RgBwVfoQ8otiH0Z53MYBel01/y2i1vRpF8tPVj8RgO/U5zjkW4Auk/OQxzshtEEjPp8/XQ6orDfcjAreZVjvDKTV2i9NhKlYUIgjSWjfyzRnKf6PQVELQJg/IN07ef1/Hst3fipXG641ykO0fFqNJdTE0FSnlqYZUBge8qSWYUxI7Do8JAfUpufTPltfb6oJffvkiMhbbN4DAE0XLvYw==","From":"Antoine Bouyer <antoine.bouyer@nxp.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"julien.vuillaumier@nxp.com, jacopo.mondi@ideasonboard.com,\n\tbarnabas.pocze@ideasonboard.com, isaac.scott@ideasonboard.com,\n\tAntoine Bouyer <antoine.bouyer@nxp.com>","Subject":"[PATCH v3 0/2] imx8-isi: Use MediaPipeline","Date":"Thu, 27 Nov 2025 16:45:16 +0100","Message-ID":"<20251127154519.2038844-1-antoine.bouyer@nxp.com>","X-Mailer":"git-send-email 2.51.2","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"SJ0PR05CA0173.namprd05.prod.outlook.com\n\t(2603:10b6:a03:339::28) To GVXPR04MB9831.eurprd04.prod.outlook.com\n\t(2603:10a6:150:11c::8)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"GVXPR04MB9831:EE_|PR3PR04MB7372:EE_","X-MS-Office365-Filtering-Correlation-Id":"984cb3eb-9148-4f42-84a4-08de2dcbb963","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n\tARA:13230040|1800799024|366016|19092799006|376014|52116014|38350700014;","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?hUWJiCYNNtXDyRer1CkzlZfKHNKr?=\n\t=?utf-8?q?53rQ4MrhGn5FmwchBfebIRwrf/fuAc2F62jn8y/9/416Yqs0yM1FrLEU?=\n\t=?utf-8?q?NZZjxM/HkCxBsu1soe/SgVBF3PtdX7yJMZgh1MtRTgw2S3rxGvsNBHh/?=\n\t=?utf-8?q?uthAkYkdGFRTfTjKRNf+duPa6O1kp7uDFKGtYbNHJYSRXp2IkS5JJn/W?=\n\t=?utf-8?q?uB0mU8RRueSu5C8e7j4/9j/LSmUG8LQu90iFDxMFQ/QDzn8lVPI6MBWO?=\n\t=?utf-8?q?Yzoh8rLF4bK1Se7ySdHQnf0KPVMcsxMCmxZHTKIfdp4kcoYwy6RPYaAw?=\n\t=?utf-8?q?Bam4purKUukzHHJXwW1oQqWwxMbHAAGY+LtueJaWzuvtgLdn0rOV7ans?=\n\t=?utf-8?q?wFKcTouvzYrlOr94I2DZY+hE3Ur4Lr1dfGXT56WpHwC74i9BGO+fVejA?=\n\t=?utf-8?q?qa76dKtvEmzGfoMv+EmcN6G22/3aelB998fpuZUvVUivTTfbdHfWAZgt?=\n\t=?utf-8?q?IJ4R3zMwE7R1zE2xqWDE22Y/rQDWNNb3SZP2rGiOccPFMJYQKQJcZwBi?=\n\t=?utf-8?q?37FqOC5QV1Zd5k/XSle4ODPWbBAbSGXL5BcDV/TffLywDpqybGZZJlMU?=\n\t=?utf-8?q?XM34ubuYTBh30YzI5nXgenUD3CDKTdvbul1GDiq/skGJFCcypheBqSAP?=\n\t=?utf-8?q?um6ZgBN87G+LgffuAbcakNfTdLXlprDeJuCGwx4jgQxVAXRmcBrBkLZF?=\n\t=?utf-8?q?cYP9n/tn/43OwyVKni7h/AevYZu3Z1f13RvkNyjLGrkf6gVpTGX935zn?=\n\t=?utf-8?q?EUh9Qve097he1ldjySxmbWe9DD+mFqmBMwirCj7hI8XLSb6tObxQmGKy?=\n\t=?utf-8?q?vYEmDucoCbG4zZFExMYhA0vuINGlDNj+32h9qlI/+hI66rUNyyAB+MaK?=\n\t=?utf-8?q?K89zvGKuSGla1IM9gSSvv44qH1b2OyV7s6OCZrEpG+s1psC1SFsI+lTs?=\n\t=?utf-8?q?aUOnNuHNAjyeJ5/4B8mh5L8i30J6NbzIb4iwfNkMHivQy8WCvPjgD/Zi?=\n\t=?utf-8?q?XGMXwsrMfeXc2YIXKquX4HTuEMO6CBjFD4Mzq+6CMNdJv4RyA4aqJJ2c?=\n\t=?utf-8?q?yyQS+Krf7Cdb9cIK8wr8rHsmoGb4QBFNfQgNeLPp9mN2FLPHcBwaDrr0?=\n\t=?utf-8?q?y1slT7g1ff9uBZ6XiKZ3N6qF21A2i2MSCBwUJAbvVkpLV/dnOgStr9NX?=\n\t=?utf-8?q?sqbyYttI7R6gQD/vCp7jLSyiitjNJ+vSs1IE7YBti76ViJFfuYiQfyKf?=\n\t=?utf-8?q?fsxENIyP4KLlpYP1PwI1r/iCg76074cvdzs+QLxf4PU/g+Qv5TnYwDo7?=\n\t=?utf-8?q?xRKe7sdabXD8GEwnWpik+zE9/sHHBcP5w0ffj7Qm6AuaoPV+uz2OVprf?=\n\t=?utf-8?q?8z7JigykFQgATYbIQ5lSP4XA1llKwz750Bdg9Fvu/SLCijX1Y13n/C/R?=\n\t=?utf-8?q?zPzpb/o5M//LN28uHPHKKVqGvvbnj7q02J96L3fOod/oupUU/JvugqYq?=\n\t=?utf-8?q?5moYDNWfTDdYSROrPcSLzxzUL6t6dibK/o6hYWwRTzTmPl24iN9Yxr5U?=\n\t=?utf-8?q?0xbnDSAjTInDuNFOp/sTTEuH8iIcrmM8L5Xy3ezSmaHPGZ/vEvNu?=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:GVXPR04MB9831.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(1800799024)(366016)(19092799006)(376014)(52116014)(38350700014);\n\tDIR:OUT; SFP:1101; ","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?RPxjkriNQC/pDYVDQsNiO5xkX?=\n\t=?utf-8?q?5ls3Boe8csQ2OJ3NLInTI8ZqR7fj/hTVmBzRVroVkrL3rJmwdFvVfDLI?=\n\t=?utf-8?q?Gi2/vKdiWU7WqtRRqjXImfxIUFkT+0VyrVxZRsqnF+q36fXyHOhoTdUw?=\n\t=?utf-8?q?DmOO4ub3Q5uORF0zBWMNkdiMtWtK1EvrR0I1eP99aN2UbBIjoDNgbA5D?=\n\t=?utf-8?q?/FKzXrThqoUIMQGMcFMRmhDxkG2O7EiLdZa7WRF6odYTcybBnVxeqV1A?=\n\t=?utf-8?q?2XD43x4DXernfSn+oUryXQSKR3G0wvtvH0wn/OChy7LKp2bNGc0OomNS?=\n\t=?utf-8?q?vGj4U6mruvs31xOQ7/5en4NbETMAvaRXM0fvZsY78EMaLc2Gsn0SKRAO?=\n\t=?utf-8?q?fKsbKxZL6CCNu0JmTRtPnxXWIefHgTDJ0817oJddyF+9xx/7oMwSSmzm?=\n\t=?utf-8?q?ofCWAsN4vVw4e0rfRUEuUFZjXH+TJguKPLsjj8mgF+3xV06Q+zrw9/65?=\n\t=?utf-8?q?0g+CZn3sBqM9uFKD35Nn5enLVyJ4nB6iSynKfSfQ1G080ZSczbBcJMQ+?=\n\t=?utf-8?q?+MJGZKT5UjRxloRqpPR5Q2ccEHrChzbsNEtgvsrGGnXW0dQWSb5NKjGj?=\n\t=?utf-8?q?7BbT7yiO4YDqW0RthZlGJJPCpxxXytDLLOr5xHkByBLbTAI74/qmi5tD?=\n\t=?utf-8?q?rujSDO3sCKF3l2Wj6tWaGPtwuJxwSlaFbhu20Kx/weBbs1zL0o/uIXYA?=\n\t=?utf-8?q?Hg5zcSF1AxkHWU8vQUt0kycW+MrC7PAxRKY+jg81C6KiAbv5Fjvj8Y7a?=\n\t=?utf-8?q?OFeJyjiSBq5S2Db2Ju6QmLMnEvMRs+PlRtC5RSuqlovThBwYZM8UJC2M?=\n\t=?utf-8?q?AmgJu4fSDh+NDB4T2Dr5Br1ZPbED0Jq+zmDDVy7oRbTN63zBdviP+6Rh?=\n\t=?utf-8?q?sTmin52I+bc+VQyTBpqcBFeJpvdUWOaOMTVit+0RKtBs/P2e3ISoSfoy?=\n\t=?utf-8?q?j0P5blaj/7SfbiCIlshcuHHvSouhJfz8vVYC6pClf86neIfv5MP+qw85?=\n\t=?utf-8?q?LQTg51wAA/mYslg9/JAXacgdMHfDNiZvpKtPa4tZHEJzizg7WazeyA+u?=\n\t=?utf-8?q?QHMWBXk0gq5jPwDPE2Go9GiJPJ7d2jIqHgEk3HbBn/U1vAQdhG1PPmp9?=\n\t=?utf-8?q?yhwNdOYV+9iRWbcrLyFpr4XZs4G7rkFdgOMdTzqYbi62O7iQakEumFXD?=\n\t=?utf-8?q?RZRLe+L9uJNeg1HCSgSMd9BP7rIUWQfSmnkitUeobNIFVgqOlQBRW0WS?=\n\t=?utf-8?q?15b/9sb8Pio0/8PBsHC05E/Qg3t5cCkfvVg41ZrBUQy0Wp6hSuPpLVLg?=\n\t=?utf-8?q?NLdTc1WJ/Nuo5tGt+ACIdql7BiefebHQsHqGw4jmpOudlEGQ3qlEBEEz?=\n\t=?utf-8?q?nNG0ttwjrKPoeSLSFZPzVWFza81N4rbNBkVX5EV8jovKDoVRvJI+LoMb?=\n\t=?utf-8?q?T2UzLq+KbtYmQboZQUgEFz6WQTNYps+6xliu709bf6MtJfD1LCDxuFIo?=\n\t=?utf-8?q?8MPc5P7au2TygPvdqr3DkPUZr8wrvUltmkr/Ha4rSPXvni7OixFlK/Na?=\n\t=?utf-8?q?I90uJyMemrvqBSz31wIPZX69VQz95uXFJk9BiJU/E9ibMgM+15lNfacV?=\n\t=?utf-8?q?rIvy261DgKAHxWn8Ahrs8MRBLgSjNpnjpWef5ZkxSnczmigLkBNtvDoY?=\n\t=?utf-8?q?dRw+uHH+ySZt1Lt9f3NSb7lmsuPkA=3D=3D?=","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"984cb3eb-9148-4f42-84a4-08de2dcbb963","X-MS-Exchange-CrossTenant-AuthSource":"GVXPR04MB9831.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"27 Nov 2025 15:43:34.8455\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"FTqQZwE41Sj1Ghy1sn3je4WT96YM/8BGtLXQqh9KFC6bxFTKV6IZ510PbKik/4zlZVQxsXO0eC685MbpZhQW8Q==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PR3PR04MB7372","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":"Submit this imx8-isi rework on behalf of Andrei. This series is about\nusing libcamera MediaPipeline class to simplify imx8-isi pipeline\nconfiguration.\n\nInstead of going over each pipeline subdevices during imx8-isi match(),\nall is handled by MediaPipeline class. It helps supporting complex\ntopologies, where subdevice(s) could be optional, typically on i.MX95\nSoC which has a formatter, while other i.MX SoCs don't have it.\n\nIt reuses the simple pipeline's locateSensors method, so external ISP are\nalso supported then. ISP is considered as the 'sensor' element.\n\nTested on i.MX8MP SoC.\n\n---\nChanges in v3:\n- Apply review comments from Jacopo: Add \\brief tag and remove '.' at the\nend of variable descriptions; rephrase MediaPipeline::Entity description.\n- Use the shared_ptr get() accessor to retrieve the isiDev_ MediaDevice\nbecause this was updated in all pipelines after v2.\n- link to v2: https://patchwork.libcamera.org/cover/25072/\n\nChanges in v2:\n- Add missing documentation as suggested by Barnabás\n- Move Entity parameters documentation from .h to .cpp file.\n- Replace 'video' by 'last' node in source descriptions, because  in\nimx8-isi pipeline case, the last MediaPipeline entity (i.e. crossbar) is\nnot a video node.\n- Apply review comments from Jacopo: move Entity definition to beginning\nof public section; move entities() to const-callable as well.\n- link to v1: https://patchwork.libcamera.org/patch/25009/\n\n---\nAndrei Gansari (2):\n  libamera: media_pipeline: Add accessor for MediaPipeline list of\n    entities\n  pipeline: imx8-isi: Integrating MediaPipeline class\n\n include/libcamera/internal/media_pipeline.h  |  29 +---\n src/libcamera/media_pipeline.cpp             |  46 ++++++\n src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 159 ++++++++++++-------\n 3 files changed, 151 insertions(+), 83 deletions(-)"}