Message ID | 20241124192950.542686-4-geoffrey.vl@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Geoffrey On Sun, Nov 24, 2024 at 08:29:48PM +0100, Geoffrey Van Landeghem wrote: > Add a default tuning file for Sony IMX462 sensor. This tuning file > is a copy of the IMX290 and is added to make the IMX462 sensor > just work without hassle. Note the extra description field to > clarify this is just an interim tuning file untill someone > provides a proper one. > > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Thanks j > --- > src/ipa/rpi/vc4/data/imx462.json | 215 +++++++++++++++++++++++++++++++ > src/ipa/rpi/vc4/data/meson.build | 1 + > 2 files changed, 216 insertions(+) > create mode 100644 src/ipa/rpi/vc4/data/imx462.json > > diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json > new file mode 100644 > index 00000000..40a56842 > --- /dev/null > +++ b/src/ipa/rpi/vc4/data/imx462.json > @@ -0,0 +1,215 @@ > +{ > + "version": 2.0, > + "target": "bcm2835", > + "description": "This is an interim tuning only. Please consider doing a more formal tuning for your application.", > + "algorithms": [ > + { > + "rpi.black_level": > + { > + "black_level": 3840 > + } > + }, > + { > + "rpi.dpc": { } > + }, > + { > + "rpi.lux": > + { > + "reference_shutter_speed": 6813, > + "reference_gain": 1.0, > + "reference_aperture": 1.0, > + "reference_lux": 890, > + "reference_Y": 12900 > + } > + }, > + { > + "rpi.noise": > + { > + "reference_constant": 0, > + "reference_slope": 2.67 > + } > + }, > + { > + "rpi.geq": > + { > + "offset": 187, > + "slope": 0.00842 > + } > + }, > + { > + "rpi.sdn": { } > + }, > + { > + "rpi.awb": > + { > + "bayes": 0 > + } > + }, > + { > + "rpi.agc": > + { > + "speed": 0.2, > + "metering_modes": > + { > + "matrix": > + { > + "weights": > + [ > + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 > + ] > + }, > + "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 > + ] > + } > + }, > + "exposure_modes": > + { > + "normal": > + { > + "shutter": [ 10, 30000, 60000 ], > + "gain": [ 1.0, 2.0, 8.0 ] > + }, > + "short": > + { > + "shutter": [ 10, 5000, 10000, 20000, 120000 ], > + "gain": [ 1.0, 2.0, 4.0, 6.0, 8.0 ] > + }, > + "long": > + { > + "shutter": [ 1000, 30000, 60000, 90000, 120000 ], > + "gain": [ 1.0, 2.0, 4.0, 6.0, 12.0 ] > + } > + }, > + "constraint_modes": > + { > + "normal": [ ], > + "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.16, > + 10000, 0.16 > + ] > + } > + }, > + { > + "rpi.alsc": > + { > + "omega": 1.3, > + "n_iter": 100, > + "luminance_strength": 0.7, > + "luminance_lut": > + [ > + 2.844, 2.349, 2.018, 1.775, 1.599, 1.466, 1.371, 1.321, 1.306, 1.316, 1.357, 1.439, 1.552, 1.705, 1.915, 2.221, > + 2.576, 2.151, 1.851, 1.639, 1.478, 1.358, 1.272, 1.231, 1.218, 1.226, 1.262, 1.335, 1.438, 1.571, 1.766, 2.067, > + 2.381, 2.005, 1.739, 1.545, 1.389, 1.278, 1.204, 1.166, 1.153, 1.161, 1.194, 1.263, 1.356, 1.489, 1.671, 1.943, > + 2.242, 1.899, 1.658, 1.481, 1.329, 1.225, 1.156, 1.113, 1.096, 1.107, 1.143, 1.201, 1.289, 1.423, 1.607, 1.861, > + 2.152, 1.831, 1.602, 1.436, 1.291, 1.193, 1.121, 1.069, 1.047, 1.062, 1.107, 1.166, 1.249, 1.384, 1.562, 1.801, > + 2.104, 1.795, 1.572, 1.407, 1.269, 1.174, 1.099, 1.041, 1.008, 1.029, 1.083, 1.146, 1.232, 1.364, 1.547, 1.766, > + 2.104, 1.796, 1.572, 1.403, 1.264, 1.171, 1.097, 1.036, 1.001, 1.025, 1.077, 1.142, 1.231, 1.363, 1.549, 1.766, > + 2.148, 1.827, 1.594, 1.413, 1.276, 1.184, 1.114, 1.062, 1.033, 1.049, 1.092, 1.153, 1.242, 1.383, 1.577, 1.795, > + 2.211, 1.881, 1.636, 1.455, 1.309, 1.214, 1.149, 1.104, 1.081, 1.089, 1.125, 1.184, 1.273, 1.423, 1.622, 1.846, > + 2.319, 1.958, 1.698, 1.516, 1.362, 1.262, 1.203, 1.156, 1.137, 1.142, 1.171, 1.229, 1.331, 1.484, 1.682, 1.933, > + 2.459, 2.072, 1.789, 1.594, 1.441, 1.331, 1.261, 1.219, 1.199, 1.205, 1.232, 1.301, 1.414, 1.571, 1.773, 2.052, > + 2.645, 2.206, 1.928, 1.728, 1.559, 1.451, 1.352, 1.301, 1.282, 1.289, 1.319, 1.395, 1.519, 1.685, 1.904, 2.227 > + ], > + "sigma": 0.005, > + "sigma_Cb": 0.005 > + } > + }, > + { > + "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.sharpen": { } > + }, > + { > + "rpi.ccm": > + { > + "ccms": [ > + { > + "ct": 3900, > + "ccm": > + [ > + 1.54659, -0.17707, -0.36953, > + -0.51471, 1.72733, -0.21262, > + 0.06667, -0.92279, 1.85612 > + ] > + } > + ] > + } > + } > + ] > +} > \ No newline at end of file > diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build > index 8c34a1a5..6b4d443f 100644 > --- a/src/ipa/rpi/vc4/data/meson.build > +++ b/src/ipa/rpi/vc4/data/meson.build > @@ -8,6 +8,7 @@ conf_files = files([ > 'imx296.json', > 'imx296_mono.json', > 'imx378.json', > + 'imx462.json', > 'imx477.json', > 'imx477_noir.json', > 'imx477_scientific.json', > -- > 2.43.0 >
diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json new file mode 100644 index 00000000..40a56842 --- /dev/null +++ b/src/ipa/rpi/vc4/data/imx462.json @@ -0,0 +1,215 @@ +{ + "version": 2.0, + "target": "bcm2835", + "description": "This is an interim tuning only. Please consider doing a more formal tuning for your application.", + "algorithms": [ + { + "rpi.black_level": + { + "black_level": 3840 + } + }, + { + "rpi.dpc": { } + }, + { + "rpi.lux": + { + "reference_shutter_speed": 6813, + "reference_gain": 1.0, + "reference_aperture": 1.0, + "reference_lux": 890, + "reference_Y": 12900 + } + }, + { + "rpi.noise": + { + "reference_constant": 0, + "reference_slope": 2.67 + } + }, + { + "rpi.geq": + { + "offset": 187, + "slope": 0.00842 + } + }, + { + "rpi.sdn": { } + }, + { + "rpi.awb": + { + "bayes": 0 + } + }, + { + "rpi.agc": + { + "speed": 0.2, + "metering_modes": + { + "matrix": + { + "weights": + [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + ] + }, + "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 + ] + } + }, + "exposure_modes": + { + "normal": + { + "shutter": [ 10, 30000, 60000 ], + "gain": [ 1.0, 2.0, 8.0 ] + }, + "short": + { + "shutter": [ 10, 5000, 10000, 20000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 8.0 ] + }, + "long": + { + "shutter": [ 1000, 30000, 60000, 90000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 12.0 ] + } + }, + "constraint_modes": + { + "normal": [ ], + "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.16, + 10000, 0.16 + ] + } + }, + { + "rpi.alsc": + { + "omega": 1.3, + "n_iter": 100, + "luminance_strength": 0.7, + "luminance_lut": + [ + 2.844, 2.349, 2.018, 1.775, 1.599, 1.466, 1.371, 1.321, 1.306, 1.316, 1.357, 1.439, 1.552, 1.705, 1.915, 2.221, + 2.576, 2.151, 1.851, 1.639, 1.478, 1.358, 1.272, 1.231, 1.218, 1.226, 1.262, 1.335, 1.438, 1.571, 1.766, 2.067, + 2.381, 2.005, 1.739, 1.545, 1.389, 1.278, 1.204, 1.166, 1.153, 1.161, 1.194, 1.263, 1.356, 1.489, 1.671, 1.943, + 2.242, 1.899, 1.658, 1.481, 1.329, 1.225, 1.156, 1.113, 1.096, 1.107, 1.143, 1.201, 1.289, 1.423, 1.607, 1.861, + 2.152, 1.831, 1.602, 1.436, 1.291, 1.193, 1.121, 1.069, 1.047, 1.062, 1.107, 1.166, 1.249, 1.384, 1.562, 1.801, + 2.104, 1.795, 1.572, 1.407, 1.269, 1.174, 1.099, 1.041, 1.008, 1.029, 1.083, 1.146, 1.232, 1.364, 1.547, 1.766, + 2.104, 1.796, 1.572, 1.403, 1.264, 1.171, 1.097, 1.036, 1.001, 1.025, 1.077, 1.142, 1.231, 1.363, 1.549, 1.766, + 2.148, 1.827, 1.594, 1.413, 1.276, 1.184, 1.114, 1.062, 1.033, 1.049, 1.092, 1.153, 1.242, 1.383, 1.577, 1.795, + 2.211, 1.881, 1.636, 1.455, 1.309, 1.214, 1.149, 1.104, 1.081, 1.089, 1.125, 1.184, 1.273, 1.423, 1.622, 1.846, + 2.319, 1.958, 1.698, 1.516, 1.362, 1.262, 1.203, 1.156, 1.137, 1.142, 1.171, 1.229, 1.331, 1.484, 1.682, 1.933, + 2.459, 2.072, 1.789, 1.594, 1.441, 1.331, 1.261, 1.219, 1.199, 1.205, 1.232, 1.301, 1.414, 1.571, 1.773, 2.052, + 2.645, 2.206, 1.928, 1.728, 1.559, 1.451, 1.352, 1.301, 1.282, 1.289, 1.319, 1.395, 1.519, 1.685, 1.904, 2.227 + ], + "sigma": 0.005, + "sigma_Cb": 0.005 + } + }, + { + "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.sharpen": { } + }, + { + "rpi.ccm": + { + "ccms": [ + { + "ct": 3900, + "ccm": + [ + 1.54659, -0.17707, -0.36953, + -0.51471, 1.72733, -0.21262, + 0.06667, -0.92279, 1.85612 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build index 8c34a1a5..6b4d443f 100644 --- a/src/ipa/rpi/vc4/data/meson.build +++ b/src/ipa/rpi/vc4/data/meson.build @@ -8,6 +8,7 @@ conf_files = files([ 'imx296.json', 'imx296_mono.json', 'imx378.json', + 'imx462.json', 'imx477.json', 'imx477_noir.json', 'imx477_scientific.json',
Add a default tuning file for Sony IMX462 sensor. This tuning file is a copy of the IMX290 and is added to make the IMX462 sensor just work without hassle. Note the extra description field to clarify this is just an interim tuning file untill someone provides a proper one. Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com> --- src/ipa/rpi/vc4/data/imx462.json | 215 +++++++++++++++++++++++++++++++ src/ipa/rpi/vc4/data/meson.build | 1 + 2 files changed, 216 insertions(+) create mode 100644 src/ipa/rpi/vc4/data/imx462.json