[PATCH v1 3/3] ipa: rpi: Add vc4 tuning files for imx415
Kieran Bingham
kieran.bingham at ideasonboard.com
Wed Jan 8 10:42:21 CET 2025
Hi Naush,
Quoting Naushir Patuck (2025-01-08 09:03:22)
> From: Dave Stevenson <dave.stevenson at raspberrypi.com>
>
> Basic tuning done by David Plowman using a Waveshare SKU 28524
> "IMX415-98 IR-CUT Camera" module.
>
> Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
Can I assume that you posting this one is an implicit RB or Acked-by tag
for the tuning content?
Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/ipa/rpi/vc4/data/imx415.json | 413 +++++++++++++++++++++++++++++++
> src/ipa/rpi/vc4/data/meson.build | 1 +
> 2 files changed, 414 insertions(+)
> create mode 100755 src/ipa/rpi/vc4/data/imx415.json
>
> diff --git a/src/ipa/rpi/vc4/data/imx415.json b/src/ipa/rpi/vc4/data/imx415.json
> new file mode 100755
> index 000000000000..6ed16b173074
> --- /dev/null
> +++ b/src/ipa/rpi/vc4/data/imx415.json
> @@ -0,0 +1,413 @@
> +{
> + "version": 2.0,
> + "target": "bcm2835",
> + "algorithms": [
> + {
> + "rpi.black_level":
> + {
> + "black_level": 3840
> + }
> + },
> + {
> + "rpi.dpc": { }
> + },
> + {
> + "rpi.lux":
> + {
> + "reference_shutter_speed": 19230,
> + "reference_gain": 1.0,
> + "reference_aperture": 1.0,
> + "reference_lux": 1198,
> + "reference_Y": 14876
> + }
> + },
> + {
> + "rpi.noise":
> + {
> + "reference_constant": 17,
> + "reference_slope": 3.439
> + }
> + },
> + {
> + "rpi.geq":
> + {
> + "offset": 193,
> + "slope": 0.00902
> + }
> + },
> + {
> + "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":
> + [
> + 2698.0, 0.7681, 0.2026,
> + 2930.0, 0.7515, 0.2116,
> + 3643.0, 0.6355, 0.2858,
> + 4605.0, 0.4992, 0.4041,
> + 5658.0, 0.4498, 0.4574
> + ],
> + "sensitivity_r": 1.0,
> + "sensitivity_b": 1.0,
> + "transverse_pos": 0.0112,
> + "transverse_neg": 0.01424
> + }
> + },
> + {
> + "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, 10000, 30000, 60000, 120000 ],
> + "gain": [ 1.0, 2.0, 4.0, 6.0, 6.0 ]
> + },
> + "short":
> + {
> + "shutter": [ 100, 5000, 10000, 20000, 120000 ],
> + "gain": [ 1.0, 2.0, 4.0, 6.0, 6.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.8,
> + "calibrations_Cr": [
> + {
> + "ct": 3000,
> + "table":
> + [
> + 1.025, 1.016, 1.013, 1.011, 1.008, 1.005, 1.003, 1.001, 1.003, 1.005, 1.008, 1.011, 1.014, 1.019, 1.027, 1.035,
> + 1.025, 1.017, 1.013, 1.011, 1.008, 1.005, 1.003, 1.003, 1.004, 1.005, 1.009, 1.012, 1.017, 1.023, 1.029, 1.035,
> + 1.022, 1.017, 1.013, 1.009, 1.007, 1.005, 1.003, 1.003, 1.004, 1.006, 1.009, 1.012, 1.017, 1.023, 1.029, 1.035,
> + 1.019, 1.015, 1.011, 1.007, 1.005, 1.003, 1.001, 1.001, 1.003, 1.004, 1.007, 1.009, 1.015, 1.022, 1.028, 1.035,
> + 1.018, 1.014, 1.009, 1.006, 1.004, 1.002, 1.001, 1.001, 1.001, 1.003, 1.006, 1.009, 1.015, 1.021, 1.028, 1.035,
> + 1.018, 1.013, 1.011, 1.006, 1.003, 1.002, 1.001, 1.001, 1.001, 1.003, 1.006, 1.009, 1.015, 1.022, 1.028, 1.036,
> + 1.018, 1.014, 1.011, 1.007, 1.004, 1.002, 1.001, 1.001, 1.001, 1.004, 1.007, 1.009, 1.015, 1.023, 1.029, 1.036,
> + 1.019, 1.014, 1.012, 1.008, 1.005, 1.003, 1.002, 1.001, 1.003, 1.005, 1.008, 1.012, 1.016, 1.024, 1.031, 1.037,
> + 1.021, 1.016, 1.013, 1.009, 1.008, 1.005, 1.003, 1.003, 1.005, 1.008, 1.011, 1.014, 1.019, 1.026, 1.033, 1.039,
> + 1.025, 1.021, 1.016, 1.013, 1.009, 1.008, 1.006, 1.006, 1.008, 1.011, 1.014, 1.019, 1.024, 1.031, 1.038, 1.046,
> + 1.029, 1.025, 1.021, 1.018, 1.014, 1.013, 1.011, 1.011, 1.012, 1.015, 1.019, 1.023, 1.028, 1.035, 1.046, 1.051,
> + 1.032, 1.029, 1.023, 1.021, 1.018, 1.015, 1.014, 1.014, 1.015, 1.018, 1.022, 1.027, 1.033, 1.041, 1.051, 1.054
> + ]
> + },
> + {
> + "ct": 5000,
> + "table":
> + [
> + 1.025, 1.011, 1.009, 1.005, 1.004, 1.003, 1.001, 1.001, 1.002, 1.006, 1.009, 1.012, 1.016, 1.021, 1.031, 1.041,
> + 1.025, 1.014, 1.009, 1.007, 1.005, 1.004, 1.003, 1.003, 1.004, 1.007, 1.009, 1.013, 1.021, 1.028, 1.037, 1.041,
> + 1.023, 1.014, 1.009, 1.007, 1.005, 1.004, 1.003, 1.003, 1.005, 1.007, 1.011, 1.014, 1.021, 1.028, 1.037, 1.048,
> + 1.022, 1.012, 1.007, 1.005, 1.002, 1.001, 1.001, 1.001, 1.003, 1.005, 1.009, 1.014, 1.019, 1.028, 1.039, 1.048,
> + 1.022, 1.011, 1.006, 1.003, 1.001, 1.001, 1.001, 1.001, 1.002, 1.005, 1.009, 1.014, 1.021, 1.029, 1.039, 1.051,
> + 1.022, 1.012, 1.007, 1.003, 1.002, 1.001, 1.001, 1.001, 1.002, 1.005, 1.009, 1.015, 1.021, 1.031, 1.041, 1.053,
> + 1.023, 1.013, 1.009, 1.005, 1.003, 1.003, 1.001, 1.002, 1.004, 1.006, 1.011, 1.015, 1.022, 1.031, 1.042, 1.056,
> + 1.024, 1.015, 1.012, 1.008, 1.005, 1.004, 1.004, 1.004, 1.006, 1.009, 1.013, 1.018, 1.024, 1.034, 1.045, 1.057,
> + 1.027, 1.017, 1.015, 1.012, 1.009, 1.007, 1.007, 1.008, 1.009, 1.013, 1.018, 1.023, 1.029, 1.038, 1.051, 1.061,
> + 1.029, 1.023, 1.017, 1.015, 1.014, 1.012, 1.011, 1.011, 1.014, 1.018, 1.024, 1.029, 1.036, 1.044, 1.056, 1.066,
> + 1.034, 1.028, 1.023, 1.022, 1.019, 1.019, 1.018, 1.018, 1.021, 1.025, 1.031, 1.035, 1.042, 1.053, 1.066, 1.074,
> + 1.041, 1.034, 1.027, 1.025, 1.025, 1.023, 1.023, 1.023, 1.025, 1.031, 1.035, 1.041, 1.049, 1.059, 1.074, 1.079
> + ]
> + }
> + ],
> + "calibrations_Cb": [
> + {
> + "ct": 3000,
> + "table":
> + [
> + 1.001, 1.001, 1.007, 1.015, 1.027, 1.034, 1.038, 1.041, 1.042, 1.043, 1.043, 1.043, 1.041, 1.039, 1.049, 1.054,
> + 1.011, 1.011, 1.013, 1.023, 1.032, 1.039, 1.044, 1.047, 1.052, 1.056, 1.059, 1.059, 1.055, 1.051, 1.054, 1.056,
> + 1.015, 1.015, 1.019, 1.032, 1.039, 1.044, 1.047, 1.052, 1.055, 1.059, 1.061, 1.066, 1.063, 1.058, 1.061, 1.064,
> + 1.016, 1.017, 1.023, 1.032, 1.041, 1.045, 1.048, 1.053, 1.056, 1.061, 1.066, 1.069, 1.067, 1.064, 1.065, 1.068,
> + 1.018, 1.019, 1.025, 1.033, 1.042, 1.045, 1.049, 1.054, 1.058, 1.063, 1.071, 1.072, 1.071, 1.068, 1.069, 1.071,
> + 1.023, 1.024, 1.029, 1.035, 1.043, 1.048, 1.052, 1.057, 1.061, 1.065, 1.074, 1.075, 1.075, 1.072, 1.072, 1.075,
> + 1.027, 1.028, 1.031, 1.038, 1.045, 1.051, 1.054, 1.059, 1.064, 1.068, 1.075, 1.079, 1.078, 1.075, 1.076, 1.081,
> + 1.029, 1.031, 1.033, 1.044, 1.048, 1.054, 1.059, 1.064, 1.067, 1.073, 1.079, 1.082, 1.082, 1.079, 1.081, 1.085,
> + 1.033, 1.033, 1.035, 1.047, 1.053, 1.058, 1.064, 1.067, 1.073, 1.079, 1.084, 1.086, 1.086, 1.084, 1.089, 1.091,
> + 1.037, 1.037, 1.038, 1.049, 1.057, 1.062, 1.068, 1.073, 1.079, 1.084, 1.089, 1.092, 1.092, 1.092, 1.096, 1.104,
> + 1.041, 1.041, 1.043, 1.051, 1.061, 1.068, 1.073, 1.079, 1.083, 1.089, 1.092, 1.094, 1.097, 1.099, 1.105, 1.115,
> + 1.048, 1.044, 1.044, 1.051, 1.063, 1.071, 1.076, 1.082, 1.088, 1.091, 1.094, 1.097, 1.099, 1.104, 1.115, 1.126
> + ]
> + },
> + {
> + "ct": 5000,
> + "table":
> + [
> + 1.001, 1.001, 1.005, 1.011, 1.014, 1.018, 1.019, 1.019, 1.019, 1.021, 1.021, 1.021, 1.019, 1.017, 1.014, 1.014,
> + 1.009, 1.009, 1.011, 1.014, 1.019, 1.024, 1.026, 1.029, 1.031, 1.032, 1.032, 1.031, 1.027, 1.023, 1.022, 1.022,
> + 1.011, 1.012, 1.015, 1.018, 1.024, 1.026, 1.029, 1.032, 1.035, 1.036, 1.036, 1.034, 1.031, 1.027, 1.025, 1.025,
> + 1.012, 1.013, 1.015, 1.019, 1.025, 1.029, 1.032, 1.035, 1.036, 1.038, 1.038, 1.036, 1.034, 1.029, 1.026, 1.026,
> + 1.013, 1.014, 1.016, 1.019, 1.027, 1.031, 1.034, 1.037, 1.039, 1.039, 1.041, 1.039, 1.036, 1.031, 1.028, 1.027,
> + 1.014, 1.014, 1.017, 1.021, 1.027, 1.033, 1.037, 1.039, 1.041, 1.041, 1.042, 1.042, 1.039, 1.033, 1.029, 1.028,
> + 1.015, 1.015, 1.018, 1.021, 1.027, 1.033, 1.037, 1.041, 1.041, 1.042, 1.042, 1.042, 1.039, 1.034, 1.029, 1.029,
> + 1.015, 1.016, 1.018, 1.022, 1.027, 1.033, 1.037, 1.041, 1.041, 1.042, 1.043, 1.043, 1.041, 1.035, 1.031, 1.031,
> + 1.015, 1.016, 1.018, 1.022, 1.027, 1.032, 1.037, 1.041, 1.042, 1.042, 1.044, 1.043, 1.041, 1.036, 1.034, 1.033,
> + 1.016, 1.017, 1.017, 1.022, 1.027, 1.032, 1.036, 1.039, 1.042, 1.042, 1.043, 1.043, 1.041, 1.039, 1.036, 1.034,
> + 1.017, 1.017, 1.018, 1.022, 1.027, 1.031, 1.035, 1.039, 1.041, 1.042, 1.042, 1.042, 1.042, 1.039, 1.039, 1.039,
> + 1.018, 1.017, 1.017, 1.021, 1.027, 1.031, 1.033, 1.038, 1.041, 1.041, 1.042, 1.042, 1.041, 1.041, 1.041, 1.041
> + ]
> + }
> + ],
> + "luminance_lut":
> + [
> + 2.102, 1.903, 1.658, 1.483, 1.358, 1.267, 1.202, 1.202, 1.202, 1.242, 1.323, 1.431, 1.585, 1.797, 2.096, 2.351,
> + 1.996, 1.776, 1.549, 1.385, 1.273, 1.204, 1.138, 1.133, 1.133, 1.185, 1.252, 1.343, 1.484, 1.679, 1.954, 2.228,
> + 1.923, 1.689, 1.474, 1.318, 1.204, 1.138, 1.079, 1.071, 1.071, 1.133, 1.185, 1.284, 1.415, 1.597, 1.854, 2.146,
> + 1.881, 1.631, 1.423, 1.272, 1.159, 1.079, 1.051, 1.026, 1.046, 1.071, 1.144, 1.245, 1.369, 1.543, 1.801, 2.095,
> + 1.867, 1.595, 1.391, 1.242, 1.131, 1.051, 1.013, 1.002, 1.013, 1.046, 1.121, 1.219, 1.343, 1.511, 1.752, 2.079,
> + 1.867, 1.589, 1.385, 1.236, 1.125, 1.048, 1.001, 1.001, 1.003, 1.045, 1.118, 1.217, 1.342, 1.511, 1.746, 2.079,
> + 1.867, 1.589, 1.385, 1.236, 1.125, 1.048, 1.011, 1.003, 1.011, 1.046, 1.118, 1.217, 1.343, 1.511, 1.746, 2.079,
> + 1.884, 1.621, 1.411, 1.261, 1.149, 1.071, 1.048, 1.024, 1.046, 1.069, 1.141, 1.239, 1.369, 1.541, 1.781, 2.093,
> + 1.913, 1.675, 1.459, 1.304, 1.191, 1.125, 1.071, 1.065, 1.069, 1.124, 1.181, 1.278, 1.413, 1.592, 1.842, 2.133,
> + 1.981, 1.755, 1.529, 1.368, 1.251, 1.191, 1.125, 1.124, 1.124, 1.181, 1.242, 1.337, 1.479, 1.669, 1.935, 2.207,
> + 2.078, 1.867, 1.625, 1.453, 1.344, 1.251, 1.202, 1.201, 1.201, 1.242, 1.333, 1.418, 1.571, 1.776, 2.063, 2.321,
> + 2.217, 2.011, 1.747, 1.562, 1.431, 1.331, 1.278, 1.278, 1.278, 1.313, 1.407, 1.523, 1.686, 1.911, 2.226, 2.484
> + ],
> + "sigma": 0.00135,
> + "sigma_Cb": 0.00279
> + }
> + },
> + {
> + "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": 2698,
> + "ccm":
> + [
> + 1.57227, -0.32596, -0.24631,
> + -0.61264, 1.70791, -0.09526,
> + -0.43254, 0.48489, 0.94765
> + ]
> + },
> + {
> + "ct": 2930,
> + "ccm":
> + [
> + 1.69455, -0.52724, -0.16731,
> + -0.67131, 1.78468, -0.11338,
> + -0.41609, 0.54693, 0.86916
> + ]
> + },
> + {
> + "ct": 3643,
> + "ccm":
> + [
> + 1.74041, -0.77553, 0.03512,
> + -0.44073, 1.34131, 0.09943,
> + -0.11035, -0.93919, 2.04954
> + ]
> + },
> + {
> + "ct": 4605,
> + "ccm":
> + [
> + 1.49865, -0.41638, -0.08227,
> + -0.39445, 1.70114, -0.30669,
> + 0.01319, -0.88009, 1.86689
> + ]
> + },
> + {
> + "ct": 5658,
> + "ccm":
> + [
> + 1.38601, -0.23128, -0.15472,
> + -0.37641, 1.70444, -0.32803,
> + -0.01575, -0.71466, 1.73041
> + ]
> + }
> + ]
> + }
> + },
> + {
> + "rpi.sharpen": { }
> + }
> + ]
> +}
> diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build
> index 94c0ee6e6b7b..7a8001ee4817 100644
> --- a/src/ipa/rpi/vc4/data/meson.build
> +++ b/src/ipa/rpi/vc4/data/meson.build
> @@ -9,6 +9,7 @@ conf_files = files([
> 'imx296_mono.json',
> 'imx327.json',
> 'imx378.json',
> + 'imx415.json',
> 'imx462.json',
> 'imx477.json',
> 'imx477_noir.json',
> --
> 2.43.0
>
More information about the libcamera-devel
mailing list