summaryrefslogtreecommitdiff
path: root/utils/tuning
AgeCommit message (Collapse)Author
2022-11-25utils: tuning: Add tuning script for rkisp1Paul Elder
Add a tuning script for rkisp1 that uses libtuning. So far it only supports LSC. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-11-25/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2020, Raspberry Pi (Trading) Ltd. * * dng_writer.h - DNG writer */ #pragma once #ifdef HAVE_TIFF #define HAVE_DNG #include <libcamera/camera.h> #include <libcamera/controls.h> #include <libcamera/framebuffer.h> #include <libcamera/stream.h> class DNGWriter { public: static int write(const char *filename, const libcamera::Camera *camera, const libcamera::StreamConfiguration &config, const libcamera::ControlList &metadata, const libcamera::FrameBuffer *buffer, const void *data); }; #endif /* HAVE_TIFF */
a/libcamera.git/commit/utils/tuning?h=v0.0.4&id=b44ee5c348b238bd88d778c3d7ac639baab01045'>utils: libtuning: generators: Add raspberrypi outputPaul Elder Add a generator to libtuning for writing tuning output to a json file formatted the same way that raspberrypi's ctt formats them. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: libtuning: parsers: Add raspberrypi parserPaul Elder Add a parser to libtuning for parsing configuration files that are the same format as raspberrypi's ctt's configuration files. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: libtuning: modules: alsc: Add rkisp1 LSC modulePaul Elder Add an LSC module for RkISP1. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: libtuning: modules: alsc: Add raspberrypi ALSC modulePaul Elder Add an ALSC module for Raspberry Pi. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: libtuning: modules: Add base LSC modulePaul Elder Add a base LSC module to libtuning's collection of modules. It is based on raspberrypi's ctt's ALSC, but customizable for different lens shading table sizes, among other things. It alone is insufficient as a module, but it provides utilities that are useful for and which will simplify implementing LSC modules. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: tuning: libtuning: Implement extensible components of libtuningPaul Elder Implement the extensible components of libtuning. This includes: - Parsers, for supporting different types of input config file formats - Generators, for supporting different types of output tuning file formats - Modules, for supporting different tuning modules for different algorithms and platforms No parsers, generators, or modules are actually implemented. Only the base classes are implemented. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: tuning: libtuning: Implement math helpersPaul Elder Implement math helpers for libtuning. This includes: - Average, a wrapper class for numpy averaging functions - Gradient, a class that represents gradients, for distributing and mapping - Smoothing, a wrapper class for cv2 smoothing functions Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> 2022-11-25utils: tuning: libtuning: Implement the core of libtuningPaul Elder Implement the core of libtuning, our new tuning tool infrastructure. It leverages components from raspberrypi's ctt that could be reused for tuning tools for other platforms. The core components include: - The Image class - libtuning (entry point and other core functions) - macbeth-related tools, including the macbeth reference image - utils Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>