libcamera/utils/tuning/rkisp1.py
Paul Elder 7d8a9e054e utils: tuning: rkisp1: Add skeletal AGC to the rkisp1 tuning script
Add the skeletal AGC module to the rkisp1 tuning script. For now it just
spits out hardcoded values.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
2024-06-14 23:48:48 +09:00

42 lines
1.5 KiB
Python
Executable file

#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2022, Paul Elder <paul.elder@ideasonboard.com>
#
# Tuning script for rkisp1
import sys
import libtuning as lt
from libtuning.parsers import YamlParser
from libtuning.generators import YamlOutput
from libtuning.modules.lsc import LSCRkISP1
from libtuning.modules.agc import AGCRkISP1
tuner = lt.Tuner('RkISP1')
tuner.add(LSCRkISP1(
debug=[lt.Debug.Plot],
# This is for the actual LSC tuning, and is part of the base LSC
# module. rkisp1's table sector sizes (16x16 programmed as mirrored
# 8x8) are separate, and is hardcoded in its specific LSC tuning
# module.
sector_shape=(17, 17),
sector_x_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
sector_y_gradient=lt.gradient.Linear(lt.Remainder.DistributeFront),
# This is the function that will be used to average the pixels in
# each sector. This can also be a custom function.
sector_average_function=lt.average.Mean(),
# This is the function that will be used to smooth the color ratio
# values. This can also be a custom function.
smoothing_function=lt.smoothing.MedianBlur(3),
))
tuner.add(AGCRkISP1(debug=[lt.Debug.Plot]))
tuner.set_input_parser(YamlParser())
tuner.set_output_formatter(YamlOutput())
tuner.set_output_order([AGCRkISP1, LSCRkISP1])
if __name__ == '__main__':
sys.exit(tuner.run(sys.argv))