<div dir="ltr"><div dir="ltr">Hi Laurent,<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 9 Nov 2022 at 11:21, Laurent Pinchart <<a href="mailto:laurent.pinchart@ideasonboard.com" target="_blank">laurent.pinchart@ideasonboard.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
On Wed, Nov 09, 2022 at 09:39:12AM +0000, Naushir Patuck via libcamera-devel wrote:<br>
> Hi Paul,<br>
> <br>
> I've not had a chance to fully look through this work yet, so apologies.<br>
> However, I do have a question - does this script produce identical results<br>
> when compared with the existing RPi script for a given set of inputs?<br>
<br>
Paul told me he compared both, and the results were identical. Not all<br>
corner cases may have been tested though. This leads me to another<br>
question: how do you test ctt to avoid regressions, do you have a test<br>
suite ?<br></blockquote><div><br></div><div>Great, that's what I was expecting.</div><div><br></div><div>As for our testing, we don't currently have a test suite for the tuning tool.</div><div>Something to put on the list...</div><div><br></div><div>Regards,</div><div>Naush</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> On Sat, 22 Oct 2022 at 07:23, Paul Elder via libcamera-devel wrote:<br>
> <br>
> > Add a tuning script for raspberrypi for alsc only, that uses libtuning.<br>
> > Since there will also be a tuning script for raspberrypi that has more<br>
> > modules, put the libtuning alsc module definition in a separate file so<br>
> > that it can be reused later.<br>
> ><br>
> > Signed-off-by: Paul Elder <<a href="mailto:paul.elder@ideasonboard.com" target="_blank">paul.elder@ideasonboard.com</a>><br>
<br>
Reviewed-by: Laurent Pinchart <<a href="mailto:laurent.pinchart@ideasonboard.com" target="_blank">laurent.pinchart@ideasonboard.com</a>><br>
<br>
> > ---<br>
> > Changes in v2:<br>
> > - fix python errors<br>
> > - fix style<br>
> > - add SPDX and copyright<br>
> > - s/average_functions/average/<br>
> > - update script to work with new raspberrypi alsc module<br>
> > ---<br>
> > utils/tuning/raspberrypi/__init__.py | 0<br>
> > utils/tuning/raspberrypi/alsc.py | 17 +++++++++++++++++<br>
> > utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++<br>
> > 3 files changed, 39 insertions(+)<br>
> > create mode 100644 utils/tuning/raspberrypi/__init__.py<br>
> > create mode 100644 utils/tuning/raspberrypi/alsc.py<br>
> > create mode 100755 utils/tuning/raspberrypi_alsc_only.py<br>
> ><br>
> > diff --git a/utils/tuning/raspberrypi/__init__.py<br>
> > b/utils/tuning/raspberrypi/__init__.py<br>
> > new file mode 100644<br>
> > index 00000000..e69de29b<br>
> > diff --git a/utils/tuning/raspberrypi/alsc.py<br>
> > b/utils/tuning/raspberrypi/alsc.py<br>
> > new file mode 100644<br>
> > index 00000000..71ab3995<br>
> > --- /dev/null<br>
> > +++ b/utils/tuning/raspberrypi/alsc.py<br>
> > @@ -0,0 +1,17 @@<br>
> > +# SPDX-License-Identifier: GPL-2.0-or-later<br>
> > +#<br>
> > +# Copyright (C) 2022, Paul Elder <<a href="mailto:paul.elder@ideasonboard.com" target="_blank">paul.elder@ideasonboard.com</a>><br>
> > +<br>
> > +import libtuning as lt<br>
> > +from libtuning.modules.alsc import ALSCRaspberryPi<br>
> > +<br>
> > +ALSC = \<br>
> > + ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour', lt.Param.Mode.Optional, True),<br>
> > + luminance_strength=lt.Param('luminance_strength', lt.Param.Mode.Optional, 0.5),<br>
> > + debug=[lt.Debug.Plot],<br>
> > + sector_shape=(16, 12),<br>
> > + sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),<br>
> > + sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),<br>
> > + sector_average_function=lt.average.Mean(),<br>
> > + smoothing_function=lt.smoothing.MedianBlur(3),<br>
> > + )<br>
> > diff --git a/utils/tuning/raspberrypi_alsc_only.py<br>
> > b/utils/tuning/raspberrypi_alsc_only.py<br>
> > new file mode 100755<br>
> > index 00000000..3cd7b074<br>
> > --- /dev/null<br>
> > +++ b/utils/tuning/raspberrypi_alsc_only.py<br>
> > @@ -0,0 +1,22 @@<br>
> > +#!/usr/bin/env python3<br>
> > +# SPDX-License-Identifier: GPL-2.0-or-later<br>
> > +#<br>
> > +# Copyright (C) 2022, Paul Elder <<a href="mailto:paul.elder@ideasonboard.com" target="_blank">paul.elder@ideasonboard.com</a>><br>
> > +#<br>
> > +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only<br>
> > +<br>
> > +import sys<br>
> > +<br>
> > +import libtuning as lt<br>
> > +from libtuning.parsers import RaspberryPiParser<br>
> > +from libtuning.generators import RaspberryPiOutput<br>
> > +<br>
> > +from raspberrypi.alsc import ALSC<br>
> > +<br>
> > +tuner = lt.Camera('Raspberry Pi (ALSC only)')<br>
> > +tuner.add(ALSC)<br>
> > +tuner.setInputType(RaspberryPiParser)<br>
> > +tuner.setOutputType(RaspberryPiOutput)<br>
> > +tuner.setOutputOrder([ALSC])<br>
> > +<br>
> > +tuner.run(sys.argv)<br>
<br>
-- <br>
Regards,<br>
<br>
Laurent Pinchart<br>
</blockquote></div></div>