[{"id":25748,"web_url":"https://patchwork.libcamera.org/comment/25748/","msgid":"<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>","date":"2022-11-09T09:39:12","subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Paul,\n\nI've not had a chance to fully look through this work yet, so apologies.\nHowever, I do have a question - does this script produce identical results\nwhen compared with the existing RPi script for a given set of inputs?\n\nRegards,\nNaush\n\n\nOn Sat, 22 Oct 2022 at 07:23, Paul Elder via libcamera-devel <\nlibcamera-devel@lists.libcamera.org> wrote:\n\n> Add a tuning script for raspberrypi for alsc only, that uses libtuning.\n> Since there will also be a tuning script for raspberrypi that has more\n> modules, put the libtuning alsc module definition in a separate file so\n> that it can be reused later.\n>\n> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n>\n> ---\n> Changes in v2:\n> - fix python errors\n> - fix style\n> - add SPDX and copyright\n> - s/average_functions/average/\n> - update script to work with new raspberrypi alsc module\n> ---\n>  utils/tuning/raspberrypi/__init__.py  |  0\n>  utils/tuning/raspberrypi/alsc.py      | 17 +++++++++++++++++\n>  utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++\n>  3 files changed, 39 insertions(+)\n>  create mode 100644 utils/tuning/raspberrypi/__init__.py\n>  create mode 100644 utils/tuning/raspberrypi/alsc.py\n>  create mode 100755 utils/tuning/raspberrypi_alsc_only.py\n>\n> diff --git a/utils/tuning/raspberrypi/__init__.py\n> b/utils/tuning/raspberrypi/__init__.py\n> new file mode 100644\n> index 00000000..e69de29b\n> diff --git a/utils/tuning/raspberrypi/alsc.py\n> b/utils/tuning/raspberrypi/alsc.py\n> new file mode 100644\n> index 00000000..71ab3995\n> --- /dev/null\n> +++ b/utils/tuning/raspberrypi/alsc.py\n> @@ -0,0 +1,17 @@\n> +# SPDX-License-Identifier: GPL-2.0-or-later\n> +#\n> +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> +\n> +import libtuning as lt\n> +from libtuning.modules.alsc import ALSCRaspberryPi\n> +\n> +ALSC = \\\n> +    ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour',\n> lt.Param.Mode.Optional, True),\n> +                    luminance_strength=lt.Param('luminance_strength',\n> lt.Param.Mode.Optional, 0.5),\n> +                    debug=[lt.Debug.Plot],\n> +                    sector_shape=(16, 12),\n> +\n> sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> +\n> sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> +                    sector_average_function=lt.average.Mean(),\n> +                    smoothing_function=lt.smoothing.MedianBlur(3),\n> +                    )\n> diff --git a/utils/tuning/raspberrypi_alsc_only.py\n> b/utils/tuning/raspberrypi_alsc_only.py\n> new file mode 100755\n> index 00000000..3cd7b074\n> --- /dev/null\n> +++ b/utils/tuning/raspberrypi_alsc_only.py\n> @@ -0,0 +1,22 @@\n> +#!/usr/bin/env python3\n> +# SPDX-License-Identifier: GPL-2.0-or-later\n> +#\n> +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> +#\n> +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only\n> +\n> +import sys\n> +\n> +import libtuning as lt\n> +from libtuning.parsers import RaspberryPiParser\n> +from libtuning.generators import RaspberryPiOutput\n> +\n> +from raspberrypi.alsc import ALSC\n> +\n> +tuner = lt.Camera('Raspberry Pi (ALSC only)')\n> +tuner.add(ALSC)\n> +tuner.setInputType(RaspberryPiParser)\n> +tuner.setOutputType(RaspberryPiOutput)\n> +tuner.setOutputOrder([ALSC])\n> +\n> +tuner.run(sys.argv)\n> --\n> 2.30.2\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 BC083BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Nov 2022 09:39:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3E4676307B;\n\tWed,  9 Nov 2022 10:39:30 +0100 (CET)","from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com\n\t[IPv6:2607:f8b0:4864:20::f35])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2EA3F61F3F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Nov 2022 10:39:29 +0100 (CET)","by mail-qv1-xf35.google.com with SMTP id mi9so11928549qvb.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 09 Nov 2022 01:39:29 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667986770;\n\tbh=l9vNp2wDm5Ov3vXFzRuGZnR+096tw+2Uujjf9EKJvzo=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=bf7XdCAyhjRlP1HeoidTgOvU7VY9Wz1uuq+ReMxngDNEoc1nz8Yu+wlbk3D2YeZgS\n\t41mTrN0KeUQQIcNgtwiZ6NwGGO3U/GoA+9A6URsDwcj2HLCl2GVR0iUA993iMbsJvX\n\taFXrJIoNY5pCUM25RRx8YyO+RQj6P6NbFShPLwY1FAK0Depk7rw8KySpy51E042mqQ\n\tlGxj13ur4I7f28nIdRnMWl371raaVf7/EmXItwxb09GdAJOD0nv4+cpEjqhFREWVqy\n\taSNy1bRAKXsTTBdotrY6SyRgNIjFwj3vQ7pIbB3uB09nYVF4mVa/jDV3WOosdtcZdV\n\t+Az2VM6lJ8RQg==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=NQYmR0IxwPAO3oejishcv+x40UWbpYb7xutFo/0/4KM=;\n\tb=tfB6tX94viSFsMr524ax6IJrVfWSO/OLsBjb6/oeMA6AeaQ7XLIxUhiuxLtjhk17o8\n\tO68SJ3M9xbkRiJiCkVjP5Eavaf+urUjIZIn3IjQV9wMkSpWe0mYgLrxKVVD9wby5bMd/\n\tTvoNXIXH0VHRLjpqyFkpWEuQqi8QNrHRqHug+oM4g7gGmKv1RqvLxNtt0TXcGOC2a4By\n\tvCX7pitXm/As5S7SaGlUN8E/WcykItNyDzdhb2QNnNVFQHNmvPzPnOZVhJr84/7gTZgt\n\tjLFlSvGQzCphQtGXyyhLF1WYJchJsY23jSn9LFVm8k/1JmG/j6PHIbMJuPLU4c23bXPo\n\tZl4w=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"tfB6tX94\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=NQYmR0IxwPAO3oejishcv+x40UWbpYb7xutFo/0/4KM=;\n\tb=1E2qtYFP21XGO0ePqc+9Y0691xNK3/he2gYxTaTXOKmFuNOSqDbyDC+hfM27xWwec0\n\tf7Oi0knf407FbLoTDWgRGr48HpUJfGi8Flt21qSzs6bYs3i0Du3Pl9Y2GYQsQkgQMKDq\n\t/bN2vFzpuJCFeu7kXqGCBagaodBuQsSTbKBtND2+P4zt85EpRv1tBfIyOfKUTpDzzTB1\n\t01BV/ZiQ7fPYgFgbw5SxLmKt95WyyDL9cHsk7IpKHr5dgSm4gJ337nyF+oSkJ6hCoYYy\n\thaobA950tIXHbgYlmgN6sz4vlKJuMjaFF9DQs+PyrachHydqNkyJooWIEOFCu5MHR/55\n\t99BA==","X-Gm-Message-State":"ACrzQf3UBGHhzuI3GXgCPUtWVi+DgJ7jbPGNMrOPJojifjqwxIFzK+mj\n\tgOIxlTRlVdBxSz6QkPCMlc+7JLOkId461n/sC+SzVUUZ8M4=","X-Google-Smtp-Source":"AMsMyM67VxO032u8O+oin/p3ivzGve5Kkia9Kg6yNDhDZpPEyoqIWP5NFayNoP1T48vkGODIW6rndlvGT0wXnNDA7rs=","X-Received":"by 2002:a0c:cb90:0:b0:4bb:a808:4485 with SMTP id\n\tp16-20020a0ccb90000000b004bba8084485mr54897725qvk.101.1667986768010;\n\tWed, 09 Nov 2022 01:39:28 -0800 (PST)","MIME-Version":"1.0","References":"<20221022062310.2545463-1-paul.elder@ideasonboard.com>\n\t<20221022062310.2545463-10-paul.elder@ideasonboard.com>","In-Reply-To":"<20221022062310.2545463-10-paul.elder@ideasonboard.com>","Date":"Wed, 9 Nov 2022 09:39:12 +0000","Message-ID":"<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000cc372105ed066e47\"","Subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25754,"web_url":"https://patchwork.libcamera.org/comment/25754/","msgid":"<Y2uNKI/ZE9CbszSv@pendragon.ideasonboard.com>","date":"2022-11-09T11:21:12","subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hello,\n\nOn Wed, Nov 09, 2022 at 09:39:12AM +0000, Naushir Patuck via libcamera-devel wrote:\n> Hi Paul,\n> \n> I've not had a chance to fully look through this work yet, so apologies.\n> However, I do have a question - does this script produce identical results\n> when compared with the existing RPi script for a given set of inputs?\n\nPaul told me he compared both, and the results were identical. Not all\ncorner cases may have been tested though. This leads me to another\nquestion: how do you test ctt to avoid regressions, do you have a test\nsuite ?\n\n> On Sat, 22 Oct 2022 at 07:23, Paul Elder via libcamera-devel wrote:\n> \n> > Add a tuning script for raspberrypi for alsc only, that uses libtuning.\n> > Since there will also be a tuning script for raspberrypi that has more\n> > modules, put the libtuning alsc module definition in a separate file so\n> > that it can be reused later.\n> >\n> > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> > ---\n> > Changes in v2:\n> > - fix python errors\n> > - fix style\n> > - add SPDX and copyright\n> > - s/average_functions/average/\n> > - update script to work with new raspberrypi alsc module\n> > ---\n> >  utils/tuning/raspberrypi/__init__.py  |  0\n> >  utils/tuning/raspberrypi/alsc.py      | 17 +++++++++++++++++\n> >  utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++\n> >  3 files changed, 39 insertions(+)\n> >  create mode 100644 utils/tuning/raspberrypi/__init__.py\n> >  create mode 100644 utils/tuning/raspberrypi/alsc.py\n> >  create mode 100755 utils/tuning/raspberrypi_alsc_only.py\n> >\n> > diff --git a/utils/tuning/raspberrypi/__init__.py\n> > b/utils/tuning/raspberrypi/__init__.py\n> > new file mode 100644\n> > index 00000000..e69de29b\n> > diff --git a/utils/tuning/raspberrypi/alsc.py\n> > b/utils/tuning/raspberrypi/alsc.py\n> > new file mode 100644\n> > index 00000000..71ab3995\n> > --- /dev/null\n> > +++ b/utils/tuning/raspberrypi/alsc.py\n> > @@ -0,0 +1,17 @@\n> > +# SPDX-License-Identifier: GPL-2.0-or-later\n> > +#\n> > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> > +\n> > +import libtuning as lt\n> > +from libtuning.modules.alsc import ALSCRaspberryPi\n> > +\n> > +ALSC = \\\n> > +    ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour', lt.Param.Mode.Optional, True),\n> > +                    luminance_strength=lt.Param('luminance_strength', lt.Param.Mode.Optional, 0.5),\n> > +                    debug=[lt.Debug.Plot],\n> > +                    sector_shape=(16, 12),\n> > +                    sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> > +                    sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> > +                    sector_average_function=lt.average.Mean(),\n> > +                    smoothing_function=lt.smoothing.MedianBlur(3),\n> > +                    )\n> > diff --git a/utils/tuning/raspberrypi_alsc_only.py\n> > b/utils/tuning/raspberrypi_alsc_only.py\n> > new file mode 100755\n> > index 00000000..3cd7b074\n> > --- /dev/null\n> > +++ b/utils/tuning/raspberrypi_alsc_only.py\n> > @@ -0,0 +1,22 @@\n> > +#!/usr/bin/env python3\n> > +# SPDX-License-Identifier: GPL-2.0-or-later\n> > +#\n> > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> > +#\n> > +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only\n> > +\n> > +import sys\n> > +\n> > +import libtuning as lt\n> > +from libtuning.parsers import RaspberryPiParser\n> > +from libtuning.generators import RaspberryPiOutput\n> > +\n> > +from raspberrypi.alsc import ALSC\n> > +\n> > +tuner = lt.Camera('Raspberry Pi (ALSC only)')\n> > +tuner.add(ALSC)\n> > +tuner.setInputType(RaspberryPiParser)\n> > +tuner.setOutputType(RaspberryPiOutput)\n> > +tuner.setOutputOrder([ALSC])\n> > +\n> > +tuner.run(sys.argv)","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 CEF95BE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Nov 2022 11:21:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3C21C6307B;\n\tWed,  9 Nov 2022 12:21:34 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1A84B6305E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Nov 2022 12:21:33 +0100 (CET)","from pendragon.ideasonboard.com\n\t(117.145-247-81.adsl-dyn.isp.belgacom.be [81.247.145.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 33FD7896;\n\tWed,  9 Nov 2022 12:21:32 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667992894;\n\tbh=4eJL9LKySJGjzknRjTKSVMq/99qhFf1aV3tCBIz3Omg=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=qYwZ1gWW6byIFT650HbD9Yautmxg1ybdBicy959ITUngjbz7P9+rGIqlxQ6JsacUY\n\tv3VTSPUNH3EBLCY9N148YxAZSwc0AtUghC+SmCS2VFWRMCgnMd2Rg1TcMMcrOnbpBh\n\trzsdSyJthG3GByZFOmrd5anpQ8Xfyb9Izjcq3/R33uDFi/IPhyFOSoqClmydytwFUi\n\tc8n1mRrSRTvHoT1EHWpcizEi+yKxwaB8iD+pPGzaiw1jpz/26HfrWH9moiz2CxOurn\n\t5Mrsl42Lp4VMH6mzc98+AeqLRSmIzmBAez1b9I3EDSvsbwI08AujQW2PscnJzyyBVH\n\tus9SiQkqpvgtw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1667992892;\n\tbh=4eJL9LKySJGjzknRjTKSVMq/99qhFf1aV3tCBIz3Omg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=qpyILX/tUmdV0Jj/2zcZijhXr4S/rcEFSlmoy8bclWjhCx+aXxOkcwf7/hhMK5x5d\n\tjzvJJx95P6iP4jvqOpdmbt0MT8D9gUGnG/LX4qkDQUpNYs8kEXquH94WYxDCKCzt7d\n\t9Cn1I5AgaGm0FLxE/j6V1/hiDMSusZtlEeE6GbEk="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"qpyILX/t\"; dkim-atps=neutral","Date":"Wed, 9 Nov 2022 13:21:12 +0200","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<Y2uNKI/ZE9CbszSv@pendragon.ideasonboard.com>","References":"<20221022062310.2545463-1-paul.elder@ideasonboard.com>\n\t<20221022062310.2545463-10-paul.elder@ideasonboard.com>\n\t<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25757,"web_url":"https://patchwork.libcamera.org/comment/25757/","msgid":"<CAEmqJPqipj=AZnebZKxXwM9bnCYOuta7DD9j_c8QeYuBiwewjg@mail.gmail.com>","date":"2022-11-09T12:44:01","subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Laurent,\n\n\nOn Wed, 9 Nov 2022 at 11:21, Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> Hello,\n>\n> On Wed, Nov 09, 2022 at 09:39:12AM +0000, Naushir Patuck via\n> libcamera-devel wrote:\n> > Hi Paul,\n> >\n> > I've not had a chance to fully look through this work yet, so apologies.\n> > However, I do have a question - does this script produce identical\n> results\n> > when compared with the existing RPi script for a given set of inputs?\n>\n> Paul told me he compared both, and the results were identical. Not all\n> corner cases may have been tested though. This leads me to another\n> question: how do you test ctt to avoid regressions, do you have a test\n> suite ?\n>\n\nGreat, that's what I was expecting.\n\nAs for our testing, we don't currently have a test suite for the tuning\ntool.\nSomething to put on the list...\n\nRegards,\nNaush\n\n\n\n>\n> > On Sat, 22 Oct 2022 at 07:23, Paul Elder via libcamera-devel wrote:\n> >\n> > > Add a tuning script for raspberrypi for alsc only, that uses libtuning.\n> > > Since there will also be a tuning script for raspberrypi that has more\n> > > modules, put the libtuning alsc module definition in a separate file so\n> > > that it can be reused later.\n> > >\n> > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> > > ---\n> > > Changes in v2:\n> > > - fix python errors\n> > > - fix style\n> > > - add SPDX and copyright\n> > > - s/average_functions/average/\n> > > - update script to work with new raspberrypi alsc module\n> > > ---\n> > >  utils/tuning/raspberrypi/__init__.py  |  0\n> > >  utils/tuning/raspberrypi/alsc.py      | 17 +++++++++++++++++\n> > >  utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++\n> > >  3 files changed, 39 insertions(+)\n> > >  create mode 100644 utils/tuning/raspberrypi/__init__.py\n> > >  create mode 100644 utils/tuning/raspberrypi/alsc.py\n> > >  create mode 100755 utils/tuning/raspberrypi_alsc_only.py\n> > >\n> > > diff --git a/utils/tuning/raspberrypi/__init__.py\n> > > b/utils/tuning/raspberrypi/__init__.py\n> > > new file mode 100644\n> > > index 00000000..e69de29b\n> > > diff --git a/utils/tuning/raspberrypi/alsc.py\n> > > b/utils/tuning/raspberrypi/alsc.py\n> > > new file mode 100644\n> > > index 00000000..71ab3995\n> > > --- /dev/null\n> > > +++ b/utils/tuning/raspberrypi/alsc.py\n> > > @@ -0,0 +1,17 @@\n> > > +# SPDX-License-Identifier: GPL-2.0-or-later\n> > > +#\n> > > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> > > +\n> > > +import libtuning as lt\n> > > +from libtuning.modules.alsc import ALSCRaspberryPi\n> > > +\n> > > +ALSC = \\\n> > > +    ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour',\n> lt.Param.Mode.Optional, True),\n> > > +                    luminance_strength=lt.Param('luminance_strength',\n> lt.Param.Mode.Optional, 0.5),\n> > > +                    debug=[lt.Debug.Plot],\n> > > +                    sector_shape=(16, 12),\n> > > +\n> sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> > > +\n> sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),\n> > > +                    sector_average_function=lt.average.Mean(),\n> > > +                    smoothing_function=lt.smoothing.MedianBlur(3),\n> > > +                    )\n> > > diff --git a/utils/tuning/raspberrypi_alsc_only.py\n> > > b/utils/tuning/raspberrypi_alsc_only.py\n> > > new file mode 100755\n> > > index 00000000..3cd7b074\n> > > --- /dev/null\n> > > +++ b/utils/tuning/raspberrypi_alsc_only.py\n> > > @@ -0,0 +1,22 @@\n> > > +#!/usr/bin/env python3\n> > > +# SPDX-License-Identifier: GPL-2.0-or-later\n> > > +#\n> > > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n> > > +#\n> > > +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only\n> > > +\n> > > +import sys\n> > > +\n> > > +import libtuning as lt\n> > > +from libtuning.parsers import RaspberryPiParser\n> > > +from libtuning.generators import RaspberryPiOutput\n> > > +\n> > > +from raspberrypi.alsc import ALSC\n> > > +\n> > > +tuner = lt.Camera('Raspberry Pi (ALSC only)')\n> > > +tuner.add(ALSC)\n> > > +tuner.setInputType(RaspberryPiParser)\n> > > +tuner.setOutputType(RaspberryPiOutput)\n> > > +tuner.setOutputOrder([ALSC])\n> > > +\n> > > +tuner.run(sys.argv)\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\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 1F170BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Nov 2022 12:44:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 943B46307D;\n\tWed,  9 Nov 2022 13:44:20 +0100 (CET)","from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com\n\t[IPv6:2607:f8b0:4864:20::82b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BBDED6305E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Nov 2022 13:44:18 +0100 (CET)","by mail-qt1-x82b.google.com with SMTP id h21so10258763qtu.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 09 Nov 2022 04:44:18 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1667997860;\n\tbh=VmjwsCJImsOD+V3HvAZevkmlCwi+CdbVCpg4V8+fvHA=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=kI1u27ahY1/Ohv806a56d4FvLfVqB5aaRH1xpvLEFwxDSq/AVgwHWkufzjjY5roEa\n\tjhS3xj0I46zgk0lnFLaJyKAnESwWbnhQNNQhvWh0VzC5MHxytTFKgAJaGa85WDmMA1\n\t+a6bB8wYN4suRX0XDwm6wOKZVLj7kJeP2hUSDNkQDTk8QAhhBB4j6HWYNbVvShqwpr\n\tY9fBqUa+i5XUxF55R2XHrlvBE9rPIIUO75vA1j03PU1Wg6AFuV1nqKtxlet0Atzq3v\n\tx4jXhvoMnL4V3zxeIm+p/kCcOJ3KQ1XZ1fbnLBiHvNFhFtowoQM5TfUfFKbGomMzar\n\tiHQMZnMyRcA4A==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=LyeMCkO1TkgRBnwBiRaHnRcVcrZDYTNnbavyN6esaZ0=;\n\tb=hs7KocU0jP+lTHW1/VHpdo0yi711qv7RjO0i0Fm+YghVn5CIn7GnizVzz8sM0Y98wN\n\ty3ExylEBA+qVFTel+VcE0Eur6vwL9nIvEZDi1E0up20eIkOKfk3fyXPOIxjYNQoQ7Yz2\n\tArGINdoLjp9cuENqpnh7gNNuQLqw/AU0A6J8dlNeBu19XJGmsEoavJ1ogkGw3Mymivwk\n\tOGYH72eIH5OG3OMybwFkndA1CnXr8vergFECY9hbGmeXYunK6QwJ126mtaEKpWSHQq5K\n\tB0z874oSY+Y4oKYejNWj4T2XemwBZFyLbJT6XLjckAZX2GW1Xl5Cdjb0wJbAnz4gP2v3\n\tyafg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"hs7KocU0\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=LyeMCkO1TkgRBnwBiRaHnRcVcrZDYTNnbavyN6esaZ0=;\n\tb=AFzm4/qTApjOeRaNG42on6uT2bj8C/5NRV1ylZnZ3i0GVnnLwBgTKYRr4LOBsxRrf1\n\tGoOiNnsnC0lAPLE5s1d948UTp6NtNAfURh+YmXlPwFHsZdj+OICg5nN6NaYhn8vRiyeH\n\tpRpdf9nRIV5dBhdU5xK8FZXQEZa9Kg09LlOb7rkpOtn70JS2rYo52/yylyGSHnXS4uGt\n\t/WrVPXpbztaZGEJ8TpSkSgQQafiynjsN3xPjdgrvbx5bX5IZN13YUBYp8qvh4iKcvLLB\n\trmW7UKtTL1lvWryW1L+GL2MiN36/4duuCjzDcZGL5fzifWjsU05dthyKIfem9Hi5wn7s\n\t18CQ==","X-Gm-Message-State":"ACrzQf1fNxeOJ8OFCMVm5lQGo7O0w23k4MhJCijjAF2IOz/xdrQCrQGT\n\tHZzylGaegF4vGSu9RYoMnOj6sJN4mbjhSD7VyXBTUg==","X-Google-Smtp-Source":"AMsMyM4mhXFTqoqPGxrhDQLbCAZdNF9F/RCFM7BQTNAY+yXABhcYg/LqxjGLg10uNE2NxmfZ/gOEXKCjGmBnFQpZ2Qg=","X-Received":"by 2002:ac8:5a03:0:b0:3a5:663d:6f5 with SMTP id\n\tn3-20020ac85a03000000b003a5663d06f5mr20912582qta.110.1667997857562;\n\tWed, 09 Nov 2022 04:44:17 -0800 (PST)","MIME-Version":"1.0","References":"<20221022062310.2545463-1-paul.elder@ideasonboard.com>\n\t<20221022062310.2545463-10-paul.elder@ideasonboard.com>\n\t<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>\n\t<Y2uNKI/ZE9CbszSv@pendragon.ideasonboard.com>","In-Reply-To":"<Y2uNKI/ZE9CbszSv@pendragon.ideasonboard.com>","Date":"Wed, 9 Nov 2022 12:44:01 +0000","Message-ID":"<CAEmqJPqipj=AZnebZKxXwM9bnCYOuta7DD9j_c8QeYuBiwewjg@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000c9542805ed090317\"","Subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25765,"web_url":"https://patchwork.libcamera.org/comment/25765/","msgid":"<Y2yme6ZdYHUH0Nei@pyrite.rasen.tech>","date":"2022-11-10T07:21:31","subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"On Wed, Nov 09, 2022 at 12:44:01PM +0000, Naushir Patuck wrote:\n> Hi Laurent,\n> \n> \n> On Wed, 9 Nov 2022 at 11:21, Laurent Pinchart <\n> laurent.pinchart@ideasonboard.com> wrote:\n> \n>     Hello,\n> \n>     On Wed, Nov 09, 2022 at 09:39:12AM +0000, Naushir Patuck via\n>     libcamera-devel wrote:\n>     > Hi Paul,\n>     >\n>     > I've not had a chance to fully look through this work yet, so apologies.\n>     > However, I do have a question - does this script produce identical\n>     results\n>     > when compared with the existing RPi script for a given set of inputs?\n\nYeah it does. I made sure to confirm that. Of course, it's only for ALSC\nso far.\n\n> \n>     Paul told me he compared both, and the results were identical. Not all\n>     corner cases may have been tested though. This leads me to another\n\n(Hehe, *corner cases*... because LSC :D)\n\nI only tested a couple images and took the output of ctt, and then\ncompared it to the output of this script. That's it.\n\n>     question: how do you test ctt to avoid regressions, do you have a test\n>     suite ?\n> \n> \n> Great, that's what I was expecting.\n> \n> As for our testing, we don't currently have a test suite for the tuning tool.\n> Something to put on the list...\n\nAh :D\n\nI guess comparing the results with the previous version of the script\nisn't great...\n\n\nPaul\n\n> \n>  \n> \n> \n>     > On Sat, 22 Oct 2022 at 07:23, Paul Elder via libcamera-devel wrote:\n>     >\n>     > > Add a tuning script for raspberrypi for alsc only, that uses libtuning.\n>     > > Since there will also be a tuning script for raspberrypi that has more\n>     > > modules, put the libtuning alsc module definition in a separate file so\n>     > > that it can be reused later.\n>     > >\n>     > > Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>\n> \n>     Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n>     > > ---\n>     > > Changes in v2:\n>     > > - fix python errors\n>     > > - fix style\n>     > > - add SPDX and copyright\n>     > > - s/average_functions/average/\n>     > > - update script to work with new raspberrypi alsc module\n>     > > ---\n>     > >  utils/tuning/raspberrypi/__init__.py  |  0\n>     > >  utils/tuning/raspberrypi/alsc.py      | 17 +++++++++++++++++\n>     > >  utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++\n>     > >  3 files changed, 39 insertions(+)\n>     > >  create mode 100644 utils/tuning/raspberrypi/__init__.py\n>     > >  create mode 100644 utils/tuning/raspberrypi/alsc.py\n>     > >  create mode 100755 utils/tuning/raspberrypi_alsc_only.py\n>     > >\n>     > > diff --git a/utils/tuning/raspberrypi/__init__.py\n>     > > b/utils/tuning/raspberrypi/__init__.py\n>     > > new file mode 100644\n>     > > index 00000000..e69de29b\n>     > > diff --git a/utils/tuning/raspberrypi/alsc.py\n>     > > b/utils/tuning/raspberrypi/alsc.py\n>     > > new file mode 100644\n>     > > index 00000000..71ab3995\n>     > > --- /dev/null\n>     > > +++ b/utils/tuning/raspberrypi/alsc.py\n>     > > @@ -0,0 +1,17 @@\n>     > > +# SPDX-License-Identifier: GPL-2.0-or-later\n>     > > +#\n>     > > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n>     > > +\n>     > > +import libtuning as lt\n>     > > +from libtuning.modules.alsc import ALSCRaspberryPi\n>     > > +\n>     > > +ALSC = \\\n>     > > +    ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour',\n>     lt.Param.Mode.Optional, True),\n>     > > +                    luminance_strength=lt.Param('luminance_strength',\n>     lt.Param.Mode.Optional, 0.5),\n>     > > +                    debug=[lt.Debug.Plot],\n>     > > +                    sector_shape=(16, 12),\n>     > > +                    sector_x_gradient=lt.gradient.Linear\n>     (lt.Remainder.DistributeFront),\n>     > > +                    sector_y_gradient=lt.gradient.Linear\n>     (lt.Remainder.DistributeFront),\n>     > > +                    sector_average_function=lt.average.Mean(),\n>     > > +                    smoothing_function=lt.smoothing.MedianBlur(3),\n>     > > +                    )\n>     > > diff --git a/utils/tuning/raspberrypi_alsc_only.py\n>     > > b/utils/tuning/raspberrypi_alsc_only.py\n>     > > new file mode 100755\n>     > > index 00000000..3cd7b074\n>     > > --- /dev/null\n>     > > +++ b/utils/tuning/raspberrypi_alsc_only.py\n>     > > @@ -0,0 +1,22 @@\n>     > > +#!/usr/bin/env python3\n>     > > +# SPDX-License-Identifier: GPL-2.0-or-later\n>     > > +#\n>     > > +# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>\n>     > > +#\n>     > > +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only\n>     > > +\n>     > > +import sys\n>     > > +\n>     > > +import libtuning as lt\n>     > > +from libtuning.parsers import RaspberryPiParser\n>     > > +from libtuning.generators import RaspberryPiOutput\n>     > > +\n>     > > +from raspberrypi.alsc import ALSC\n>     > > +\n>     > > +tuner = lt.Camera('Raspberry Pi (ALSC only)')\n>     > > +tuner.add(ALSC)\n>     > > +tuner.setInputType(RaspberryPiParser)\n>     > > +tuner.setOutputType(RaspberryPiOutput)\n>     > > +tuner.setOutputOrder([ALSC])\n>     > > +\n>     > > +tuner.run(sys.argv)","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 C2710BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Nov 2022 07:21:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1B52463084;\n\tThu, 10 Nov 2022 08:21:40 +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 70A7961F38\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Nov 2022 08:21:38 +0100 (CET)","from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 834E5499;\n\tThu, 10 Nov 2022 08:21:36 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1668064900;\n\tbh=dv3LUe/w/mQzPOcryGfveA0mStujnsrKZePFSqCJO9I=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=x54UlvvtPhkxQ+n1H3ZsbISZ7uj/Nj5CRcyzi4nOPk/LeJLtSpwyV8g2uCit+6MeA\n\tIGHxEVziN4d3fYjqVg2feBgVZr0Bxqo/Y6hajTp5F1Y0/cPZ2HgPD72DIeArT7jgjV\n\tDMBdYvyj4CPJ1ffc3DTkNnJjMzYhg8WqcBTDhvBonZ1aw3WTOiuXCI/GgEuMIVXoZd\n\tFbi6xP1mSoXES54+AXlSikXgRYm0hcQpzN3+/UUx43mo99CteF8YtpyC2QkUhWFfa+\n\tblOT5C6FT7yT+OE1W6x/pDDc928Y33YrO5Mkzza1Pjp5O/cEw40qlSveh5G1VjZng5\n\tlcXZLbVoO0wpA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1668064898;\n\tbh=dv3LUe/w/mQzPOcryGfveA0mStujnsrKZePFSqCJO9I=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=lm1Udbul13J5u65aozTK0Cw4Nqc59XBSFcMe7LW6DHPJDsRN2l0llLZNwQTo87Y3F\n\tjO5351QAd6uGA6dkL/a++BKEyjtmOm4bi4zfVfovDkpxRfzHRRCaW4hGZk+6+N/4T8\n\tykZrx2VS72MMYs7xiE0jplRbwNsBW/PZc80ui6+k="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"lm1Udbul\"; dkim-atps=neutral","Date":"Thu, 10 Nov 2022 16:21:31 +0900","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<Y2yme6ZdYHUH0Nei@pyrite.rasen.tech>","References":"<20221022062310.2545463-1-paul.elder@ideasonboard.com>\n\t<20221022062310.2545463-10-paul.elder@ideasonboard.com>\n\t<CAEmqJPpTrXj2-qbSeJfUmG1xUqfhpmTnD4E2giSGre+b9a75Vw@mail.gmail.com>\n\t<Y2uNKI/ZE9CbszSv@pendragon.ideasonboard.com>\n\t<CAEmqJPqipj=AZnebZKxXwM9bnCYOuta7DD9j_c8QeYuBiwewjg@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<CAEmqJPqipj=AZnebZKxXwM9bnCYOuta7DD9j_c8QeYuBiwewjg@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only\n\tlibtuning raspberrypi tuning script","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>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Paul Elder <paul.elder@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]