@@ -1,6 +1,7 @@
# SPDX-License-Identifier: CC0-1.0
conf_files = files([
+ 'ov01a10.yaml',
'uncalibrated.yaml',
])
new file mode 100644
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: CC0-1.0
+%YAML 1.1
+---
+version: 1
+algorithms:
+ # Black level is not specified in the AIQB calibration binary; auto-detected
+ # from the histogram dark end at runtime.
+ - BlackLevel:
+ - Awb:
+ maxGainR: 2.5
+ maxGainB: 3.2
+ speed: 0.25
+ - Ccm:
+ ccms:
+ - ct: 2856
+ ccm: [ 1.1248, 0.2210, -0.3458,
+ -0.4616, 1.7736, -0.3120,
+ -0.4342, -0.9348, 2.3690 ]
+ - ct: 3000
+ ccm: [ 1.5839, -0.4188, -0.1650,
+ -0.3670, 1.6565, -0.2895,
+ -0.1213, -1.0442, 2.1655 ]
+ - ct: 3450
+ ccm: [ 1.6411, -0.5127, -0.1284,
+ -0.3680, 1.6337, -0.2657,
+ -0.1384, -1.0869, 2.2253 ]
+ - ct: 4000
+ ccm: [ 1.5414, -0.4024, -0.1390,
+ -0.3304, 1.6352, -0.3048,
+ -0.1237, -0.6699, 1.7936 ]
+ - ct: 4150
+ ccm: [ 1.7334, -0.6629, -0.0706,
+ -0.3121, 1.6267, -0.3146,
+ -0.0920, -0.9183, 2.0103 ]
+ - ct: 5000
+ ccm: [ 1.5015, -0.3165, -0.1850,
+ -0.2277, 1.6190, -0.3913,
+ -0.0699, -0.7285, 1.7984 ]
+ - ct: 6500
+ ccm: [ 1.8163, -0.7062, -0.1100,
+ -0.1640, 1.5736, -0.4096,
+ -0.0084, -0.8294, 1.8378 ]
+ - ct: 7500
+ ccm: [ 1.8953, -0.7980, -0.0973,
+ -0.1539, 1.6001, -0.4462,
+ -0.0101, -0.7800, 1.7902 ]
+ - Adjust:
+ gamma: 2.2
+ contrast: 1.0
+ saturation: 1.0
+ - Agc:
+ exposureTarget: 1.4
+ hysteresis: 0.5
+ stepDenominator: 20
+...
Add tuning data for the OmniVision OV01A10 sensor, calibrated from the factory-supplied Intel IPU6 AIQB binary (ov01a_1BG101N3_MTL.aiqb) shipped with the Dell XPS 9320 (Meteor Lake). The AIQB binary was parsed with some custom scripts to extract: - 8 colour correction matrices spanning 2856K-7500K (Incandescent to D75), all with rows summing to 1.0 (luminance-preserving) - AWB neutral locus: 9 achromatic R/G, B/G points defining the sensor's white balance response across illuminants - Sensor properties: 1280x800, 10-bit, GBRG colour order, base ISO 43 - Noise model: read noise variance 7.5e-5, shot noise slope 0.187 The AWB gain limits (maxGainR: 2.5, maxGainB: 3.2) are derived from the maximum gains required to neutralise the warmest and coolest illuminants in the locus, with 10% headroom. Signed-off-by: d3vv3 <devve.3@gmail.com> --- It was a best effort file before, but now I have extracted the actual tuning data from the AIQB binary, so update the commit message and add the new YAML file. I could not extract the black level from the AIQB binary, so leave it as auto-detected at runtime. As for the each row of the CCMs summing to 1.0, you are absolutely right. I add a test on a patch, before we start adding more tuning files. src/ipa/simple/data/meson.build | 1 + src/ipa/simple/data/ov01a10.yaml | 55 ++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 src/ipa/simple/data/ov01a10.yaml