From 726e9274ea95fa46352556d340c5793a8da51fcd Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Wed, 3 May 2023 13:20:27 +0100 Subject: pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code Split the Raspberry Pi pipeline handler and IPA source code into common and VC4/BCM2835 specific file structures. For the pipeline handler, the common code files now live in src/libcamera/pipeline/rpi/common/ and the VC4-specific files in src/libcamera/pipeline/rpi/vc4/. For the IPA, the common code files now live in src/ipa/rpi/{cam_helper,controller}/ and the vc4 specific files in src/ipa/rpi/vc4/. With this change, the camera tuning files are now installed under share/libcamera/ipa/rpi/vc4/. To build the pipeline and IPA, the meson configuration options have now changed from "raspberrypi" to "rpi/vc4": meson setup build -Dipas=rpi/vc4 -Dpipelines=rpi/vc4 Signed-off-by: Naushir Patuck Reviewed-by: Jacopo Mondi Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/ipa/raspberrypi/data/imx296.json | 537 ----------------------------------- 1 file changed, 537 deletions(-) delete mode 100644 src/ipa/raspberrypi/data/imx296.json (limited to 'src/ipa/raspberrypi/data/imx296.json') diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/raspberrypi/data/imx296.json deleted file mode 100644 index ae8722c4..00000000 --- a/src/ipa/raspberrypi/data/imx296.json +++ /dev/null @@ -1,537 +0,0 @@ -{ - "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": 7600 - }, - "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": 7600 - } - }, - "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.05, - "sensitivity_b": 1.05, - "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": 2000, - "ccm": - [ - 1.48716, -0.1877, -0.35079, - -0.48577, 1.55088, -0.03387, - 0.24919, -1.4583, 2.12083 - ] - }, - { - "ct": 2200, - "ccm": - [ - 1.53439, -0.28852, -0.29392, - -0.44748, 1.56295, -0.08907, - 0.23529, -1.30488, 1.99784 - ] - }, - { - "ct": 2400, - "ccm": - [ - 1.57619, -0.36904, -0.25181, - -0.41654, 1.57046, -0.13192, - 0.21678, -1.18352, 1.90786 - ] - }, - { - "ct": 2600, - "ccm": - [ - 1.61348, -0.43497, -0.2198, - -0.39075, 1.5753, -0.1665, - 0.19789, -1.08592, 1.83942 - ] - }, - { - "ct": 2800, - "ccm": - [ - 1.64717, -0.49009, -0.1951, - -0.36881, 1.57852, -0.1952, - 0.18016, -1.00609, 1.78575 - ] - }, - { - "ct": 3000, - "ccm": - [ - 1.67798, -0.53693, -0.17591, - -0.34986, 1.58074, -0.21955, - 0.16406, -0.9398, 1.74261 - ] - }, - { - "ct": 3200, - "ccm": - [ - 1.70647, -0.5773, -0.161, - -0.33332, 1.58235, -0.24056, - 0.14961, -0.88398, 1.70721 - ] - }, - { - "ct": 3400, - "ccm": - [ - 1.73305, -0.61248, -0.14951, - -0.31875, 1.58355, -0.25894, - 0.13671, -0.83642, 1.67769 - ] - }, - { - "ct": 3600, - "ccm": - [ - 1.75802, -0.64343, -0.14077, - -0.30581, 1.5845, -0.27518, - 0.12518, -0.79546, 1.65271 - ] - }, - { - "ct": 4100, - "ccm": - [ - 1.78116, -0.67459, -0.13048, - -0.26859, 1.58692, -0.31929, - 0.11915, -0.77931, 1.64012 - ] - }, - { - "ct": 4600, - "ccm": - [ - 1.83867, -0.73605, -0.12044, - -0.24947, 1.58699, -0.34207, - 0.09949, -0.71041, 1.59842 - ] - }, - { - "ct": 5100, - "ccm": - [ - 1.88967, -0.78455, -0.11744, - -0.23398, 1.58806, -0.36172, - 0.08362, -0.6574, 1.56728 - ] - }, - { - "ct": 5600, - "ccm": - [ - 1.93485, -0.82318, -0.1191, - -0.22108, 1.58973, -0.37892, - 0.07074, -0.61609, 1.54362 - ] - }, - { - "ct": 6100, - "ccm": - [ - 1.97481, -0.85423, -0.12371, - -0.21015, 1.59169, -0.39406, - 0.06021, -0.58353, 1.52536 - ] - }, - { - "ct": 6600, - "ccm": - [ - 2.01029, -0.87946, -0.13017, - -0.20074, 1.59378, -0.4075, - 0.05146, -0.55732, 1.51096 - ] - }, - { - "ct": 7100, - "ccm": - [ - 2.04183, -0.9002, -0.13765, - -0.19255, 1.59586, -0.41944, - 0.04414, -0.53603, 1.49947 - ] - }, - { - "ct": 7600, - "ccm": - [ - 2.07001, -0.91744, -0.14566, - -0.18534, 1.59788, -0.43013, - 0.03791, -0.51841, 1.49013 - ] - }, - { - "ct": 8100, - "ccm": - [ - 2.09534, -0.93195, -0.15388, - -0.17893, 1.59981, -0.43974, - 0.03256, -0.50364, 1.48243 - ] - }, - { - "ct": 8600, - "ccm": - [ - 2.11799, -0.94416, -0.16203, - -0.17324, 1.60161, -0.44836, - 0.02795, -0.4912, 1.47604 - ] - } - ] - } - }, - { - "rpi.sharpen": - { - "threshold": 0.1, - "strength": 1.0, - "limit": 0.18 - } - } - ] -} -- cgit v1.2.1