[{"id":29012,"web_url":"https://patchwork.libcamera.org/comment/29012/","msgid":"<yznng625zscom4zt3ry64i7d5jtu4z2xjowfrju6udnzwgaf3r@ben2sdwcxv4t>","date":"2024-03-20T12:40:36","subject":"Re: [PATCH v2 1/2] libcamera: pipeline: Add a get factory by name\n\thelper","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Julien\n\nOn Fri, Mar 08, 2024 at 12:00:55PM +0100, Julien Vuillaumier wrote:\n\nA commit message is required.\n\nWhat about something alone the lines of\n\nAdd a static helper to the PipelineHandlerFactoryBase class to\nallow retrieving a pipeline by name.\n\n> Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>\n> ---\n>  include/libcamera/internal/pipeline_handler.h |  1 +\n>  src/libcamera/pipeline_handler.cpp            | 22 +++++++++++++++++++\n>  2 files changed, 23 insertions(+)\n>\n> diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n> index c96944f4..19361a40 100644\n> --- a/include/libcamera/internal/pipeline_handler.h\n> +++ b/include/libcamera/internal/pipeline_handler.h\n> @@ -114,6 +114,7 @@ public:\n>  \tconst std::string &name() const { return name_; }\n>\n>  \tstatic std::vector<PipelineHandlerFactoryBase *> &factories();\n> +\tstatic const PipelineHandlerFactoryBase *getFactoryByName(const std::string &name);\n>\n>  private:\n>  \tstatic void registerType(PipelineHandlerFactoryBase *factory);\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index 29e0c98a..a821ab84 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -794,6 +794,28 @@ std::vector<PipelineHandlerFactoryBase *> &PipelineHandlerFactoryBase::factories\n>  \treturn factories;\n>  }\n>\n> +/**\n> + * \\brief Return the factory for the pipeline handler with name \\a name\n> + * \\param[in] name The pipeline handler name\n> + * \\return The factory of the pipeline with name \\a name, or nullptr if not found\n> + */\n> +const PipelineHandlerFactoryBase *PipelineHandlerFactoryBase::getFactoryByName(const std::string &name)\n> +{\n> +\tconst std::vector<PipelineHandlerFactoryBase *> &factories =\n> +\t\tPipelineHandlerFactoryBase::factories();\n> +\n> +\tauto iter = std::find_if(factories.begin(),\n> +\t\t\t\t factories.end(),\n> +\t\t\t\t [&name](const PipelineHandlerFactoryBase *f) {\n> +\t\t\t\t\treturn f->name() == name;\n> +\t\t\t\t });\n> +\n> +\tif (iter != factories.end())\n> +\t\treturn *iter;\n> +\telse\n\nNo need for an else here, as you've return here above\n\n\n> +\t\treturn nullptr;\n> +}\n> +\n\nWith the above proposed fixes:\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n>  /**\n>   * \\class PipelineHandlerFactory\n>   * \\brief Registration of PipelineHandler classes and creation of instances\n> --\n> 2.34.1\n>","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 3FAB8C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Mar 2024 12:40:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 22EDE62822;\n\tWed, 20 Mar 2024 13:40:42 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5F8FC603AC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Mar 2024 13:40:40 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2001:b07:5d2e:52c9:cc1e:e404:491f:e6ea])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CF5D2B1;\n\tWed, 20 Mar 2024 13:40:12 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"t1DXM2Se\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1710938412;\n\tbh=mkZ2nkITqAHc0m5TjIAmI97qun8QtshhAvrTW726FW8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=t1DXM2SeJpQOPOu14it72BXyOo2ulzT/MPxYcKILNJxMBDkIKkEuRGKwUtT5CrqPt\n\t4YhxXWTtxb/g29vbTNm/JOc29m92XNfRNcvsIgHZg5A6AfbqikRZ7aslfh29q30LH8\n\t7re31LXsWo68yQNwHNMIDA7hWcrfNRrHVs8I66+s=","Date":"Wed, 20 Mar 2024 13:40:36 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Julien Vuillaumier <julien.vuillaumier@nxp.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v2 1/2] libcamera: pipeline: Add a get factory by name\n\thelper","Message-ID":"<yznng625zscom4zt3ry64i7d5jtu4z2xjowfrju6udnzwgaf3r@ben2sdwcxv4t>","References":"<20240308110056.453320-1-julien.vuillaumier@nxp.com>\n\t<20240308110056.453320-2-julien.vuillaumier@nxp.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20240308110056.453320-2-julien.vuillaumier@nxp.com>","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>"}},{"id":29033,"web_url":"https://patchwork.libcamera.org/comment/29033/","msgid":"<08353923-80f8-415a-a13a-58eefbf97699@nxp.com>","date":"2024-03-21T19:26:42","subject":"Re: [PATCH v2 1/2] libcamera: pipeline: Add a get factory by name\n\thelper","submitter":{"id":190,"url":"https://patchwork.libcamera.org/api/people/190/","name":"Julien Vuillaumier","email":"julien.vuillaumier@nxp.com"},"content":"Hi Jacopo,\n\nI will integrate those fixes in the v3.\nThanks,\n\nJulien\n\nOn 20/03/2024 13:40, Jacopo Mondi wrote:\n> Caution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button\n> \n> \n> Hi Julien\n> \n> On Fri, Mar 08, 2024 at 12:00:55PM +0100, Julien Vuillaumier wrote:\n> \n> A commit message is required.\n> \n> What about something alone the lines of\n> \n> Add a static helper to the PipelineHandlerFactoryBase class to\n> allow retrieving a pipeline by name.\n> \n>> Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>\n>> ---\n>>   include/libcamera/internal/pipeline_handler.h |  1 +\n>>   src/libcamera/pipeline_handler.cpp            | 22 +++++++++++++++++++\n>>   2 files changed, 23 insertions(+)\n>>\n>> diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\n>> index c96944f4..19361a40 100644\n>> --- a/include/libcamera/internal/pipeline_handler.h\n>> +++ b/include/libcamera/internal/pipeline_handler.h\n>> @@ -114,6 +114,7 @@ public:\n>>        const std::string &name() const { return name_; }\n>>\n>>        static std::vector<PipelineHandlerFactoryBase *> &factories();\n>> +     static const PipelineHandlerFactoryBase *getFactoryByName(const std::string &name);\n>>\n>>   private:\n>>        static void registerType(PipelineHandlerFactoryBase *factory);\n>> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n>> index 29e0c98a..a821ab84 100644\n>> --- a/src/libcamera/pipeline_handler.cpp\n>> +++ b/src/libcamera/pipeline_handler.cpp\n>> @@ -794,6 +794,28 @@ std::vector<PipelineHandlerFactoryBase *> &PipelineHandlerFactoryBase::factories\n>>        return factories;\n>>   }\n>>\n>> +/**\n>> + * \\brief Return the factory for the pipeline handler with name \\a name\n>> + * \\param[in] name The pipeline handler name\n>> + * \\return The factory of the pipeline with name \\a name, or nullptr if not found\n>> + */\n>> +const PipelineHandlerFactoryBase *PipelineHandlerFactoryBase::getFactoryByName(const std::string &name)\n>> +{\n>> +     const std::vector<PipelineHandlerFactoryBase *> &factories =\n>> +             PipelineHandlerFactoryBase::factories();\n>> +\n>> +     auto iter = std::find_if(factories.begin(),\n>> +                              factories.end(),\n>> +                              [&name](const PipelineHandlerFactoryBase *f) {\n>> +                                     return f->name() == name;\n>> +                              });\n>> +\n>> +     if (iter != factories.end())\n>> +             return *iter;\n>> +     else\n> \n> No need for an else here, as you've return here above\n> \n> \n>> +             return nullptr;\n>> +}\n>> +\n> \n> With the above proposed fixes:\n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> \n>>   /**\n>>    * \\class PipelineHandlerFactory\n>>    * \\brief Registration of PipelineHandler classes and creation of instances\n>> --\n>> 2.34.1\n>>","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 98CBAC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Mar 2024 19:26:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3C28E63055;\n\tThu, 21 Mar 2024 20:26:41 +0100 (CET)","from EUR04-VI1-obe.outbound.protection.outlook.com\n\t(mail-vi1eur04on20600.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:2611::600])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0BA2462827\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Mar 2024 20:26:39 +0100 (CET)","from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)\n\tby AS8PR04MB9127.eurprd04.prod.outlook.com (2603:10a6:20b:44a::15)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.29;\n\tThu, 21 Mar 2024 19:26:37 +0000","from AM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::2208:ff47:a8fe:dea6]) by\n\tAM9PR04MB8147.eurprd04.prod.outlook.com\n\t([fe80::2208:ff47:a8fe:dea6%4]) with mapi id 15.20.7386.030;\n\tThu, 21 Mar 2024 19:26:37 +0000"],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"UCrcJL4+\";\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=arcselector9901; d=microsoft.com; cv=none;\n\tb=IOi0oAC+8bgs5S4vDCk78D8wL506JhCyH9MHhM/DohXiXEU7bo2RxQOFU9rreuyuCo0moXLBSkeLHWyTsw5SgN5VH3FJNfJKCIg9zQIajyau180cJXyBZd0PokfDNUqmnaOKEffqu2uHbBre7J0aXUkTrDPBuOpB6jfL4uplpmkcdfR1/9OMTr/bRgOt7mC9QlAE1cNCCHhS1S6Nm/fIsOmYfv4YJX7NnTt8su6+aiccBfXXS/INQRGDDCi6MJ8K4maWcaKwksn1wXB/c03jF7dfwg0Ps3M0AINIugsQp7mRFMGeQGatWzQNRrwJbYL2bSfxF5LhU06i8mCSOFZlSQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\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=7FUeq7iRDVS3vI2KnuUio+Eb+/aeYgWryb1plu5DK+A=;\n\tb=GVqHRYHGFY+xAxykcVdcNcaEZA1zFGzVi29C1jcBo4w///6qAsuwT1/GowBcV4JWUrNPrNx3zG5r78WZjPEfVtf5fnsU0bDf73vK3fEsGSzUXIa6X0PdGdaUCUXhTigfEiJexffIGN+BZ9tpbf567AwWG1h5zGsFx9VoZKEQsI557CBlx5BueXtoylVewh9hSCSpJEngtwSvoV2tPsIxA6OWv697y7zK4PDaW37cTHRddLMPpJbxcIXxLZJszQssdMh9Cy/tbNQTt94qKrLYpL1s+OEp1RnAW567OCNqmETNpOqwi+fx8PEhSYuvb7bX+q2PPABTR6ZwRdpnXkB3NQ==","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=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=7FUeq7iRDVS3vI2KnuUio+Eb+/aeYgWryb1plu5DK+A=;\n\tb=UCrcJL4+BbQwOz74ly4Bxq96Bs/51Bll5Lci0MmVSBfweB+Wjt+eNJC991TMZrM+GgSQ9GstIUMmn46ODbl7ewD9BcEry3C3dZ55iiesVPJiDvzdSZ9kn3aNKYMlGE8PufyYoXPcB4RmPHwiW92JPQSy7fzD7aDNe6f7apzCb1E=","Message-ID":"<08353923-80f8-415a-a13a-58eefbf97699@nxp.com>","Date":"Thu, 21 Mar 2024 20:26:42 +0100","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 1/2] libcamera: pipeline: Add a get factory by name\n\thelper","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20240308110056.453320-1-julien.vuillaumier@nxp.com>\n\t<20240308110056.453320-2-julien.vuillaumier@nxp.com>\n\t<yznng625zscom4zt3ry64i7d5jtu4z2xjowfrju6udnzwgaf3r@ben2sdwcxv4t>","Content-Language":"en-US","From":"Julien Vuillaumier <julien.vuillaumier@nxp.com>","In-Reply-To":"<yznng625zscom4zt3ry64i7d5jtu4z2xjowfrju6udnzwgaf3r@ben2sdwcxv4t>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"AS4P191CA0020.EURP191.PROD.OUTLOOK.COM\n\t(2603:10a6:20b:5d9::8) To AM9PR04MB8147.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:3e0::22)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"AM9PR04MB8147:EE_|AS8PR04MB9127:EE_","X-MS-Office365-Filtering-Correlation-Id":"0e6c7f4d-d803-4ecb-c439-08dc49dcd3e4","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;","X-Microsoft-Antispam-Message-Info":"E+A47U9xL1Mcw8ipQvuHbacQuAC0gxlHNsaUY27wgRNZcVYv6gmhrUzVEN+pQ0HczEVJ9yXlcI1BSeIBWgPVPqnotxdi8/DD0cHXrdbMm8z3vJf8UHbHvIvDLxCO7dfPtVwOcyQVSIq6if+F+6qXf5ypGDBaPmg2fzUHWWCujzp6uwsvG7W7MiSPh7gsoMshqLqSqUvub4CSBMCiAIK98JW3CsSJJDbdrhvLB0GElcCnSDyzAeACJ6lmIybckZTjXARsSlIekSANCG+2W8CyKshJ8yy1GNDcp/8htUTn9PfgdOmZiB7r2xURERL60x2pzGxV5UwAobAy5owP5rrsp7kFlk5g+yzj/Kxe2/epMyJCf/PqNcRu3PCMXUcUBe3cgT+Q8wjwFX+OhF/tlo+ARYCJp0NtZsk7wFMX3YFgmGytMStzitXmZGDBwat0rdR8eggVFLFGJt4gYov6zgrfswcBKwZz5taySHAAynvG366BSLQMDTkmsrNWZgQXADNxtiDQLJSFV0UypxcRAhcqWGncPK+hpQc277LWDTKTjx6z3HO3mzOqj38GEKmyT4uAjO3v/u8o31ju1gex1VWfpDgnL0MD2/GY1ZRQXjcXvg0eZ/huGvXHYcBpxzZLosfGsUj/34tAgeCa14L6teOa97bajxVqZGO3qg+vg6k4Dz0=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:AM9PR04MB8147.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230031)(1800799015)(376005)(366007); DIR:OUT; SFP:1101; ","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?mS9B+iyS/AvK80IcWGAYoknom?=\n\t=?utf-8?q?UoHbsQLScec3rmN2xGSgJS08o+bkRPPe97BFIi7xvFSr+R2PMXTKl6yf?=\n\t=?utf-8?q?waei7mrHi7a7RISb5FKqs3HaIDJrYEE9Lg1GnnQnHNbFQTpVZki2lMxp?=\n\t=?utf-8?q?S04UgFk7fZqGBTNuG/6So8bBSbkKFApVWpVsAQYR8vGhHcPvttXnK5uH?=\n\t=?utf-8?q?UY6W3UzuH1CTujwFlIczCXevQUNH4v57+2UJXE2Y3BdWDC/Rl1fH+TA0?=\n\t=?utf-8?q?c+IIh6DbLgZA/+73NO+x9ci4lRbQnkfS0d+jptfkfeIcbSQwR3Xlibxq?=\n\t=?utf-8?q?0gNBvQRbBKZxfqEk05S+749C51ADvum+yiAeVYqFikFp2G/FygrPqx43?=\n\t=?utf-8?q?1wNPDzTZ/2f0m/00uhLRtHkrXOp0oFpgrMlqM15r/bTXnhy9j8J98who?=\n\t=?utf-8?q?M0KB8mKFq+1sQeYfPnqZQYR5Bc309KEm+KDFTa30eVbQL92+FSttuo5O?=\n\t=?utf-8?q?QPcRBVsW9CwScXVXQGgOml63coy40MtfWZK4xPsE/BasrvsXa155Hm+4?=\n\t=?utf-8?q?865igfKlk6VCfL42iUcqYD/Ns4SNpGC1WIzXoc+k0H1qSRy3S6xoFSLK?=\n\t=?utf-8?q?5KBjKvxFqwr5IZIur8WBeoafLyl/yFMQ1d1614wopDow3xJf2fVB7qGV?=\n\t=?utf-8?q?Zv7osNS/CyRUf/IGJx5WUeX5buuGd+W3s3whwzojLn3s5NEGinmmGm6Z?=\n\t=?utf-8?q?gUiAvspBe0F5ZrgpSqFSTVzDvxzRldA+7+qapc+VT/9z51dnVW9ygr2S?=\n\t=?utf-8?q?7CwJsT0rSWu1UG6kRakt0NKnroMIVBHJkd9eFpNFOx9aRu/AGc9lo9cH?=\n\t=?utf-8?q?+375qgZ1tKnnlWCEXsHd5Sc6ugFfS6Vrw2HfOWZpdsYdwxNFkyFsrewC?=\n\t=?utf-8?q?d4uS15l0NdfgekIBqwoE4u7V6YBCFAF+/b0w7+iy2GRZhapgBCoevDvB?=\n\t=?utf-8?q?4r6z+Mqgh8xJ86x1hIJQmCNY/6gO5v+t2VTb6xT6cAaJdPf8N96j7+Dj?=\n\t=?utf-8?q?1NHdOodVvjnjKv/JhFMI0rQtPX7X/mVJSU9YQu739dE+ypRmKVlLTd98?=\n\t=?utf-8?q?yck8WRL2XZqDebmfjKKmEtr8GgMcDxcGPk0yE5L+MPeGNlBFVSxpP5PX?=\n\t=?utf-8?q?FQDZCT4iWcu8Pz2TuqpU7EJwIEdkdxJ/dSUDeM0RM5U+Vn4pkn+NTzI/?=\n\t=?utf-8?q?XJgyN93UPsseQzKMDF0xixPVsuCVK8obax2oILTVK36im+3CYRY+G2Zl?=\n\t=?utf-8?q?uMaK29+mZ8nos3gNuBc5HmYUDYvK/6GNS4KJOw6NZaZ0lqNC264XZitB?=\n\t=?utf-8?q?YUrWS72kIqJqWnH7m5XiTtS0PVAX+sDRVzdSKTdnDLWJaJozV3Uv40ia?=\n\t=?utf-8?q?1tT7gc1xWPtl4SxBwBLYjVyNO+Xb/tScleZZzBUQ4YyK/HbTOlmPPh9g?=\n\t=?utf-8?q?OW8FcrmxlnF3XLH+gAyQj2KcSnzb/LW6NZNC62qxs97xKpZeIATG8TPh?=\n\t=?utf-8?q?EoGN583oEmgyEjI4Tt1tH4MwuclElvIZ8friei9FQxWN9F4hwHnmUPEW?=\n\t=?utf-8?q?PGjmw1/TI6NshhNbhBu9A8QBvrWwjykLjUZFYWW8HcSWFRDBjSG+MWAu?=\n\t=?utf-8?q?HtTKwgmvX9KZ6KF5fb2JPLySKtADPmc61yIAZRM27OsRorIIFG1NFte/?=\n\t=?utf-8?q?o7aFe+V7z6Ay6XqJ6NRrR6q4qFlnQ=3D=3D?=","X-OriginatorOrg":"nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"0e6c7f4d-d803-4ecb-c439-08dc49dcd3e4","X-MS-Exchange-CrossTenant-AuthSource":"AM9PR04MB8147.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"21 Mar 2024 19:26:37.9070\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":"ECTngfesnh9sCwj7gOErSNwitQLBijE9xKgw6iutceGoKHd8H5o1dAQ8BpuPnOkJ6zX3VRcXjSNjx/ZaL1JFG3HAMyN5OQMDqOnDCQmWv5M=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AS8PR04MB9127","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>"}}]