[libcamera-devel] [PATCH 3/3] ipa: rpi: vc4: Add OV64A40 tuning files
David Plowman
david.plowman at raspberrypi.com
Tue Nov 28 17:42:15 CET 2023
Hi everyone
Thanks for this tuning file. I think I discussed with folks on Github
already and this looks the same, so:
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Thanks
David
On Tue, 14 Nov 2023 at 10:21, Jacopo Mondi via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> From: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> Provide the OV64A40 tuning files for the Arducam Omnivision camera
> module to operate on the VC4 ISP architecture on Raspberry Pi 4 and
> below.
>
> Signed-off-by: Lee Jackson <lee.jackson at arducam.com>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
> ---
> src/ipa/rpi/vc4/data/meson.build | 1 +
> src/ipa/rpi/vc4/data/ov64a40.json | 422 ++++++++++++++++++++++++++++++
> 2 files changed, 423 insertions(+)
> create mode 100644 src/ipa/rpi/vc4/data/ov64a40.json
>
> diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build
> index bcf5658ba5d2..0bc79c43772f 100644
> --- a/src/ipa/rpi/vc4/data/meson.build
> +++ b/src/ipa/rpi/vc4/data/meson.build
> @@ -17,6 +17,7 @@ conf_files = files([
> 'imx708_wide_noir.json',
> 'ov5647.json',
> 'ov5647_noir.json',
> + 'ov64a40.json',
> 'ov9281_mono.json',
> 'se327m12.json',
> 'uncalibrated.json',
> diff --git a/src/ipa/rpi/vc4/data/ov64a40.json b/src/ipa/rpi/vc4/data/ov64a40.json
> new file mode 100644
> index 000000000000..096f0b1e698f
> --- /dev/null
> +++ b/src/ipa/rpi/vc4/data/ov64a40.json
> @@ -0,0 +1,422 @@
> +{
> + "version": 2.0,
> + "target": "bcm2835",
> + "algorithms": [
> + {
> + "rpi.black_level":
> + {
> + "black_level": 4096
> + }
> + },
> + {
> + "rpi.dpc": { }
> + },
> + {
> + "rpi.lux":
> + {
> + "reference_shutter_speed": 17861,
> + "reference_gain": 2.0,
> + "reference_aperture": 1.0,
> + "reference_lux": 1073,
> + "reference_Y": 9022
> + }
> + },
> + {
> + "rpi.noise":
> + {
> + "reference_constant": 0,
> + "reference_slope": 2.984
> + }
> + },
> + {
> + "rpi.geq":
> + {
> + "offset": 215,
> + "slope": 0.01121
> + }
> + },
> + {
> + "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
> + },
> + },
> + "bayes": 1,
> + "ct_curve":
> + [
> + 2300.0, 1.0522, 0.4091,
> + 2700.0, 0.7884, 0.4327,
> + 3000.0, 0.7597, 0.4421,
> + 4000.0, 0.5972, 0.5404,
> + 4150.0, 0.5598, 0.5779,
> + 6500.0, 0.4388, 0.7582
> + ],
> + "sensitivity_r": 1.0,
> + "sensitivity_b": 1.0,
> + "transverse_pos": 0.0558,
> + "transverse_neg": 0.04278
> + }
> + },
> + {
> + "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": 6500,
> + "table":
> + [
> + 2.437, 2.415, 2.392, 2.378, 2.369, 2.353, 2.344, 2.336, 2.329, 2.325, 2.325, 2.325, 2.333, 2.344, 2.366, 2.381,
> + 2.434, 2.405, 2.386, 2.369, 2.361, 2.334, 2.314, 2.302, 2.295, 2.289, 2.289, 2.303, 2.327, 2.334, 2.356, 2.378,
> + 2.434, 2.405, 2.385, 2.363, 2.334, 2.314, 2.289, 2.277, 2.269, 2.262, 2.262, 2.283, 2.303, 2.328, 2.352, 2.375,
> + 2.434, 2.405, 2.385, 2.348, 2.315, 2.289, 2.277, 2.258, 2.251, 2.242, 2.249, 2.258, 2.283, 2.321, 2.352, 2.375,
> + 2.434, 2.413, 2.385, 2.343, 2.311, 2.282, 2.258, 2.251, 2.229, 2.233, 2.242, 2.251, 2.281, 2.321, 2.356, 2.375,
> + 2.437, 2.418, 2.388, 2.343, 2.311, 2.282, 2.251, 2.229, 2.221, 2.226, 2.233, 2.251, 2.281, 2.322, 2.361, 2.381,
> + 2.444, 2.422, 2.393, 2.351, 2.314, 2.284, 2.251, 2.227, 2.221, 2.227, 2.234, 2.256, 2.287, 2.326, 2.366, 2.389,
> + 2.445, 2.424, 2.395, 2.353, 2.316, 2.287, 2.266, 2.251, 2.228, 2.234, 2.251, 2.259, 2.289, 2.331, 2.371, 2.395,
> + 2.445, 2.424, 2.399, 2.364, 2.329, 2.308, 2.287, 2.266, 2.259, 2.254, 2.259, 2.283, 2.304, 2.343, 2.375, 2.395,
> + 2.445, 2.425, 2.407, 2.385, 2.364, 2.329, 2.308, 2.299, 2.291, 2.284, 2.284, 2.304, 2.335, 2.354, 2.381, 2.399,
> + 2.449, 2.427, 2.418, 2.407, 2.385, 2.364, 2.349, 2.338, 2.333, 2.326, 2.326, 2.335, 2.354, 2.374, 2.389, 2.408,
> + 2.458, 2.441, 2.427, 2.411, 2.403, 2.395, 2.391, 2.383, 2.375, 2.369, 2.369, 2.369, 2.369, 2.385, 2.408, 2.418
> + ]
> + }
> + ],
> + "calibrations_Cb": [
> + {
> + "ct": 6500,
> + "table":
> + [
> + 1.297, 1.297, 1.289, 1.289, 1.289, 1.291, 1.293, 1.294, 1.294, 1.294, 1.294, 1.296, 1.298, 1.304, 1.312, 1.313,
> + 1.297, 1.289, 1.286, 1.286, 1.287, 1.289, 1.292, 1.294, 1.294, 1.294, 1.294, 1.294, 1.296, 1.298, 1.306, 1.312,
> + 1.289, 1.286, 1.283, 1.283, 1.285, 1.287, 1.291, 1.294, 1.294, 1.292, 1.291, 1.289, 1.293, 1.294, 1.298, 1.304,
> + 1.283, 1.282, 1.279, 1.281, 1.282, 1.285, 1.287, 1.294, 1.294, 1.291, 1.289, 1.289, 1.289, 1.293, 1.294, 1.298,
> + 1.281, 1.279, 1.279, 1.279, 1.281, 1.283, 1.287, 1.292, 1.292, 1.291, 1.291, 1.289, 1.289, 1.291, 1.294, 1.297,
> + 1.279, 1.277, 1.277, 1.279, 1.281, 1.282, 1.286, 1.289, 1.291, 1.291, 1.291, 1.291, 1.289, 1.291, 1.293, 1.297,
> + 1.277, 1.275, 1.275, 1.278, 1.279, 1.281, 1.284, 1.287, 1.289, 1.291, 1.291, 1.291, 1.289, 1.289, 1.292, 1.297,
> + 1.277, 1.275, 1.274, 1.275, 1.277, 1.278, 1.279, 1.284, 1.285, 1.285, 1.286, 1.288, 1.289, 1.289, 1.292, 1.297,
> + 1.277, 1.272, 1.272, 1.274, 1.274, 1.277, 1.279, 1.282, 1.284, 1.284, 1.285, 1.286, 1.288, 1.289, 1.292, 1.297,
> + 1.277, 1.272, 1.272, 1.273, 1.274, 1.276, 1.279, 1.282, 1.284, 1.284, 1.286, 1.286, 1.288, 1.289, 1.293, 1.297,
> + 1.279, 1.272, 1.271, 1.272, 1.274, 1.276, 1.279, 1.283, 1.284, 1.284, 1.285, 1.286, 1.288, 1.291, 1.294, 1.299,
> + 1.281, 1.274, 1.271, 1.271, 1.273, 1.276, 1.278, 1.282, 1.284, 1.284, 1.285, 1.286, 1.286, 1.291, 1.295, 1.302
> + ]
> + }
> + ],
> + "luminance_lut":
> + [
> + 3.811, 3.611, 3.038, 2.632, 2.291, 2.044, 1.967, 1.957, 1.957, 1.957, 2.009, 2.222, 2.541, 2.926, 3.455, 3.652,
> + 3.611, 3.135, 2.636, 2.343, 2.044, 1.846, 1.703, 1.626, 1.626, 1.671, 1.796, 1.983, 2.266, 2.549, 3.007, 3.455,
> + 3.135, 2.781, 2.343, 2.044, 1.831, 1.554, 1.411, 1.337, 1.337, 1.379, 1.502, 1.749, 1.983, 2.266, 2.671, 3.007,
> + 2.903, 2.538, 2.149, 1.831, 1.554, 1.401, 1.208, 1.145, 1.145, 1.183, 1.339, 1.502, 1.749, 2.072, 2.446, 2.801,
> + 2.812, 2.389, 2.018, 1.684, 1.401, 1.208, 1.139, 1.028, 1.028, 1.109, 1.183, 1.339, 1.604, 1.939, 2.309, 2.723,
> + 2.799, 2.317, 1.948, 1.606, 1.327, 1.139, 1.028, 1.019, 1.001, 1.021, 1.109, 1.272, 1.531, 1.869, 2.246, 2.717,
> + 2.799, 2.317, 1.948, 1.606, 1.327, 1.139, 1.027, 1.006, 1.001, 1.007, 1.109, 1.272, 1.531, 1.869, 2.246, 2.717,
> + 2.799, 2.372, 1.997, 1.661, 1.378, 1.184, 1.118, 1.019, 1.012, 1.103, 1.158, 1.326, 1.589, 1.926, 2.302, 2.717,
> + 2.884, 2.507, 2.116, 1.795, 1.511, 1.361, 1.184, 1.118, 1.118, 1.158, 1.326, 1.461, 1.726, 2.056, 2.434, 2.799,
> + 3.083, 2.738, 2.303, 1.989, 1.783, 1.511, 1.361, 1.291, 1.291, 1.337, 1.461, 1.726, 1.942, 2.251, 2.657, 2.999,
> + 3.578, 3.083, 2.589, 2.303, 1.989, 1.783, 1.637, 1.563, 1.563, 1.613, 1.743, 1.942, 2.251, 2.537, 2.999, 3.492,
> + 3.764, 3.578, 2.999, 2.583, 2.237, 1.986, 1.913, 1.905, 1.905, 1.905, 1.962, 2.196, 2.525, 2.932, 3.492, 3.659
> + ],
> + "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.ccm":
> + {
> + "ccms": [
> + {
> + "ct": 2300,
> + "ccm":
> + [
> + 1.77644, -0.14825, -0.62819,
> + -0.25816, 1.66348, -0.40532,
> + -0.21633, -1.95132, 3.16765
> + ]
> + },
> + {
> + "ct": 2700,
> + "ccm":
> + [
> + 1.53605, 0.03047, -0.56652,
> + -0.27159, 1.78525, -0.51366,
> + -0.13581, -1.22128, 2.35709
> + ]
> + },
> + {
> + "ct": 3000,
> + "ccm":
> + [
> + 1.72928, -0.18819, -0.54108,
> + -0.44398, 2.04756, -0.60358,
> + -0.13203, -0.94711, 2.07913
> + ]
> + },
> + {
> + "ct": 4000,
> + "ccm":
> + [
> + 1.69895, -0.23055, -0.46841,
> + -0.33934, 1.80391, -0.46456,
> + -0.13902, -0.75385, 1.89287
> + ]
> + },
> + {
> + "ct": 4150,
> + "ccm":
> + [
> + 2.08494, -0.68698, -0.39796,
> + -0.37928, 1.78795, -0.40867,
> + -0.11537, -0.74686, 1.86223
> + ]
> + },
> + {
> + "ct": 6500,
> + "ccm":
> + [
> + 1.69813, -0.27304, -0.42509,
> + -0.23364, 1.87586, -0.64221,
> + -0.07587, -0.62348, 1.69935
> + ]
> + }
> + ]
> + }
> + },
> + {
> + "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": 0,
> + "dropout_frames": 0,
> + "step_frames": 4
> + }
> + },
> + "conf_epsilon": 8,
> + "conf_thresh": 16,
> + "conf_clip": 512,
> + "skip_frames": 5,
> + "map": [ 0.0, 0, 15.0, 1023 ]
> + }
> + }
> + ]
> +}
> \ No newline at end of file
> --
> 2.41.0
>
More information about the libcamera-devel
mailing list