From patchwork Sat Oct 22 06:23:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 17660 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 041C5C0DA4 for ; Sat, 22 Oct 2022 06:23:40 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8529962EEA; Sat, 22 Oct 2022 08:23:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1666419820; bh=GP95adX2fmAVd7GTXaE0rVDCGm3n/tfALf55IdMMSj0=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=XrQ447qh8Wgus6ZwbgczVgAqfI6EiUOuGgDne8HcSUkVu11TPWDhg89jkCYdeYzH3 yjfmp0Hyxctq/+nLjpOwkdxzUkcEyr+yYf3JA7rVAL+hsx0LOQYHzI5xBQfSD+RGcE hw3hfg376ucwnT9mF04GgpCEabe4Y1+W/TRYIbUyfDxgYIjNttgUJzDdCdKbQraJ0y HMgepw/gAfMIIAssIhpb5h1bj5PBwMvk9qfGJUB4IH68Ja6xkgL3Lg4/alkVsT/Sfs MPIYRwEjP0+DO76o50SaNlIJDxhPqe/A59qcEmlAT2nYFaVlwaOZdkoCbINYi3lrnh x55AiaF7IAhBg== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id ED5D462EDC for ; Sat, 22 Oct 2022 08:23:36 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="ep13Yd1e"; dkim-atps=neutral Received: from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp [175.177.42.159]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 95571106; Sat, 22 Oct 2022 08:23:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1666419816; bh=GP95adX2fmAVd7GTXaE0rVDCGm3n/tfALf55IdMMSj0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ep13Yd1eaLPjgnRUaLY9ptynvjSAz+vjUZ5/pVx0Iw4AKlxHEyer1nx7yAYQWyWm9 VMrMKezxZ+QdT2bo8S50Yd4V5O8RNw2qw+b4IBUL5h0qY5J4nU4sv2b7vRb05mjtjl QzVKJTr+qbXUUXXOIO0voFClTXnZAJrScVGrt65M= To: libcamera-devel@lists.libcamera.org Date: Sat, 22 Oct 2022 15:23:08 +0900 Message-Id: <20221022062310.2545463-10-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20221022062310.2545463-1-paul.elder@ideasonboard.com> References: <20221022062310.2545463-1-paul.elder@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 09/11] utils: tuning: Add alsc-only libtuning raspberrypi tuning script X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Paul Elder via libcamera-devel From: Paul Elder Reply-To: Paul Elder Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a tuning script for raspberrypi for alsc only, that uses libtuning. Since there will also be a tuning script for raspberrypi that has more modules, put the libtuning alsc module definition in a separate file so that it can be reused later. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- Changes in v2: - fix python errors - fix style - add SPDX and copyright - s/average_functions/average/ - update script to work with new raspberrypi alsc module --- utils/tuning/raspberrypi/__init__.py | 0 utils/tuning/raspberrypi/alsc.py | 17 +++++++++++++++++ utils/tuning/raspberrypi_alsc_only.py | 22 ++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 utils/tuning/raspberrypi/__init__.py create mode 100644 utils/tuning/raspberrypi/alsc.py create mode 100755 utils/tuning/raspberrypi_alsc_only.py diff --git a/utils/tuning/raspberrypi/__init__.py b/utils/tuning/raspberrypi/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/utils/tuning/raspberrypi/alsc.py b/utils/tuning/raspberrypi/alsc.py new file mode 100644 index 00000000..71ab3995 --- /dev/null +++ b/utils/tuning/raspberrypi/alsc.py @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2022, Paul Elder + +import libtuning as lt +from libtuning.modules.alsc import ALSCRaspberryPi + +ALSC = \ + ALSCRaspberryPi(do_color=lt.Param('do_alsc_colour', lt.Param.Mode.Optional, True), + luminance_strength=lt.Param('luminance_strength', lt.Param.Mode.Optional, 0.5), + debug=[lt.Debug.Plot], + sector_shape=(16, 12), + sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront), + sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront), + sector_average_function=lt.average.Mean(), + smoothing_function=lt.smoothing.MedianBlur(3), + ) diff --git a/utils/tuning/raspberrypi_alsc_only.py b/utils/tuning/raspberrypi_alsc_only.py new file mode 100755 index 00000000..3cd7b074 --- /dev/null +++ b/utils/tuning/raspberrypi_alsc_only.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Copyright (C) 2022, Paul Elder +# +# raspberrypi_alsc_only.py - Tuning script for raspberrypi, ALSC only + +import sys + +import libtuning as lt +from libtuning.parsers import RaspberryPiParser +from libtuning.generators import RaspberryPiOutput + +from raspberrypi.alsc import ALSC + +tuner = lt.Camera('Raspberry Pi (ALSC only)') +tuner.add(ALSC) +tuner.setInputType(RaspberryPiParser) +tuner.setOutputType(RaspberryPiOutput) +tuner.setOutputOrder([ALSC]) + +tuner.run(sys.argv)