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/imx708_noir.json | 556 ------------------------------ 1 file changed, 556 deletions(-) delete mode 100644 src/ipa/raspberrypi/data/imx708_noir.json (limited to 'src/ipa/raspberrypi/data/imx708_noir.json') diff --git a/src/ipa/raspberrypi/data/imx708_noir.json b/src/ipa/raspberrypi/data/imx708_noir.json deleted file mode 100644 index 075f7035..00000000 --- a/src/ipa/raspberrypi/data/imx708_noir.json +++ /dev/null @@ -1,556 +0,0 @@ -{ - "version": 2.0, - "target": "bcm2835", - "algorithms": [ - { - "rpi.black_level": - { - "black_level": 4096 - } - }, - { - "rpi.dpc": { } - }, - { - "rpi.lux": - { - "reference_shutter_speed": 10672, - "reference_gain": 1.12, - "reference_aperture": 1.0, - "reference_lux": 977, - "reference_Y": 8627 - } - }, - { - "rpi.noise": - { - "reference_constant": 16.0, - "reference_slope": 4.0 - } - }, - { - "rpi.geq": - { - "offset": 215, - "slope": 0.00287 - } - }, - { - "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": 0, - "ct_curve": - [ - 2498.0, 0.8733, 0.2606, - 2821.0, 0.7707, 0.3245, - 2925.0, 0.7338, 0.3499, - 2926.0, 0.7193, 0.3603, - 2951.0, 0.7144, 0.3639, - 2954.0, 0.7111, 0.3663, - 3578.0, 0.6038, 0.4516, - 3717.0, 0.5861, 0.4669, - 3784.0, 0.5786, 0.4737, - 4485.0, 0.5113, 0.5368, - 4615.0, 0.4994, 0.5486, - 4671.0, 0.4927, 0.5554, - 5753.0, 0.4274, 0.6246, - 5773.0, 0.4265, 0.6256, - 7433.0, 0.3723, 0.6881 - ], - "sensitivity_r": 1.05, - "sensitivity_b": 1.05, - "transverse_pos": 0.03148, - "transverse_neg": 0.03061 - } - }, - { - "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, 15000, 30000, 60000, 120000 ], - "gain": [ 1.0, 1.0, 2.0, 4.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.2, - 1000, 0.2 - ] - } - ], - "highlight": [ - { - "bound": "LOWER", - "q_lo": 0.98, - "q_hi": 1.0, - "y_target": - [ - 0, 0.2, - 1000, 0.2 - ] - }, - { - "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 - ], - "startup_frames": 5, - "convergence_frames": 6, - "speed": 0.15 - } - }, - { - "rpi.alsc": - { - "omega": 1.3, - "n_iter": 100, - "luminance_strength": 0.5, - "calibrations_Cr": [ - { - "ct": 3000, - "table": - [ - 1.562, 1.566, 1.566, 1.556, 1.533, 1.506, 1.475, 1.475, 1.475, 1.475, 1.506, 1.533, 1.555, 1.563, 1.562, 1.555, - 1.563, 1.564, 1.561, 1.538, 1.508, 1.482, 1.449, 1.436, 1.436, 1.449, 1.481, 1.508, 1.537, 1.557, 1.558, 1.557, - 1.564, 1.563, 1.554, 1.522, 1.482, 1.449, 1.421, 1.403, 1.403, 1.419, 1.449, 1.481, 1.519, 1.549, 1.557, 1.559, - 1.564, 1.563, 1.545, 1.506, 1.462, 1.421, 1.403, 1.378, 1.378, 1.402, 1.419, 1.459, 1.503, 1.541, 1.557, 1.559, - 1.564, 1.562, 1.537, 1.494, 1.447, 1.404, 1.378, 1.364, 1.364, 1.377, 1.402, 1.444, 1.491, 1.532, 1.556, 1.559, - 1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.359, 1.359, 1.364, 1.393, 1.436, 1.484, 1.527, 1.555, 1.558, - 1.564, 1.559, 1.532, 1.487, 1.438, 1.395, 1.365, 1.356, 1.356, 1.364, 1.393, 1.436, 1.484, 1.527, 1.554, 1.557, - 1.564, 1.561, 1.536, 1.492, 1.444, 1.402, 1.374, 1.364, 1.363, 1.373, 1.401, 1.442, 1.489, 1.531, 1.554, 1.557, - 1.564, 1.563, 1.544, 1.504, 1.458, 1.418, 1.397, 1.374, 1.374, 1.395, 1.416, 1.456, 1.501, 1.538, 1.556, 1.557, - 1.564, 1.562, 1.551, 1.518, 1.477, 1.441, 1.418, 1.397, 1.397, 1.416, 1.438, 1.474, 1.514, 1.546, 1.556, 1.556, - 1.562, 1.562, 1.558, 1.534, 1.499, 1.476, 1.441, 1.426, 1.426, 1.438, 1.473, 1.496, 1.531, 1.552, 1.556, 1.555, - 1.561, 1.564, 1.564, 1.552, 1.525, 1.497, 1.466, 1.461, 1.461, 1.464, 1.495, 1.523, 1.548, 1.556, 1.556, 1.552 - ] - }, - { - "ct": 5000, - "table": - [ - 2.609, 2.616, 2.617, 2.607, 2.573, 2.527, 2.483, 2.481, 2.481, 2.483, 2.529, 2.573, 2.604, 2.613, 2.613, 2.604, - 2.609, 2.615, 2.608, 2.576, 2.533, 2.489, 2.439, 2.418, 2.418, 2.439, 2.491, 2.532, 2.577, 2.605, 2.609, 2.607, - 2.611, 2.611, 2.597, 2.551, 2.489, 2.439, 2.391, 2.364, 2.364, 2.391, 2.439, 2.491, 2.551, 2.592, 2.607, 2.609, - 2.612, 2.608, 2.583, 2.526, 2.457, 2.391, 2.362, 2.318, 2.318, 2.362, 2.391, 2.458, 2.526, 2.581, 2.607, 2.611, - 2.612, 2.604, 2.571, 2.507, 2.435, 2.362, 2.317, 2.293, 2.294, 2.318, 2.363, 2.434, 2.508, 2.568, 2.604, 2.612, - 2.611, 2.602, 2.564, 2.496, 2.419, 2.349, 2.293, 2.284, 2.284, 2.294, 2.347, 2.421, 2.497, 2.562, 2.603, 2.611, - 2.609, 2.601, 2.564, 2.496, 2.419, 2.349, 2.293, 2.278, 2.278, 2.294, 2.347, 2.421, 2.497, 2.562, 2.602, 2.609, - 2.609, 2.602, 2.568, 2.503, 2.429, 2.361, 2.311, 2.292, 2.292, 2.309, 2.357, 2.429, 2.504, 2.567, 2.602, 2.609, - 2.606, 2.604, 2.579, 2.519, 2.449, 2.384, 2.348, 2.311, 2.311, 2.346, 2.383, 2.449, 2.521, 2.577, 2.604, 2.608, - 2.604, 2.603, 2.586, 2.537, 2.474, 2.418, 2.384, 2.348, 2.348, 2.383, 2.417, 2.476, 2.538, 2.586, 2.601, 2.603, - 2.603, 2.605, 2.596, 2.561, 2.508, 2.474, 2.418, 2.396, 2.396, 2.417, 2.474, 2.511, 2.562, 2.596, 2.603, 2.602, - 2.601, 2.607, 2.606, 2.589, 2.549, 2.507, 2.456, 2.454, 2.454, 2.458, 2.508, 2.554, 2.594, 2.605, 2.605, 2.602 - ] - } - ], - "calibrations_Cb": [ - { - "ct": 3000, - "table": - [ - 3.221, 3.226, 3.231, 3.236, 3.239, 3.243, 3.245, 3.247, 3.249, 3.253, 3.255, 3.254, 3.253, 3.242, 3.235, 3.226, - 3.225, 3.231, 3.235, 3.238, 3.241, 3.244, 3.246, 3.247, 3.249, 3.254, 3.256, 3.255, 3.252, 3.248, 3.241, 3.232, - 3.226, 3.234, 3.239, 3.243, 3.243, 3.245, 3.247, 3.248, 3.251, 3.255, 3.256, 3.256, 3.254, 3.249, 3.244, 3.236, - 3.232, 3.238, 3.245, 3.245, 3.246, 3.247, 3.248, 3.251, 3.251, 3.256, 3.257, 3.257, 3.256, 3.254, 3.249, 3.239, - 3.232, 3.243, 3.246, 3.246, 3.246, 3.247, 3.248, 3.251, 3.253, 3.257, 3.258, 3.258, 3.257, 3.256, 3.254, 3.239, - 3.232, 3.242, 3.246, 3.247, 3.246, 3.246, 3.248, 3.251, 3.252, 3.253, 3.256, 3.255, 3.255, 3.254, 3.251, 3.239, - 3.233, 3.241, 3.244, 3.245, 3.244, 3.245, 3.246, 3.249, 3.251, 3.252, 3.253, 3.252, 3.252, 3.252, 3.249, 3.238, - 3.238, 3.241, 3.246, 3.246, 3.245, 3.245, 3.247, 3.249, 3.251, 3.252, 3.253, 3.253, 3.252, 3.252, 3.249, 3.239, - 3.235, 3.241, 3.245, 3.245, 3.245, 3.245, 3.246, 3.247, 3.251, 3.254, 3.253, 3.255, 3.256, 3.255, 3.251, 3.241, - 3.226, 3.235, 3.241, 3.241, 3.241, 3.241, 3.243, 3.245, 3.246, 3.252, 3.253, 3.254, 3.256, 3.254, 3.241, 3.237, - 3.205, 3.213, 3.213, 3.214, 3.214, 3.214, 3.214, 3.213, 3.213, 3.216, 3.218, 3.216, 3.214, 3.213, 3.211, 3.208, - 3.205, 3.205, 3.212, 3.212, 3.212, 3.213, 3.211, 3.211, 3.211, 3.213, 3.216, 3.214, 3.213, 3.211, 3.208, 3.196 - ] - }, - { - "ct": 5000, - "table": - [ - 1.645, 1.646, 1.649, 1.653, 1.654, 1.657, 1.659, 1.661, 1.663, 1.662, 1.661, 1.659, 1.656, 1.651, 1.645, 1.642, - 1.646, 1.649, 1.652, 1.654, 1.656, 1.659, 1.662, 1.663, 1.664, 1.664, 1.662, 1.661, 1.657, 1.653, 1.649, 1.644, - 1.648, 1.652, 1.654, 1.656, 1.658, 1.662, 1.665, 1.668, 1.668, 1.668, 1.665, 1.662, 1.658, 1.655, 1.652, 1.646, - 1.649, 1.653, 1.656, 1.658, 1.661, 1.665, 1.667, 1.671, 1.673, 1.671, 1.668, 1.663, 1.659, 1.656, 1.654, 1.647, - 1.649, 1.655, 1.657, 1.659, 1.661, 1.666, 1.671, 1.674, 1.675, 1.673, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648, - 1.649, 1.654, 1.656, 1.659, 1.661, 1.666, 1.673, 1.676, 1.676, 1.675, 1.671, 1.664, 1.659, 1.656, 1.654, 1.648, - 1.649, 1.654, 1.656, 1.658, 1.659, 1.665, 1.672, 1.675, 1.675, 1.674, 1.668, 1.662, 1.658, 1.655, 1.654, 1.646, - 1.652, 1.655, 1.657, 1.659, 1.661, 1.665, 1.671, 1.673, 1.673, 1.672, 1.668, 1.662, 1.658, 1.655, 1.654, 1.647, - 1.652, 1.655, 1.657, 1.659, 1.661, 1.664, 1.667, 1.671, 1.672, 1.668, 1.666, 1.662, 1.659, 1.656, 1.654, 1.647, - 1.647, 1.652, 1.655, 1.656, 1.657, 1.661, 1.664, 1.665, 1.665, 1.665, 1.663, 1.661, 1.657, 1.655, 1.647, 1.647, - 1.639, 1.642, 1.644, 1.645, 1.646, 1.648, 1.648, 1.648, 1.649, 1.649, 1.649, 1.646, 1.645, 1.642, 1.639, 1.636, - 1.639, 1.641, 1.642, 1.644, 1.645, 1.646, 1.647, 1.647, 1.648, 1.648, 1.647, 1.645, 1.642, 1.639, 1.636, 1.633 - ] - } - ], - "luminance_lut": - [ - 2.644, 2.396, 2.077, 1.863, 1.682, 1.535, 1.392, 1.382, 1.382, 1.382, 1.515, 1.657, 1.826, 2.035, 2.351, 2.604, - 2.497, 2.229, 1.947, 1.733, 1.539, 1.424, 1.296, 1.249, 1.249, 1.285, 1.401, 1.519, 1.699, 1.908, 2.183, 2.456, - 2.389, 2.109, 1.848, 1.622, 1.424, 1.296, 1.201, 1.146, 1.146, 1.188, 1.285, 1.401, 1.591, 1.811, 2.065, 2.347, - 2.317, 2.026, 1.771, 1.535, 1.339, 1.201, 1.145, 1.069, 1.069, 1.134, 1.188, 1.318, 1.505, 1.734, 1.983, 2.273, - 2.276, 1.972, 1.715, 1.474, 1.281, 1.148, 1.069, 1.033, 1.024, 1.065, 1.134, 1.262, 1.446, 1.679, 1.929, 2.233, - 2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.013, 1.013, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227, - 2.268, 1.941, 1.682, 1.441, 1.251, 1.119, 1.033, 1.001, 1.001, 1.024, 1.105, 1.231, 1.415, 1.649, 1.898, 2.227, - 2.268, 1.951, 1.694, 1.456, 1.265, 1.131, 1.044, 1.026, 1.019, 1.039, 1.118, 1.246, 1.429, 1.663, 1.912, 2.227, - 2.291, 1.992, 1.738, 1.505, 1.311, 1.175, 1.108, 1.044, 1.041, 1.106, 1.161, 1.292, 1.478, 1.707, 1.955, 2.252, - 2.347, 2.058, 1.803, 1.581, 1.384, 1.245, 1.175, 1.108, 1.108, 1.161, 1.239, 1.364, 1.551, 1.773, 2.023, 2.311, - 2.438, 2.156, 1.884, 1.674, 1.484, 1.373, 1.245, 1.199, 1.199, 1.239, 1.363, 1.463, 1.647, 1.858, 2.123, 2.406, - 2.563, 2.305, 1.998, 1.792, 1.615, 1.472, 1.339, 1.322, 1.322, 1.326, 1.456, 1.593, 1.767, 1.973, 2.273, 2.532 - ], - "sigma": 0.00178, - "sigma_Cb": 0.00217 - } - }, - { - "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": 2498, - "ccm": - [ - 1.14912, 0.28638, -0.43551, - -0.49691, 1.60391, -0.10701, - -0.10513, -1.09534, 2.20047 - ] - }, - { - "ct": 2821, - "ccm": - [ - 1.18251, 0.15501, -0.33752, - -0.44304, 1.58495, -0.14191, - -0.05077, -0.96422, 2.01498 - ] - }, - { - "ct": 2925, - "ccm": - [ - 1.18668, 0.00195, -0.18864, - -0.41617, 1.50514, -0.08897, - -0.02675, -0.91143, 1.93818 - ] - }, - { - "ct": 2926, - "ccm": - [ - 1.50948, -0.44421, -0.06527, - -0.37241, 1.41726, -0.04486, - 0.07098, -0.84694, 1.77596 - ] - }, - { - "ct": 2951, - "ccm": - [ - 1.52743, -0.47333, -0.05411, - -0.36485, 1.40764, -0.04279, - 0.08672, -0.90479, 1.81807 - ] - }, - { - "ct": 2954, - "ccm": - [ - 1.51683, -0.46841, -0.04841, - -0.36288, 1.39914, -0.03625, - 0.06421, -0.82034, 1.75613 - ] - }, - { - "ct": 3578, - "ccm": - [ - 1.59888, -0.59105, -0.00784, - -0.29366, 1.32037, -0.02671, - 0.06627, -0.76465, 1.69838 - ] - }, - { - "ct": 3717, - "ccm": - [ - 1.59063, -0.58059, -0.01003, - -0.29583, 1.32715, -0.03132, - 0.03613, -0.67431, 1.63817 - ] - }, - { - "ct": 3784, - "ccm": - [ - 1.59379, -0.58861, -0.00517, - -0.29178, 1.33292, -0.04115, - 0.03541, -0.66162, 1.62622 - ] - }, - { - "ct": 4485, - "ccm": - [ - 1.40761, -0.34561, -0.06201, - -0.32388, 1.57221, -0.24832, - -0.01014, -0.63427, 1.64441 - ] - }, - { - "ct": 4615, - "ccm": - [ - 1.41537, -0.35832, -0.05705, - -0.31429, 1.56019, -0.24591, - -0.01761, -0.61859, 1.63621 - ] - }, - { - "ct": 4671, - "ccm": - [ - 1.42941, -0.38178, -0.04764, - -0.31421, 1.55925, -0.24504, - -0.01141, -0.62987, 1.64129 - ] - }, - { - "ct": 5753, - "ccm": - [ - 1.64549, -0.63329, -0.01221, - -0.22431, 1.36423, -0.13992, - -0.00831, -0.55373, 1.56204 - ] - }, - { - "ct": 5773, - "ccm": - [ - 1.63668, -0.63557, -0.00111, - -0.21919, 1.36234, -0.14315, - -0.00399, -0.57428, 1.57827 - ] - }, - { - "ct": 7433, - "ccm": - [ - 1.36007, -0.09277, -0.26729, - -0.36886, 2.09249, -0.72363, - -0.12573, -0.76761, 1.89334 - ] - }, - { - "ct": 55792, - "ccm": - [ - 1.65091, -0.63689, -0.01401, - -0.22277, 1.35752, -0.13475, - -0.00943, -0.55091, 1.56033 - ] - } - ] - } - }, - { - "rpi.sharpen": { } - }, - { - "rpi.af": - { - "ranges": - { - "normal": - { - "min": 0.0, - "max": 12.0, - "default": 1.0 - }, - "macro": - { - "min": 3.0, - "max": 15.0, - "default": 4.0 - } - }, - "speeds": - { - "normal": - { - "step_coarse": 1.0, - "step_fine": 0.25, - "contrast_ratio": 0.75, - "pdaf_gain": -0.02, - "pdaf_squelch": 0.125, - "max_slew": 2.0, - "pdaf_frames": 20, - "dropout_frames": 6, - "step_frames": 4 - } - }, - "conf_epsilon": 8, - "conf_thresh": 16, - "conf_clip": 512, - "skip_frames": 5, - "map": [ 0.0, 445, 15.0, 925 ] - } - } - ] -} -- cgit v1.2.1