[libcamera-devel] [PATCH v2 3/4] ipa: raspberrypi: Add a tuning file for the colour variant of IMX296
David Plowman
david.plowman at raspberrypi.com
Mon Oct 3 11:43:07 CEST 2022
Hi Naush
Thanks for the patch!
On Thu, 29 Sept 2022 at 08:23, Naushir Patuck via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> Add the tuning file (imx296.json) for the colour variant of the IMX296 sensor.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
I defer to the wisdom of the tuning tool!
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Thanks!
David
> ---
> src/ipa/raspberrypi/data/imx296.json | 424 +++++++++++++++++++++++++++
> src/ipa/raspberrypi/data/meson.build | 1 +
> 2 files changed, 425 insertions(+)
> create mode 100644 src/ipa/raspberrypi/data/imx296.json
>
> diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/raspberrypi/data/imx296.json
> new file mode 100644
> index 000000000000..4e8305176039
> --- /dev/null
> +++ b/src/ipa/raspberrypi/data/imx296.json
> @@ -0,0 +1,424 @@
> +{
> + "version": 2.0,
> + "target": "bcm2835",
> + "algorithms": [
> + {
> + "rpi.black_level":
> + {
> + "black_level": 3840
> + }
> + },
> + {
> + "rpi.dpc": { }
> + },
> + {
> + "rpi.lux":
> + {
> + "reference_shutter_speed": 7598,
> + "reference_gain": 1.0,
> + "reference_aperture": 1.0,
> + "reference_lux": 800,
> + "reference_Y": 14028
> + }
> + },
> + {
> + "rpi.noise":
> + {
> + "reference_constant": 0,
> + "reference_slope": 2.671
> + }
> + },
> + {
> + "rpi.geq":
> + {
> + "offset": 215,
> + "slope": 0.01058
> + }
> + },
> + {
> + "rpi.sdn": { }
> + },
> + {
> + "rpi.awb":
> + {
> + "priors": [
> + {
> + "lux": 0,
> + "prior":
> + [
> + 2000, 1.0,
> + 3000, 0.0,
> + 13000, 0.0
> + ]
> + },
> + {
> + "lux": 800,
> + "prior":
> + [
> + 2000, 0.0,
> + 6000, 2.0,
> + 13000, 2.0
> + ]
> + },
> + {
> + "lux": 1500,
> + "prior":
> + [
> + 2000, 0.0,
> + 4000, 1.0,
> + 6000, 6.0,
> + 6500, 7.0,
> + 7000, 1.0,
> + 13000, 1.0
> + ]
> + }
> + ],
> + "modes":
> + {
> + "auto":
> + {
> + "lo": 2500,
> + "hi": 8000
> + },
> + "incandescent":
> + {
> + "lo": 2500,
> + "hi": 3000
> + },
> + "tungsten":
> + {
> + "lo": 3000,
> + "hi": 3500
> + },
> + "fluorescent":
> + {
> + "lo": 4000,
> + "hi": 4700
> + },
> + "indoor":
> + {
> + "lo": 3000,
> + "hi": 5000
> + },
> + "daylight":
> + {
> + "lo": 5500,
> + "hi": 6500
> + },
> + "cloudy":
> + {
> + "lo": 7000,
> + "hi": 8600
> + }
> + },
> + "bayes": 1,
> + "ct_curve":
> + [
> + 2500.0, 0.5386, 0.2458,
> + 2800.0, 0.4883, 0.3303,
> + 2900.0, 0.4855, 0.3349,
> + 3620.0, 0.4203, 0.4367,
> + 4560.0, 0.3455, 0.5444,
> + 5600.0, 0.2948, 0.6124,
> + 7400.0, 0.2336, 0.6894
> + ],
> + "sensitivity_r": 1.0,
> + "sensitivity_b": 1.0,
> + "transverse_pos": 0.03093,
> + "transverse_neg": 0.02374
> + }
> + },
> + {
> + "rpi.agc":
> + {
> + "metering_modes":
> + {
> + "centre-weighted":
> + {
> + "weights": [ 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 ]
> + },
> + "spot":
> + {
> + "weights": [ 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
> + },
> + "matrix":
> + {
> + "weights": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
> + }
> + },
> + "exposure_modes":
> + {
> + "normal":
> + {
> + "shutter": [ 100, 30000, 45000, 60000, 120000 ],
> + "gain": [ 1.0, 1.0, 2.0, 4.0, 12.0 ]
> + },
> + "short":
> + {
> + "shutter": [ 100, 5000, 10000, 20000, 30000 ],
> + "gain": [ 1.0, 2.0, 4.0, 8.0, 16.0 ]
> + }
> + },
> + "constraint_modes":
> + {
> + "normal": [
> + {
> + "bound": "LOWER",
> + "q_lo": 0.98,
> + "q_hi": 1.0,
> + "y_target":
> + [
> + 0, 0.5,
> + 1000, 0.5
> + ]
> + }
> + ],
> + "highlight": [
> + {
> + "bound": "LOWER",
> + "q_lo": 0.98,
> + "q_hi": 1.0,
> + "y_target":
> + [
> + 0, 0.5,
> + 1000, 0.5
> + ]
> + },
> + {
> + "bound": "UPPER",
> + "q_lo": 0.98,
> + "q_hi": 1.0,
> + "y_target":
> + [
> + 0, 0.8,
> + 1000, 0.8
> + ]
> + }
> + ]
> + },
> + "y_target":
> + [
> + 0, 0.16,
> + 1000, 0.165,
> + 10000, 0.17
> + ]
> + }
> + },
> + {
> + "rpi.alsc":
> + {
> + "omega": 1.3,
> + "n_iter": 100,
> + "luminance_strength": 0.5,
> + "calibrations_Cr": [
> + {
> + "ct": 4000,
> + "table":
> + [
> + 2.726, 2.736, 2.737, 2.739, 2.741, 2.741, 2.742, 2.742, 2.743, 2.743, 2.742, 2.742, 2.742, 2.742, 2.741, 2.739,
> + 2.728, 2.736, 2.739, 2.741, 2.742, 2.743, 2.744, 2.745, 2.746, 2.746, 2.745, 2.743, 2.742, 2.742, 2.742, 2.741,
> + 2.729, 2.737, 2.741, 2.744, 2.746, 2.747, 2.748, 2.749, 2.751, 2.751, 2.749, 2.746, 2.744, 2.743, 2.743, 2.743,
> + 2.729, 2.738, 2.743, 2.746, 2.749, 2.749, 2.751, 2.752, 2.753, 2.753, 2.752, 2.751, 2.746, 2.744, 2.744, 2.746,
> + 2.728, 2.737, 2.742, 2.746, 2.749, 2.751, 2.754, 2.755, 2.754, 2.755, 2.754, 2.751, 2.748, 2.746, 2.747, 2.748,
> + 2.724, 2.738, 2.742, 2.746, 2.749, 2.752, 2.755, 2.755, 2.755, 2.755, 2.754, 2.752, 2.749, 2.749, 2.748, 2.748,
> + 2.726, 2.738, 2.741, 2.745, 2.749, 2.753, 2.754, 2.755, 2.755, 2.755, 2.754, 2.753, 2.749, 2.748, 2.748, 2.748,
> + 2.726, 2.738, 2.741, 2.745, 2.746, 2.752, 2.753, 2.753, 2.753, 2.753, 2.754, 2.751, 2.748, 2.748, 2.746, 2.745,
> + 2.726, 2.736, 2.738, 2.742, 2.745, 2.749, 2.752, 2.753, 2.752, 2.752, 2.751, 2.749, 2.747, 2.745, 2.744, 2.742,
> + 2.724, 2.733, 2.736, 2.739, 2.742, 2.745, 2.748, 2.749, 2.749, 2.748, 2.748, 2.747, 2.744, 2.743, 2.742, 2.741,
> + 2.722, 2.726, 2.733, 2.735, 2.737, 2.741, 2.743, 2.744, 2.744, 2.744, 2.744, 2.742, 2.741, 2.741, 2.739, 2.737,
> + 2.719, 2.722, 2.727, 2.729, 2.731, 2.732, 2.734, 2.734, 2.735, 2.735, 2.735, 2.734, 2.733, 2.732, 2.732, 2.732
> + ]
> + },
> + {
> + "ct": 6000,
> + "table":
> + [
> + 3.507, 3.522, 3.525, 3.527, 3.531, 3.533, 3.534, 3.535, 3.535, 3.536, 3.536, 3.537, 3.537, 3.538, 3.537, 3.536,
> + 3.511, 3.524, 3.528, 3.532, 3.533, 3.535, 3.537, 3.538, 3.538, 3.541, 3.539, 3.539, 3.539, 3.539, 3.538, 3.538,
> + 3.513, 3.528, 3.532, 3.535, 3.538, 3.542, 3.543, 3.546, 3.548, 3.551, 3.547, 3.543, 3.541, 3.541, 3.541, 3.541,
> + 3.513, 3.528, 3.533, 3.539, 3.544, 3.546, 3.548, 3.552, 3.553, 3.553, 3.552, 3.548, 3.543, 3.542, 3.542, 3.545,
> + 3.513, 3.528, 3.534, 3.541, 3.547, 3.549, 3.552, 3.553, 3.554, 3.554, 3.553, 3.549, 3.546, 3.544, 3.547, 3.549,
> + 3.508, 3.528, 3.533, 3.541, 3.548, 3.551, 3.553, 3.554, 3.555, 3.555, 3.555, 3.551, 3.548, 3.547, 3.549, 3.551,
> + 3.511, 3.529, 3.534, 3.541, 3.548, 3.551, 3.553, 3.555, 3.555, 3.555, 3.556, 3.554, 3.549, 3.548, 3.548, 3.548,
> + 3.511, 3.528, 3.533, 3.539, 3.546, 3.549, 3.553, 3.554, 3.554, 3.554, 3.554, 3.553, 3.549, 3.547, 3.547, 3.547,
> + 3.511, 3.527, 3.533, 3.536, 3.541, 3.547, 3.551, 3.553, 3.553, 3.552, 3.551, 3.551, 3.548, 3.544, 3.542, 3.543,
> + 3.507, 3.523, 3.528, 3.533, 3.538, 3.541, 3.546, 3.548, 3.549, 3.548, 3.548, 3.546, 3.542, 3.541, 3.541, 3.541,
> + 3.505, 3.514, 3.523, 3.527, 3.532, 3.537, 3.538, 3.544, 3.544, 3.544, 3.542, 3.541, 3.537, 3.537, 3.536, 3.535,
> + 3.503, 3.508, 3.515, 3.519, 3.521, 3.523, 3.524, 3.525, 3.526, 3.526, 3.527, 3.526, 3.524, 3.526, 3.527, 3.527
> + ]
> + }
> + ],
> + "calibrations_Cb": [
> + {
> + "ct": 4000,
> + "table":
> + [
> + 2.032, 2.037, 2.039, 2.041, 2.041, 2.042, 2.043, 2.044, 2.045, 2.045, 2.044, 2.043, 2.042, 2.041, 2.041, 2.034,
> + 2.032, 2.036, 2.039, 2.041, 2.042, 2.042, 2.043, 2.044, 2.045, 2.046, 2.045, 2.044, 2.042, 2.041, 2.039, 2.035,
> + 2.032, 2.036, 2.038, 2.041, 2.043, 2.044, 2.044, 2.045, 2.046, 2.047, 2.047, 2.045, 2.043, 2.042, 2.041, 2.037,
> + 2.032, 2.035, 2.039, 2.042, 2.043, 2.044, 2.045, 2.046, 2.048, 2.048, 2.047, 2.046, 2.045, 2.044, 2.042, 2.039,
> + 2.031, 2.034, 2.037, 2.039, 2.043, 2.045, 2.045, 2.046, 2.047, 2.047, 2.047, 2.046, 2.045, 2.044, 2.043, 2.039,
> + 2.029, 2.033, 2.036, 2.039, 2.042, 2.043, 2.045, 2.046, 2.046, 2.046, 2.046, 2.046, 2.046, 2.045, 2.044, 2.041,
> + 2.028, 2.032, 2.035, 2.039, 2.041, 2.043, 2.044, 2.045, 2.045, 2.046, 2.046, 2.046, 2.046, 2.045, 2.044, 2.039,
> + 2.027, 2.032, 2.035, 2.038, 2.039, 2.041, 2.044, 2.044, 2.044, 2.045, 2.046, 2.046, 2.046, 2.045, 2.044, 2.039,
> + 2.027, 2.031, 2.034, 2.035, 2.037, 2.039, 2.042, 2.043, 2.044, 2.045, 2.045, 2.046, 2.045, 2.044, 2.043, 2.038,
> + 2.025, 2.028, 2.032, 2.034, 2.036, 2.037, 2.041, 2.042, 2.043, 2.044, 2.044, 2.044, 2.044, 2.043, 2.041, 2.036,
> + 2.024, 2.026, 2.029, 2.032, 2.034, 2.036, 2.038, 2.041, 2.041, 2.042, 2.043, 2.042, 2.041, 2.041, 2.037, 2.036,
> + 2.022, 2.024, 2.027, 2.029, 2.032, 2.034, 2.036, 2.039, 2.039, 2.039, 2.041, 2.039, 2.039, 2.038, 2.036, 2.034
> + ]
> + },
> + {
> + "ct": 6000,
> + "table":
> + [
> + 1.585, 1.587, 1.589, 1.589, 1.589, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.589, 1.588, 1.588, 1.587, 1.581,
> + 1.585, 1.587, 1.588, 1.589, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.588, 1.588, 1.587, 1.582,
> + 1.585, 1.586, 1.588, 1.589, 1.591, 1.591, 1.591, 1.591, 1.592, 1.592, 1.591, 1.591, 1.589, 1.588, 1.587, 1.584,
> + 1.585, 1.586, 1.588, 1.589, 1.591, 1.592, 1.592, 1.592, 1.593, 1.593, 1.592, 1.591, 1.589, 1.589, 1.588, 1.586,
> + 1.584, 1.586, 1.587, 1.589, 1.591, 1.591, 1.592, 1.592, 1.592, 1.592, 1.591, 1.591, 1.591, 1.589, 1.589, 1.586,
> + 1.583, 1.585, 1.587, 1.588, 1.589, 1.591, 1.591, 1.592, 1.592, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.586,
> + 1.583, 1.584, 1.586, 1.588, 1.589, 1.589, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.585,
> + 1.581, 1.584, 1.586, 1.587, 1.588, 1.588, 1.589, 1.591, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.589, 1.585,
> + 1.581, 1.583, 1.584, 1.586, 1.587, 1.588, 1.589, 1.589, 1.591, 1.591, 1.591, 1.591, 1.591, 1.589, 1.589, 1.585,
> + 1.579, 1.581, 1.583, 1.584, 1.586, 1.586, 1.588, 1.589, 1.589, 1.589, 1.589, 1.589, 1.589, 1.589, 1.587, 1.584,
> + 1.578, 1.579, 1.581, 1.583, 1.584, 1.585, 1.586, 1.587, 1.588, 1.588, 1.588, 1.588, 1.588, 1.587, 1.585, 1.583,
> + 1.577, 1.578, 1.579, 1.582, 1.583, 1.584, 1.585, 1.586, 1.586, 1.587, 1.587, 1.587, 1.586, 1.586, 1.584, 1.583
> + ]
> + }
> + ],
> + "luminance_lut":
> + [
> + 1.112, 1.098, 1.078, 1.062, 1.049, 1.039, 1.031, 1.027, 1.026, 1.027, 1.034, 1.043, 1.054, 1.069, 1.087, 1.096,
> + 1.106, 1.091, 1.073, 1.056, 1.042, 1.032, 1.025, 1.021, 1.021, 1.022, 1.027, 1.036, 1.047, 1.061, 1.077, 1.088,
> + 1.101, 1.085, 1.066, 1.049, 1.035, 1.026, 1.019, 1.013, 1.013, 1.015, 1.021, 1.028, 1.039, 1.052, 1.069, 1.083,
> + 1.098, 1.081, 1.059, 1.045, 1.031, 1.021, 1.013, 1.007, 1.007, 1.009, 1.014, 1.021, 1.033, 1.046, 1.063, 1.081,
> + 1.097, 1.076, 1.057, 1.041, 1.027, 1.016, 1.007, 1.004, 1.002, 1.005, 1.009, 1.017, 1.028, 1.043, 1.061, 1.077,
> + 1.096, 1.075, 1.054, 1.039, 1.025, 1.014, 1.005, 1.001, 1.001, 1.002, 1.006, 1.015, 1.027, 1.041, 1.058, 1.076,
> + 1.096, 1.074, 1.054, 1.039, 1.025, 1.013, 1.005, 1.001, 1.001, 1.001, 1.006, 1.015, 1.026, 1.041, 1.058, 1.076,
> + 1.096, 1.075, 1.056, 1.041, 1.026, 1.014, 1.007, 1.003, 1.002, 1.004, 1.008, 1.016, 1.028, 1.041, 1.059, 1.076,
> + 1.096, 1.079, 1.059, 1.044, 1.029, 1.018, 1.011, 1.007, 1.005, 1.008, 1.012, 1.019, 1.031, 1.044, 1.061, 1.077,
> + 1.101, 1.084, 1.065, 1.049, 1.035, 1.024, 1.017, 1.011, 1.011, 1.012, 1.018, 1.025, 1.036, 1.051, 1.068, 1.081,
> + 1.106, 1.092, 1.072, 1.055, 1.042, 1.033, 1.024, 1.019, 1.018, 1.019, 1.025, 1.032, 1.044, 1.058, 1.076, 1.088,
> + 1.113, 1.097, 1.079, 1.063, 1.049, 1.039, 1.031, 1.025, 1.025, 1.025, 1.031, 1.039, 1.051, 1.065, 1.083, 1.094
> + ],
> + "sigma": 0.00047,
> + "sigma_Cb": 0.00056
> + }
> + },
> + {
> + "rpi.contrast":
> + {
> + "ce_enable": 1,
> + "gamma_curve":
> + [
> + 0, 0,
> + 1024, 5040,
> + 2048, 9338,
> + 3072, 12356,
> + 4096, 15312,
> + 5120, 18051,
> + 6144, 20790,
> + 7168, 23193,
> + 8192, 25744,
> + 9216, 27942,
> + 10240, 30035,
> + 11264, 32005,
> + 12288, 33975,
> + 13312, 35815,
> + 14336, 37600,
> + 15360, 39168,
> + 16384, 40642,
> + 18432, 43379,
> + 20480, 45749,
> + 22528, 47753,
> + 24576, 49621,
> + 26624, 51253,
> + 28672, 52698,
> + 30720, 53796,
> + 32768, 54876,
> + 36864, 57012,
> + 40960, 58656,
> + 45056, 59954,
> + 49152, 61183,
> + 53248, 62355,
> + 57344, 63419,
> + 61440, 64476,
> + 65535, 65535
> + ]
> + }
> + },
> + {
> + "rpi.ccm":
> + {
> + "ccms": [
> + {
> + "ct": 2500,
> + "ccm":
> + [
> + 1.73697, -0.36758, -0.36939,
> + -0.46469, 1.75868, -0.29399,
> + 0.14353, -1.26221, 2.11867
> + ]
> + },
> + {
> + "ct": 2800,
> + "ccm":
> + [
> + 1.77684, -0.48089, -0.29595,
> + -0.41669, 1.74344, -0.32675,
> + 0.11995, -1.10172, 1.98177
> + ]
> + },
> + {
> + "ct": 2900,
> + "ccm":
> + [
> + 1.83447, -0.50694, -0.32754,
> + -0.44924, 1.86236, -0.41312,
> + 0.06159, -0.91231, 1.85071
> + ]
> + },
> + {
> + "ct": 3620,
> + "ccm":
> + [
> + 1.91315, -0.61463, -0.29852,
> + -0.38782, 1.80483, -0.41701,
> + 0.00632, -0.74309, 1.73678
> + ]
> + },
> + {
> + "ct": 4560,
> + "ccm":
> + [
> + 2.13144, -0.79703, -0.33441,
> + -0.41488, 2.10864, -0.69376,
> + -0.03975, -0.70785, 1.74761
> + ]
> + },
> + {
> + "ct": 5600,
> + "ccm":
> + [
> + 1.95828, -0.76779, -0.19049,
> + -0.26299, 1.70577, -0.44278,
> + -0.05451, -0.51918, 1.57369
> + ]
> + },
> + {
> + "ct": 7400,
> + "ccm":
> + [
> + 2.14829, -0.65425, -0.49405,
> + -0.46729, 2.66571, -1.19841,
> + -0.28128, -0.56248, 1.84377
> + ]
> + }
> + ]
> + }
> + },
> + {
> + "rpi.sharpen": { }
> + }
> + ]
> +}
> \ No newline at end of file
> diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build
> index 465a7a17ce6f..6c5beb0e0f67 100644
> --- a/src/ipa/raspberrypi/data/meson.build
> +++ b/src/ipa/raspberrypi/data/meson.build
> @@ -4,6 +4,7 @@ conf_files = files([
> 'imx219.json',
> 'imx219_noir.json',
> 'imx290.json',
> + 'imx296.json',
> 'imx296_mono.json',
> 'imx378.json',
> 'imx477.json',
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list