[{"id":33808,"web_url":"https://patchwork.libcamera.org/comment/33808/","msgid":"<174344423731.3394313.13347125059466018737@ping.linuxembedded.co.uk>","date":"2025-03-31T18:03:57","subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Stefan Klug (2025-03-24 17:07:36)\n> Add some basic tests for the histogram class.\n> \n> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n> ---\n>  test/ipa/libipa/histogram.cpp | 53 +++++++++++++++++++++++++++++++++++\n>  test/ipa/libipa/meson.build   |  1 +\n>  2 files changed, 54 insertions(+)\n>  create mode 100644 test/ipa/libipa/histogram.cpp\n> \n> diff --git a/test/ipa/libipa/histogram.cpp b/test/ipa/libipa/histogram.cpp\n> new file mode 100644\n> index 000000000000..220a329e33b3\n> --- /dev/null\n> +++ b/test/ipa/libipa/histogram.cpp\n> @@ -0,0 +1,53 @@\n> +/* SPDX-License-Identifier: GPL-2.0-or-later */\n> +/*\n> + * Copyright (C) 2024, Ideas on Board Oy\n> + *\n> + * Histogram tests\n> + */\n> +\n> +#include \"../src/ipa/libipa/histogram.h\"\n> +\n> +#include <cmath>\n> +#include <iostream>\n> +#include <map>\n> +#include <stdint.h>\n> +\n> +#include \"test.h\"\n> +\n> +using namespace std;\n> +using namespace libcamera;\n> +using namespace ipa;\n> +\n> +#define ASSERT_EQ(a, b)                    \\\n> +       if (!((a) == (b))) {               \\\n> +               printf(#a \" != \" #b \"\\n\"); \\\n> +               return TestFail;           \\\n> +       }\n> +\n> +class HistogramTest : public Test\n> +{\n> +protected:\n> +       int run()\n> +       {\n> +               auto hist = Histogram({ { 50, 50 } });\n> +\n> +               ASSERT_EQ(hist.bins(), 2);\n> +               ASSERT_EQ(hist.total(), 100);\n> +\n> +               ASSERT_EQ(hist.cumulativeFrequency(1.0), 50);\n> +               ASSERT_EQ(hist.cumulativeFrequency(1.5), 75);\n> +               ASSERT_EQ(hist.cumulativeFrequency(2.0), 100);\n> +\n> +               ASSERT_EQ(hist.quantile(0.0), 0.0);\n> +               ASSERT_EQ(hist.quantile(1.0), 2.0);\n> +               ASSERT_EQ(hist.quantile(0.5), 1.0);\n> +\n> +               ASSERT_EQ(hist.interQuantileMean(0.0, 1.0), 1.0);\n> +               ASSERT_EQ(hist.interQuantileMean(0.0, 0.5), 0.5);\n> +               ASSERT_EQ(hist.interQuantileMean(0.5, 1.0), 1.5);\n> +\n> +               return TestPass;\n\nI do like a good test to be sure objects are behaving...\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> +       }\n> +};\n> +\n> +TEST_REGISTER(HistogramTest)\n> diff --git a/test/ipa/libipa/meson.build b/test/ipa/libipa/meson.build\n> index eaf4b49a187c..f094c1593f1b 100644\n> --- a/test/ipa/libipa/meson.build\n> +++ b/test/ipa/libipa/meson.build\n> @@ -2,6 +2,7 @@\n>  \n>  libipa_test = [\n>      {'name': 'fixedpoint', 'sources': ['fixedpoint.cpp']},\n> +    {'name': 'histogram', 'sources': ['histogram.cpp']},\n>      {'name': 'interpolator', 'sources': ['interpolator.cpp']},\n>  ]\n>  \n> -- \n> 2.43.0\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 9F038C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 31 Mar 2025 18:04:01 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 529B668989;\n\tMon, 31 Mar 2025 20:04:01 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E6B5368967\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Mar 2025 20:03:59 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6236B725;\n\tMon, 31 Mar 2025 20:02:08 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"frRu6ZB2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1743444128;\n\tbh=Y29LqIuyI4qDDajW7ikdZ26OeBp+Zkz+6KcxwPE/pv4=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=frRu6ZB2RQjay981oGlWFWN1AU97jv8x3MNJo9rOY1AcmP9Yy1CzQo2Y02bTkUc+b\n\tUTZ0bBsiUb0OCkmsAei54+ttkGmK3p5lljHRUp5z4SctcZ/fUCSOPYyIZeeYu1m546\n\tdNGuZfGZcy+mZAnFvT1xE5QS0f2K3g7IHMOxPg4k=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250324170803.103296-2-stefan.klug@ideasonboard.com>","References":"<20250324170803.103296-1-stefan.klug@ideasonboard.com>\n\t<20250324170803.103296-2-stefan.klug@ideasonboard.com>","Subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"Stefan Klug <stefan.klug@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 31 Mar 2025 19:03:57 +0100","Message-ID":"<174344423731.3394313.13347125059466018737@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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":33816,"web_url":"https://patchwork.libcamera.org/comment/33816/","msgid":"<20250331214658.GJ14432@pendragon.ideasonboard.com>","date":"2025-03-31T21:46:58","subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Stefan,\n\nThank you for the patch.\n\nOn Mon, Mar 24, 2025 at 06:07:36PM +0100, Stefan Klug wrote:\n> Add some basic tests for the histogram class.\n> \n> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n> ---\n>  test/ipa/libipa/histogram.cpp | 53 +++++++++++++++++++++++++++++++++++\n>  test/ipa/libipa/meson.build   |  1 +\n>  2 files changed, 54 insertions(+)\n>  create mode 100644 test/ipa/libipa/histogram.cpp\n> \n> diff --git a/test/ipa/libipa/histogram.cpp b/test/ipa/libipa/histogram.cpp\n> new file mode 100644\n> index 000000000000..220a329e33b3\n> --- /dev/null\n> +++ b/test/ipa/libipa/histogram.cpp\n> @@ -0,0 +1,53 @@\n> +/* SPDX-License-Identifier: GPL-2.0-or-later */\n> +/*\n> + * Copyright (C) 2024, Ideas on Board Oy\n> + *\n> + * Histogram tests\n> + */\n> +\n> +#include \"../src/ipa/libipa/histogram.h\"\n> +\n> +#include <cmath>\n> +#include <iostream>\n> +#include <map>\n> +#include <stdint.h>\n> +\n> +#include \"test.h\"\n> +\n> +using namespace std;\n> +using namespace libcamera;\n> +using namespace ipa;\n> +\n> +#define ASSERT_EQ(a, b)                    \\\n> +\tif (!((a) == (b))) {               \\\n> +\t\tprintf(#a \" != \" #b \"\\n\"); \\\n\nWe use std::cout.\n\n> +\t\treturn TestFail;           \\\n> +\t}\n\nOne day we should really convert unit tests to use exceptions.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\n> +class HistogramTest : public Test\n> +{\n> +protected:\n> +\tint run()\n> +\t{\n> +\t\tauto hist = Histogram({ { 50, 50 } });\n> +\n> +\t\tASSERT_EQ(hist.bins(), 2);\n> +\t\tASSERT_EQ(hist.total(), 100);\n> +\n> +\t\tASSERT_EQ(hist.cumulativeFrequency(1.0), 50);\n> +\t\tASSERT_EQ(hist.cumulativeFrequency(1.5), 75);\n> +\t\tASSERT_EQ(hist.cumulativeFrequency(2.0), 100);\n> +\n> +\t\tASSERT_EQ(hist.quantile(0.0), 0.0);\n> +\t\tASSERT_EQ(hist.quantile(1.0), 2.0);\n> +\t\tASSERT_EQ(hist.quantile(0.5), 1.0);\n> +\n> +\t\tASSERT_EQ(hist.interQuantileMean(0.0, 1.0), 1.0);\n> +\t\tASSERT_EQ(hist.interQuantileMean(0.0, 0.5), 0.5);\n> +\t\tASSERT_EQ(hist.interQuantileMean(0.5, 1.0), 1.5);\n> +\n> +\t\treturn TestPass;\n> +\t}\n> +};\n> +\n> +TEST_REGISTER(HistogramTest)\n> diff --git a/test/ipa/libipa/meson.build b/test/ipa/libipa/meson.build\n> index eaf4b49a187c..f094c1593f1b 100644\n> --- a/test/ipa/libipa/meson.build\n> +++ b/test/ipa/libipa/meson.build\n> @@ -2,6 +2,7 @@\n>  \n>  libipa_test = [\n>      {'name': 'fixedpoint', 'sources': ['fixedpoint.cpp']},\n> +    {'name': 'histogram', 'sources': ['histogram.cpp']},\n>      {'name': 'interpolator', 'sources': ['interpolator.cpp']},\n>  ]\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 6CBBFC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 31 Mar 2025 21:47:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8F19D68981;\n\tMon, 31 Mar 2025 23:47:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 679ED68967\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 31 Mar 2025 23:47:23 +0200 (CEST)","from pendragon.ideasonboard.com (85-76-147-224-nat.elisa-mobile.fi\n\t[85.76.147.224])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 54F81703;\n\tMon, 31 Mar 2025 23:45:31 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"cKHthl7P\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1743457531;\n\tbh=g3JAqdXdMmlv1dZuEC0p4Nd4ya3F1Ga+ip2sCLK4jp0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=cKHthl7PSFmv4mTkO9hbBG/XuNiTlTFD8Zo5I9V01ieeW5dpFGQVtGZareyjJqD7a\n\tqqIcP84dAY+qge0Jo4NcOX/fwfyokbrZ9duUlml0T3EYvFo1z9bQDLmWsYh2Cc2rqP\n\t7jiLBtxYBUQGNbWwfE3dMksbkhZ6kQd+qh4I5SDQ=","Date":"Tue, 1 Apr 2025 00:46:58 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Stefan Klug <stefan.klug@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","Message-ID":"<20250331214658.GJ14432@pendragon.ideasonboard.com>","References":"<20250324170803.103296-1-stefan.klug@ideasonboard.com>\n\t<20250324170803.103296-2-stefan.klug@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20250324170803.103296-2-stefan.klug@ideasonboard.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":33840,"web_url":"https://patchwork.libcamera.org/comment/33840/","msgid":"<dd5piehju4jdft5nnsdnwoj4ob235osno7oj7ncp77jj5u46ak@e5fifmgy52tw>","date":"2025-04-01T09:40:09","subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"content":"Hi Laurent,\n\nThank you for the review. \n\nOn Tue, Apr 01, 2025 at 12:46:58AM +0300, Laurent Pinchart wrote:\n> Hi Stefan,\n> \n> Thank you for the patch.\n> \n> On Mon, Mar 24, 2025 at 06:07:36PM +0100, Stefan Klug wrote:\n> > Add some basic tests for the histogram class.\n> > \n> > Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n> > ---\n> >  test/ipa/libipa/histogram.cpp | 53 +++++++++++++++++++++++++++++++++++\n> >  test/ipa/libipa/meson.build   |  1 +\n> >  2 files changed, 54 insertions(+)\n> >  create mode 100644 test/ipa/libipa/histogram.cpp\n> > \n> > diff --git a/test/ipa/libipa/histogram.cpp b/test/ipa/libipa/histogram.cpp\n> > new file mode 100644\n> > index 000000000000..220a329e33b3\n> > --- /dev/null\n> > +++ b/test/ipa/libipa/histogram.cpp\n> > @@ -0,0 +1,53 @@\n> > +/* SPDX-License-Identifier: GPL-2.0-or-later */\n> > +/*\n> > + * Copyright (C) 2024, Ideas on Board Oy\n> > + *\n> > + * Histogram tests\n> > + */\n> > +\n> > +#include \"../src/ipa/libipa/histogram.h\"\n> > +\n> > +#include <cmath>\n> > +#include <iostream>\n> > +#include <map>\n> > +#include <stdint.h>\n> > +\n> > +#include \"test.h\"\n> > +\n> > +using namespace std;\n> > +using namespace libcamera;\n> > +using namespace ipa;\n> > +\n> > +#define ASSERT_EQ(a, b)                    \\\n> > +\tif (!((a) == (b))) {               \\\n> > +\t\tprintf(#a \" != \" #b \"\\n\"); \\\n> \n> We use std::cout.\n\nAhrgh sure, I'll fix that.\n\n> \n> > +\t\treturn TestFail;           \\\n> > +\t}\n> \n> One day we should really convert unit tests to use exceptions.\n\nOr maybe just google test. That would prevent recreating our own test\nframework. I was really missing their macros.\n\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nThanks,\nStefan\n> \n> > +\n> > +class HistogramTest : public Test\n> > +{\n> > +protected:\n> > +\tint run()\n> > +\t{\n> > +\t\tauto hist = Histogram({ { 50, 50 } });\n> > +\n> > +\t\tASSERT_EQ(hist.bins(), 2);\n> > +\t\tASSERT_EQ(hist.total(), 100);\n> > +\n> > +\t\tASSERT_EQ(hist.cumulativeFrequency(1.0), 50);\n> > +\t\tASSERT_EQ(hist.cumulativeFrequency(1.5), 75);\n> > +\t\tASSERT_EQ(hist.cumulativeFrequency(2.0), 100);\n> > +\n> > +\t\tASSERT_EQ(hist.quantile(0.0), 0.0);\n> > +\t\tASSERT_EQ(hist.quantile(1.0), 2.0);\n> > +\t\tASSERT_EQ(hist.quantile(0.5), 1.0);\n> > +\n> > +\t\tASSERT_EQ(hist.interQuantileMean(0.0, 1.0), 1.0);\n> > +\t\tASSERT_EQ(hist.interQuantileMean(0.0, 0.5), 0.5);\n> > +\t\tASSERT_EQ(hist.interQuantileMean(0.5, 1.0), 1.5);\n> > +\n> > +\t\treturn TestPass;\n> > +\t}\n> > +};\n> > +\n> > +TEST_REGISTER(HistogramTest)\n> > diff --git a/test/ipa/libipa/meson.build b/test/ipa/libipa/meson.build\n> > index eaf4b49a187c..f094c1593f1b 100644\n> > --- a/test/ipa/libipa/meson.build\n> > +++ b/test/ipa/libipa/meson.build\n> > @@ -2,6 +2,7 @@\n> >  \n> >  libipa_test = [\n> >      {'name': 'fixedpoint', 'sources': ['fixedpoint.cpp']},\n> > +    {'name': 'histogram', 'sources': ['histogram.cpp']},\n> >      {'name': 'interpolator', 'sources': ['interpolator.cpp']},\n> >  ]\n> >  \n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","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 B1DD0C3213\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Apr 2025 09:40:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E705462C68;\n\tTue,  1 Apr 2025 11:40:13 +0200 (CEST)","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 5AAA862C68\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Apr 2025 11:40:12 +0200 (CEST)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:14c7:4fcc:495b:719f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 22FC78DB;\n\tTue,  1 Apr 2025 11:38:20 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RJtKowCe\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1743500300;\n\tbh=ORix715JoRrRduI+vsZLGZ42O7SnyeOEnqDZzwGciVE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RJtKowCepwDHSwIb64XO6/Ik5IkBcShWKLWxDKLtZZZKUolZ7vP2OvytjZto+Ujdx\n\tcDsZXP4zL/skLPSshciq9ArnSNwudkmYfYW7C8IdghjnkUS2wWbQbssJg73vLxHPsM\n\t/LHLbkIcSL9uiA1zuG6mSOAnOEriG1rtm7qw+xv8=","Date":"Tue, 1 Apr 2025 11:40:09 +0200","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/5] test: ipa: libipa: Add histogram tests","Message-ID":"<dd5piehju4jdft5nnsdnwoj4ob235osno7oj7ncp77jj5u46ak@e5fifmgy52tw>","References":"<20250324170803.103296-1-stefan.klug@ideasonboard.com>\n\t<20250324170803.103296-2-stefan.klug@ideasonboard.com>\n\t<20250331214658.GJ14432@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20250331214658.GJ14432@pendragon.ideasonboard.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>"}}]