1 /* -*- C++ -*-
2 * Copyright 2019-2021 LibRaw LLC (info@libraw.org)
3 *
4 LibRaw uses code from dcraw.c -- Dave Coffin's raw photo decoder,
5 dcraw.c is copyright 1997-2018 by Dave Coffin, dcoffin a cybercom o net.
6 LibRaw do not use RESTRICTED code from dcraw.c
7
8 LibRaw is free software; you can redistribute it and/or modify
9 it under the terms of the one of two licenses as you choose:
10
11 1. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
12 (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
13
14 2. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
15 (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
16
17 */
18
19 #include "../../internal/dcraw_defs.h"
20
21 /*
22 All matrices are from Adobe DNG Converter unless otherwise noted.
23 */
adobe_coeff(unsigned make_idx,const char * t_model,int internal_only)24 int LibRaw::adobe_coeff(unsigned make_idx, const char *t_model,
25 int internal_only)
26 {
27 // clang-format off
28 static const struct
29 {
30 unsigned m_idx;
31 const char *prefix;
32 int t_black, t_maximum, trans[12];
33 } table[] = {
34 { LIBRAW_CAMERAMAKER_Agfa, "DC-833m", 0, 0,
35 { 11438,-3762,-1115,-2409,9914,2497,-1227,2295,5300 } }, /* DJC */
36
37 { LIBRAW_CAMERAMAKER_Apple, "QuickTake", 0, 0,
38 { 21392,-5653,-3353,2406,8010,-415,7166,1427,2078 } }, /* DJC */
39
40 { LIBRAW_CAMERAMAKER_Broadcom, "RPi IMX219", 66, 0x3ff,
41 { 5302,1083,-728,-5320,14112,1699,-863,2371,5136 } }, /* LibRaw */
42 { LIBRAW_CAMERAMAKER_Broadcom, "RPi OV5647", 16, 0x3ff,
43 { 12782,-4059,-379,-478,9066,1413,1340,1513,5176 } }, /* DJC */
44 { LIBRAW_CAMERAMAKER_Broadcom, "Pi", 16, 0x3ff,
45 { 12782,-4059,-379,-478,9066,1413,1340,1513,5176 } }, /* DJC */
46
47 #ifdef USE_6BY9RPI // this code normalizes model to LIBRAW_CAMERAMAKER_RaspberryPi
48 { LIBRAW_CAMERAMAKER_RaspberryPi, "RP_imx477", 0, 0, // Do not set black, it is set at parser to 256 or 64
49 { 5603, -1351, -600, -2872, 11180, 2132, 600, 453, 5821 } }, /* PyDNG */
50 { LIBRAW_CAMERAMAKER_RaspberryPi, "RP_imx", 66, 0x3ff,
51 { 5302,1083,-728,-5320,14112,1699,-863,2371,5136 } }, /* LibRaw */
52 { LIBRAW_CAMERAMAKER_RaspberryPi, "ov5647", 16, 0x3ff,
53 { 12782,-4059,-379,-478,9066,1413,1340,1513,5176 } }, /* DJC */
54 #endif
55 { LIBRAW_CAMERAMAKER_Canon, "EOS D30", 0, 0,
56 { 9900,-2771,-1324,-7072,14229,3140,-2790,3344,8861 } },
57 { LIBRAW_CAMERAMAKER_Canon, "EOS D60", 0, 0xfa0,
58 { 6211,-1358,-896,-8557,15766,3012,-3001,3507,8567 } },
59 { LIBRAW_CAMERAMAKER_Canon, "EOS 5DS", 0, 0x3c96, // same CMs: 5DS, "5DS R" */
60 { 6250,-711,-808,-5153,12794,2636,-1249,2198,5610 } }, // v.2
61 { LIBRAW_CAMERAMAKER_Canon, "EOS 5D Mark IV", 0, 0,
62 { 6446,-366,-864,-4436,12204,2513,-952,2496,6348 } },
63 { LIBRAW_CAMERAMAKER_Canon, "EOS 5D Mark III", 0, 0x3c80,
64 { 6722,-635,-963,-4287,12460,2028,-908,2162,5668 } },
65 { LIBRAW_CAMERAMAKER_Canon, "EOS 5D Mark II", 0, 0x3cf0,
66 { 4716,603,-830,-7798,15474,2480,-1496,1937,6651 } },
67 { LIBRAW_CAMERAMAKER_Canon, "EOS 5D", 0, 0xe6c,
68 { 6347,-479,-972,-8297,15954,2480,-1968,2131,7649 } },
69 { LIBRAW_CAMERAMAKER_Canon, "EOS 6D Mark II", 0, 0x38de,
70 { 6875,-970,-932,-4691,12459,2501,-874,1953,5809 } },
71 { LIBRAW_CAMERAMAKER_Canon, "EOS 6D", 0, 0x3c82,
72 { 7034,-804,-1014,-4420,12564,2058,-851,1994,5758 } },
73 { LIBRAW_CAMERAMAKER_Canon, "EOS 77D", 0, 0,
74 { 7377,-742,-998,-4235,11981,2549,-673,1918,5538 } },
75 { LIBRAW_CAMERAMAKER_Canon, "EOS 7D Mark II", 0, 0x3510,
76 { 7268,-1082,-969,-4186,11839,2663,-825,2029,5839 } },
77 { LIBRAW_CAMERAMAKER_Canon, "EOS 7D", 0, 0x3510,
78 { 6844,-996,-856,-3876,11761,2396,-593,1772,6198 } },
79 { LIBRAW_CAMERAMAKER_Canon, "EOS 850D", 0, 0,
80 { 9079,-1923,-1236,-4677,12454,2492,-922,2319,5565}},
81 { LIBRAW_CAMERAMAKER_Canon, "EOS 800D", 0, 0,
82 { 6970,-512,-968,-4425,12161,2553,-739,1982,5601 } },
83 { LIBRAW_CAMERAMAKER_Canon, "EOS 80D", 0, 0,
84 { 7457,-671,-937,-4849,12495,2643,-1213,2354,5492 } },
85 { LIBRAW_CAMERAMAKER_Canon, "EOS 10D", 0, 0xfa0,
86 { 8250,-2044,-1127,-8092,15606,2664,-2893,3453,8348 } },
87 { LIBRAW_CAMERAMAKER_Canon, "EOS 250D", 0, 0,
88 { 9079,-1923,-1236,-4677,12454,2492,-922,2319,5565 } },
89 { LIBRAW_CAMERAMAKER_Canon, "EOS 200D", 0, 0,
90 { 7377,-742,-998,-4235,11981,2549,-673,1918,5538 } },
91 { LIBRAW_CAMERAMAKER_Canon, "EOS 20Da", 0, 0,
92 { 14155,-5065,-1382,-6550,14633,2039,-1623,1824,6561 } },
93 { LIBRAW_CAMERAMAKER_Canon, "EOS 20D", 0, 0xfff,
94 { 6599,-537,-891,-8071,15783,2424,-1983,2234,7462 } },
95 { LIBRAW_CAMERAMAKER_Canon, "EOS 30D", 0, 0,
96 { 6257,-303,-1000,-7880,15621,2396,-1714,1904,7046 } },
97 { LIBRAW_CAMERAMAKER_Canon, "EOS 40D", 0, 0x3f60,
98 { 6071,-747,-856,-7653,15365,2441,-2025,2553,7315 } },
99 { LIBRAW_CAMERAMAKER_Canon, "EOS 50D", 0, 0x3d93,
100 { 4920,616,-593,-6493,13964,2784,-1774,3178,7005 } },
101 { LIBRAW_CAMERAMAKER_Canon, "EOS 60Da", 0, 0x2ff7,
102 { 17492,-7240,-2023,-1791,10323,1701,-186,1329,5406 } },
103 { LIBRAW_CAMERAMAKER_Canon, "EOS 60D", 0, 0x2ff7,
104 { 6719,-994,-925,-4408,12426,2211,-887,2129,6051 } },
105 { LIBRAW_CAMERAMAKER_Canon, "EOS 70D", 0, 0x3bc7,
106 { 7034,-804,-1014,-4420,12564,2058,-851,1994,5758 } },
107 { LIBRAW_CAMERAMAKER_Canon, "EOS 100D", 0, 0x350f,
108 { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
109 { LIBRAW_CAMERAMAKER_Canon, "EOS 300D", 0, 0xfa0,
110 { 8250,-2044,-1127,-8092,15606,2664,-2893,3453,8348 } },
111 { LIBRAW_CAMERAMAKER_Canon, "EOS 350D", 0, 0xfff,
112 { 6018,-617,-965,-8645,15881,2975,-1530,1719,7642 } },
113 { LIBRAW_CAMERAMAKER_Canon, "EOS 3000D", 0, 0,
114 { 6939,-1016,-866,-4428,12473,2177,-1175,2178,6162 } },
115 { LIBRAW_CAMERAMAKER_Canon, "EOS 400D", 0, 0xe8e,
116 { 7054,-1501,-990,-8156,15544,2812,-1278,1414,7796 } },
117 { LIBRAW_CAMERAMAKER_Canon, "EOS 450D", 0, 0x390d,
118 { 5784,-262,-821,-7539,15064,2672,-1982,2681,7427 } },
119 { LIBRAW_CAMERAMAKER_Canon, "EOS 500D", 0, 0x3479,
120 { 4763,712,-646,-6821,14399,2640,-1921,3276,6561 } },
121 { LIBRAW_CAMERAMAKER_Canon, "EOS 550D", 0, 0x3dd7,
122 { 6941,-1164,-857,-3825,11597,2534,-416,1540,6039 } },
123 { LIBRAW_CAMERAMAKER_Canon, "EOS 600D", 0, 0x3510,
124 { 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } },
125 { LIBRAW_CAMERAMAKER_Canon, "EOS 650D", 0, 0x354d,
126 { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
127 { LIBRAW_CAMERAMAKER_Canon, "EOS 750D", 0, 0x3c00,
128 { 6362,-823,-847,-4426,12109,2616,-743,1857,5635 } },
129 { LIBRAW_CAMERAMAKER_Canon, "EOS 760D", 0, 0x3c00,
130 { 6362,-823,-847,-4426,12109,2616,-743,1857,5635 } },
131 { LIBRAW_CAMERAMAKER_Canon, "EOS 700D", 0, 0x3c00,
132 { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
133 { LIBRAW_CAMERAMAKER_Canon, "EOS 90D", 0, 0,
134 { 11498, -3759, -1516, -5073, 12954, 2349, -892, 1867, 6118}},
135 { LIBRAW_CAMERAMAKER_Canon, "EOS 1000D", 0, 0xe43,
136 { 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } },
137 { LIBRAW_CAMERAMAKER_Canon, "EOS 1100D", 0, 0x3510,
138 { 6444,-904,-893,-4563,12308,2535,-903,2016,6728 } },
139 { LIBRAW_CAMERAMAKER_Canon, "EOS 1200D", 0, 0x37c2,
140 { 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } },
141 { LIBRAW_CAMERAMAKER_Canon, "EOS 1300D", 0, 0x37c2,
142 { 6939,-1016,-866,-4428,12473,2177,-1175,2178,6162 } },
143 { LIBRAW_CAMERAMAKER_Canon, "EOS 1500D", 0, 0,
144 { 8300,-2110,-1120,-4917,12694,2482,-938,2141,5666 } }, // v.2
145
146 { LIBRAW_CAMERAMAKER_Canon, "EOS RP", 0, 0,
147 { 8608,-2097,-1178,-5425,13265,2383,-1149,2238,5680 } },
148 { LIBRAW_CAMERAMAKER_Canon, "EOS R5", 0, 0,
149 { 9766,-2953,-1254,-4276,12116,2433,-437,1336,5131 } },
150 { LIBRAW_CAMERAMAKER_Canon, "EOS R6", 0, 0,
151 { 8293,-1611,-1132,-4759,12711,2275,-1013,2415,5509 } },
152 { LIBRAW_CAMERAMAKER_Canon, "EOS R", 0, 0,
153 { 8293,-1789,-1094,-5025,12925,2327,-1199,2769,6108 } }, // v.2
154
155 { LIBRAW_CAMERAMAKER_Canon, "EOS M6 Mark II", 0, 0,
156 { 11498,-3759,-1516,-5073,12954,2349,-892,1867,6118 } },
157 { LIBRAW_CAMERAMAKER_Canon, "EOS M6", 0, 0,
158 { 8532,-701,-1167,-4095,11879,2508,-797,2424,7010 } },
159 { LIBRAW_CAMERAMAKER_Canon, "EOS M50 Mark II", 0, 0,
160 { 10463,-2173,-1437,-4856,12635,2482,-1216,2915,7237 } },
161 { LIBRAW_CAMERAMAKER_Canon, "EOS M50", 0, 0,
162 { 8532,-701,-1167,-4095,11879,2508,-797,2424,7010 } },
163 { LIBRAW_CAMERAMAKER_Canon, "EOS M5", 0, 0,
164 { 8532,-701,-1167,-4095,11879,2508,-797,2424,7010 } },
165 { LIBRAW_CAMERAMAKER_Canon, "EOS M3", 0, 0,
166 { 6362,-823,-847,-4426,12109,2616,-743,1857,5635 } },
167 { LIBRAW_CAMERAMAKER_Canon, "EOS M200", 0, 0,
168 { 10463,-2173,-1437,-4856,12635,2482,-1216,2915,7237 } },
169 { LIBRAW_CAMERAMAKER_Canon, "EOS M2", 0, 0,
170 { 6400,-480,-888,-5294,13416,2047,-1296,2203,6137 } },
171 { LIBRAW_CAMERAMAKER_Canon, "EOS M100", 0, 0,
172 { 8532,-701,-1167,-4095,11879,2508,-797,2424,7010 } },
173 { LIBRAW_CAMERAMAKER_Canon, "EOS M10", 0, 0,
174 { 6400,-480,-888,-5294,13416,2047,-1296,2203,6137 } },
175 { LIBRAW_CAMERAMAKER_Canon, "EOS M", 0, 0,
176 { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
177
178 { LIBRAW_CAMERAMAKER_Canon, "EOS-1Ds Mark III", 0, 0x3bb0,
179 { 5859,-211,-930,-8255,16017,2353,-1732,1887,7448 } },
180 { LIBRAW_CAMERAMAKER_Canon, "EOS-1Ds Mark II", 0, 0xe80,
181 { 6517,-602,-867,-8180,15926,2378,-1618,1771,7633 } },
182 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D Mark IV", 0, 0x3bb0,
183 { 6014,-220,-795,-4109,12014,2361,-561,1824,5787 } },
184 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D Mark III", 0, 0x3bb0,
185 { 6291,-540,-976,-8350,16145,2311,-1714,1858,7326 } },
186 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D Mark II N", 0, 0xe80,
187 { 6240,-466,-822,-8180,15825,2500,-1801,1938,8042 } },
188 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D Mark II", 0, 0xe80,
189 { 6264,-582,-724,-8312,15948,2504,-1744,1919,8664 } },
190 { LIBRAW_CAMERAMAKER_Canon, "EOS-1Ds", 0, 0xe20,
191 { 3925,4060,-1739,-8973,16552,2545,-3287,3945,8243 } },
192 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D C", 0, 0x3c4e,
193 { 6847,-614,-1014,-4669,12737,2139,-1197,2488,6846 } },
194 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D X Mark III", 0, 0,
195 { 8971, -2022, -1242, -5405, 13249, 2380, -1280, 2483, 6072}},
196 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D X Mark II", 0, 0x3c4e,
197 { 7596,-978,-967,-4808,12571,2503,-1398,2567,5752 } },
198 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D X", 0, 0x3c4e,
199 { 6847,-614,-1014,-4669,12737,2139,-1197,2488,6846 } },
200 { LIBRAW_CAMERAMAKER_Canon, "EOS-1D", 0, 0xe20,
201 { 6806,-179,-1020,-8097,16415,1687,-3267,4236,7690 } },
202 { LIBRAW_CAMERAMAKER_Canon, "EOS C500", 853, 0,
203 { 17851,-10604,922,-7425,16662,763,-3660,3636,22278 } }, /* DJC */
204
205 { LIBRAW_CAMERAMAKER_Canon, "IXUS 160", 0, 0,
206 { 11657,-3781,-1136,-3544,11262,2283,-160,1219,4700 } }, /* DJC */
207 {LIBRAW_CAMERAMAKER_Canon, "PowerShot 600", 0, 0,
208 { -3822,10019,1311,4085,-157,3386,-5341,10829,4812,-1969,10969,1126 } },
209
210 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A3300 IS", 0, 0,
211 { 10826,-3654,-1023,-3215,11310,1906,0,999,4960 } }, /* DJC */
212 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A460", 0, 0,
213 { 6493,-2338,-885,-1589,5934,697,-445,1368,2543 } }, // CHDK
214 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A470", 0, 0,
215 { 12513,-4407,-1242,-2680,10276,2405,-878,2215,4734 } }, /* DJC */
216 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A530", 0, 0,
217 { 7252,-2405,-1223,-2102,6560,523,-112,704,3007 } }, // CHDK
218 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A50", 0, 0,
219 { -6233,10706,1825,3260,821,3980,-6512,10745,6287,-2539,12232,262 } },
220 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A5", 0, 0,
221 { -5707,10308,2002,2662,1829,4139,-6265,11063,6033,-2659,11911,593 } },
222 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A610", 0, 0,
223 { 15591,-6402,-1592,-5365,13198,2168,-1300,1824,5075 } }, /* DJC */
224 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A620", 0, 0,
225 { 15265,-6193,-1558,-4125,12116,2010,-888,1639,5220 } }, /* DJC */
226 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A630", 0, 0,
227 { 14201,-5308,-1757,-6087,14472,1617,-2191,3105,5348 } }, /* DJC */
228 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A640", 0, 0,
229 { 13124,-5329,-1390,-3602,11658,1944,-1612,2863,4885 } }, /* DJC */
230 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A650 IS", 0, 0,
231 { 9427,-3036,-959,-2581,10671,1911,-1039,1982,4430 } }, /* DJC */
232 { LIBRAW_CAMERAMAKER_Canon, "PowerShot A720 IS", 0, 0,
233 { 14573,-5482,-1546,-1266,9799,1468,-1040,1912,3810 } }, /* DJC */
234
235 { LIBRAW_CAMERAMAKER_Canon, "PowerShot D10", 127, 0,
236 { 14052,-5229,-1156,-1325,9420,2252,-498,1957,4116 } }, /* DJC */
237
238 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G10", 0, 0,
239 { 11093,-3906,-1028,-5047,12492,2879,-1003,1750,5561 } },
240 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G11", 0, 0,
241 { 12177,-4817,-1069,-1612,9864,2049,-98,850,4471 } },
242 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G12", 0, 0,
243 { 13244,-5501,-1248,-1508,9858,1935,-270,1083,4366 } },
244 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G15", 0, 0,
245 { 7474,-2301,-567,-4056,11456,2975,-222,716,4181 } },
246 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G16", 0, 0,
247 { 8020,-2687,-682,-3704,11879,2052,-965,1921,5556 } },
248 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G1 X Mark III", 0, 0,
249 { 8532,-701,-1167,-4095,11879,2508,-797,2424,7010 } },
250 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G1 X Mark II", 0, 0,
251 { 7378,-1255,-1043,-4088,12251,2048,-876,1946,5805 } },
252 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G1 X", 0, 0,
253 { 7378,-1255,-1043,-4088,12251,2048,-876,1946,5805 } },
254 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G1", 0, 0,
255 { -5686,10300,2223,4725,-1157,4383,-6128,10783,6163,-2688,12093,604 } },
256 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G2", 0, 0,
257 { 9194,-2787,-1059,-8098,15657,2608,-2610,3064,7867 } },
258 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G3 X", 0, 0,
259 { 9701,-3857,-921,-3149,11537,1817,-786,1817,5147 } },
260 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G3", 0, 0,
261 { 9326,-2882,-1084,-7940,15447,2677,-2620,3090,7740 } },
262 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G5 X Mark II",0, 0,
263 { 11629, -5713, -914, -2706, 11090, 1842, -206, 1225, 5515 } },
264 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G5 X",0, 0,
265 { 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 } },
266 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G5", 0, 0,
267 { 9869,-2972,-942,-7314,15098,2369,-1898,2536,7282 } },
268 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G6", 0, 0,
269 { 9876,-3774,-871,-7613,14807,3071,-1448,1305,7485 } },
270 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G7 X Mark III", 0, 0,
271 { 11629, -5713, -914, -2706, 11090, 1842, -206, 1225, 5515 } },
272 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G7 X Mark II", 0, 0,
273 { 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 } },
274 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G7 X", 0, 0,
275 { 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 } },
276 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G9 X Mark II", 0, 0,
277 { 10056,-4131,-944,-2576,11143,1625,-238,1294,5179 } },
278 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G9 X",0, 0,
279 { 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 } },
280 { LIBRAW_CAMERAMAKER_Canon, "PowerShot G9", 0, 0,
281 { 7368,-2141,-598,-5621,13254,2625,-1418,1696,5743 } },
282
283 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S2 IS", 0, 0,
284 { 5477,-1435,-992,-1868,6639,510,-58,792,2670 } }, // CHDK
285 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S3 IS", 0, 0,
286 { 14062,-5199,-1446,-4712,12470,2243,-1286,2028,4836 } }, /* DJC */
287 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S30", 0, 0,
288 { 10744,-3813,-1142,-7962,15966,2075,-2492,2805,7744 } },
289 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S40", 0, 0,
290 { 8606,-2573,-949,-8237,15489,2974,-2649,3076,9100 } },
291 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S45", 0, 0, // +
292 { 8251,-2410,-964,-8047,15430,2823,-2380,2824,8119 } },
293 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S50", 0, 0,
294 { 8979,-2658,-871,-7721,15500,2357,-1773,2366,6634 } },
295 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S60", 0, 0,
296 { 8794,-2482,-797,-7804,15403,2572,-1422,1996,7083 } },
297 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S70", 0, 0,
298 { 9976,-3810,-832,-7115,14463,2906,-901,989,7889 } },
299 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S90", 0, 0,
300 { 12374,-5016,-1049,-1677,9902,2078,-83,852,4683 } },
301 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S95", 0, 0,
302 { 13440,-5896,-1279,-1236,9598,1931,-180,1001,4651 } },
303 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S120", 0, 0,
304 { 6961,-1685,-695,-4625,12945,1836,-1114,2152,5518 } },
305 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S110", 0, 0,
306 { 8039,-2643,-654,-3783,11230,2930,-206,690,4194 } },
307 { LIBRAW_CAMERAMAKER_Canon, "PowerShot S100", 0, 0,
308 { 7968,-2565,-636,-2873,10697,2513,180,667,4211 } },
309
310 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SD300", 0, 0,
311 { 6526,-1720,-1075,-1390,5945,602,-90,820,2380 } }, // CHDK
312
313 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX1 IS", 0, 0,
314 { 6578,-259,-502,-5974,13030,3309,-308,1058,4970 } },
315 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX20 IS", 0, 0,
316 { 8275,-2904,-1260,-128,5305,505,51,481,2450 } }, // CHDK
317 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX30 IS", 0, 0,
318 { 13014,-4698,-1026,-2001,9615,2386,-164,1423,3759 } }, // CHDK
319 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX40 HS", 0, 0,
320 { 54480,-17404,-8039,-7505,44044,1136,-580,7158,11891 } }, // CHDK
321 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX50 HS", 0, 0,
322 { 12432,-4753,-1247,-2110,10691,1629,-412,1623,4926 } },
323 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX60 HS", 0, 0,
324 { 13161,-5451,-1344,-1989,10654,1531,-47,1271,4955 } },
325 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX70 HS", 0, 0,
326 { 18285,-8907,-1951,-1845,10688,1323,364,1101,5139 } },
327 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX110 IS", 0, 0,
328 { 14134,-5576,-1527,-1991,10719,1273,-1158,1929,3581 } }, /* DJC */
329 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX120 IS", 0, 0,
330 { 7286,-2242,-1047,41,4401,457,269,684,1864 } }, // CHDK
331 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX220 HS", 0, 0,
332 { 13898,-5076,-1447,-1405,10109,1297,-244,1860,3687 } }, /* DJC */
333 { LIBRAW_CAMERAMAKER_Canon, "PowerShot SX710 HS", 0, 0,
334 { 13161,-5451,-1344,-1989,10654,1531,-47,1271,4955 } },
335
336 { LIBRAW_CAMERAMAKER_Canon, "PowerShot Pro1", 0, 0,
337 { 10062,-3522,-1000,-7643,15117,2730,-765,817,7322 } },
338 { LIBRAW_CAMERAMAKER_Canon, "PowerShot Pro70", 34, 0,
339 { -5106,10695,1576,3820,53,4566,-6497,10736,6701,-3336,11887,1394 } },
340 { LIBRAW_CAMERAMAKER_Canon, "PowerShot Pro90", 0, 0,
341 { -5912,10768,2288,4612,-989,4333,-6153,10897,5944,-2907,12288,624 } },
342
343 { LIBRAW_CAMERAMAKER_Casio, "EX-F1", 0, 0,
344 { 9084,-2016,-848,-6711,14351,2570,-1059,1725,6135 } },
345 { LIBRAW_CAMERAMAKER_Casio, "EX-FH100", 0, 0,
346 { 12771,-4179,-1558,-2149,10938,1375,-453,1751,4494 } },
347 { LIBRAW_CAMERAMAKER_Casio, "EX-S20", 0, 0,
348 { 11634,-3924,-1128,-4968,12954,2015,-1588,2648,7206 } }, /* DJC */
349 { LIBRAW_CAMERAMAKER_Casio, "EX-Z750", 0, 0,
350 { 10819,-3873,-1099,-4903,13730,1175,-1755,3751,4632 } }, /* DJC */
351 { LIBRAW_CAMERAMAKER_Casio, "EX-Z10", 128, 0xfff,
352 { 9790,-3338,-603,-2321,10222,2099,-344,1273,4799 } }, /* DJC */
353
354 { LIBRAW_CAMERAMAKER_CINE, "650", 0, 0,
355 { 3390,480,-500,-800,3610,340,-550,2336,1192 } },
356 { LIBRAW_CAMERAMAKER_CINE, "660", 0, 0,
357 { 3390,480,-500,-800,3610,340,-550,2336,1192 } },
358 { LIBRAW_CAMERAMAKER_CINE, "", 0, 0, /* empty camera name*/
359 { 20183,-4295,-423,-3940,15330,3985,-280,4870,9800 } },
360
361 { LIBRAW_CAMERAMAKER_Contax, "N Digital", 0, 0xf1e,
362 { 7777,1285,-1053,-9280,16543,2916,-3677,5679,7060 } },
363
364 { LIBRAW_CAMERAMAKER_DXO, "ONE", 0, 0,
365 { 6596,-2079,-562,-4782,13016,1933,-970,1581,5181 } },
366
367 { LIBRAW_CAMERAMAKER_Epson, "R-D1", 0, 0, // same CMs: R-D1, R-D1s, R-D1x
368 { 6827,-1878,-732,-8429,16012,2564,-704,592,7145 } },
369
370 { LIBRAW_CAMERAMAKER_Fujifilm, "DBP for GX680", -128, 0x0fff,
371 { 12741,-4916,-1420,-8510,16791,1715,-1767,2302,7771 } }, /* temp, copy from S2Pro */
372
373 { LIBRAW_CAMERAMAKER_Fujifilm, "E550", 0, 0,
374 { 11044,-3888,-1120,-7248,15167,2208,-1531,2276,8069 } },
375 { LIBRAW_CAMERAMAKER_Fujifilm, "E900", 0, 0,
376 { 9183,-2526,-1078,-7461,15071,2574,-2022,2440,8639 } },
377 { LIBRAW_CAMERAMAKER_Fujifilm, "F5", 0, 0, // F500EXR/F505EXR; F550EXR
378 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
379 { LIBRAW_CAMERAMAKER_Fujifilm, "F6", 0, 0, // F600EXR/F605EXR; F660EXR
380 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
381 { LIBRAW_CAMERAMAKER_Fujifilm, "F77", 0, 0xfe9, // F770EXR/F775EXR
382 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
383 { LIBRAW_CAMERAMAKER_Fujifilm, "F7", 0, 0, // same CMs: F700, F710EXR
384 { 10004,-3219,-1201,-7036,15047,2107,-1863,2565,7736 } },
385 { LIBRAW_CAMERAMAKER_Fujifilm, "F810", 0, 0,
386 { 11044,-3888,-1120,-7248,15167,2208,-1531,2276,8069 } },
387 { LIBRAW_CAMERAMAKER_Fujifilm, "F8", 0, 0, // F800EXR
388 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
389 { LIBRAW_CAMERAMAKER_Fujifilm, "F900EXR", 0, 0,
390 { 12085,-4727,-953,-3257,11489,2002,-511,2046,4592 } },
391
392 { LIBRAW_CAMERAMAKER_Fujifilm, "GFX 100", 0, 0, // same CMs: "GFX 100", "GFX 100S"/"GFX100S", "GFX 100 IR"
393 { 16212,-8423,-1583,-4336,12583,1937,-195,726,6199 } },
394 { LIBRAW_CAMERAMAKER_Fujifilm, "GFX 50", 0, 0, // same CMs: "GFX 50S", "GFX 50R", "GFX 50S II"
395 { 11756,-4754,-874,-3056,11045,2305,-381,1457,6006 } },
396
397 { LIBRAW_CAMERAMAKER_Fujifilm, "HS10", 0, 0xf68,
398 { 12440,-3954,-1183,-1123,9674,1708,-83,1614,4086 } },
399 { LIBRAW_CAMERAMAKER_Fujifilm, "HS2", 0, 0, // HS20EXR/HS22EXR
400 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
401 { LIBRAW_CAMERAMAKER_Fujifilm, "HS3", 0, 0, // HS30EXR/HS33EXR/HS35EXR
402 { 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
403 { LIBRAW_CAMERAMAKER_Fujifilm, "HS50EXR", 0, 0,
404 { 12085,-4727,-953,-3257,11489,2002,-511,2046,4592 } },
405
406 { LIBRAW_CAMERAMAKER_Fujifilm, "IS-1", 0, 0,
407 { 21461,-10807,-1441,-2332,10599,1999,289,875,7703 } },
408 { LIBRAW_CAMERAMAKER_Fujifilm, "IS Pro", 0, 0,
409 { 12300,-5110,-1304,-9117,17143,1998,-1947,2448,8100 } },
410
411 { LIBRAW_CAMERAMAKER_Fujifilm, "S5000", 0, 0,
412 { 8754,-2732,-1019,-7204,15069,2276,-1702,2334,6982 } },
413 { LIBRAW_CAMERAMAKER_Fujifilm, "S5100", 0, 0,
414 { 11940,-4431,-1255,-6766,14428,2542,-993,1165,7421 } },
415 { LIBRAW_CAMERAMAKER_Fujifilm, "S5200", 0, 0, // S5200/S5600
416 { 9636,-2804,-988,-7442,15040,2589,-1803,2311,8621 } },
417 { LIBRAW_CAMERAMAKER_Fujifilm, "S6", 0, 0, // S6000fd/S6500fd
418 { 12628,-4887,-1401,-6861,14996,1962,-2198,2782,7091 } },
419 { LIBRAW_CAMERAMAKER_Fujifilm, "S7000", 0, 0,
420 { 10190,-3506,-1312,-7153,15051,2238,-2003,2399,7505 } },
421 { LIBRAW_CAMERAMAKER_Fujifilm, "S9000", 0, 0, // S9000/S9500
422 { 10491,-3423,-1145,-7385,15027,2538,-1809,2275,8692 } },
423 { LIBRAW_CAMERAMAKER_Fujifilm, "S9100", 0, 0, // S9100/S9600
424 { 12343,-4515,-1285,-7165,14899,2435,-1895,2496,8800 } },
425
426 { LIBRAW_CAMERAMAKER_Fujifilm, "S100FS", -514, 0,
427 { 11521,-4355,-1065,-6524,13767,3058,-1466,1984,6045 } },
428
429 { LIBRAW_CAMERAMAKER_Fujifilm, "S20Pro", 0, 0,
430 { 10004,-3219,-1201,-7036,15047,2107,-1863,2565,7736 } },
431 { LIBRAW_CAMERAMAKER_Fujifilm, "S20", -512, 0x3fff, // S200EXR/S205EXR
432 { 11401,-4498,-1312,-5088,12751,2613,-838,1568,5941 } },
433
434 { LIBRAW_CAMERAMAKER_Fujifilm, "SL1000", 0, 0,
435 { 11705,-4262,-1107,-2282,10791,1709,-555,1713,4945 } },
436
437 { LIBRAW_CAMERAMAKER_Fujifilm, "S1", 0, 0,
438 { 12297,-4882,-1202,-2106,10691,1623,-88,1312,4790 } },
439 { LIBRAW_CAMERAMAKER_Fujifilm, "S2Pro", -128, 0,
440 { 12741,-4916,-1420,-8510,16791,1715,-1767,2302,7771 } },
441 { LIBRAW_CAMERAMAKER_Fujifilm, "S3Pro", 0, 0,
442 { 11807,-4612,-1294,-8927,16968,1988,-2120,2741,8006 } },
443 { LIBRAW_CAMERAMAKER_Fujifilm, "S5Pro", 0, 0,
444 { 12300,-5110,-1304,-9117,17143,1998,-1947,2448,8100 } },
445
446 { LIBRAW_CAMERAMAKER_Fujifilm, "X100F", 0, 0,
447 { 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 } },
448 { LIBRAW_CAMERAMAKER_Fujifilm, "X100S", 0, 0,
449 { 10592,-4262,-1008,-3514,11355,2465,-870,2025,6386 } },
450 { LIBRAW_CAMERAMAKER_Fujifilm, "X100T", 0, 0,
451 { 10592,-4262,-1008,-3514,11355,2465,-870,2025,6386 } },
452 { LIBRAW_CAMERAMAKER_Fujifilm, "X100V", 0, 0,
453 { 13426,-6334,-1177,-4244,12136,2371,580,1303,5980 } },
454 { LIBRAW_CAMERAMAKER_Fujifilm, "X100", 0, 0,
455 { 12161,-4457,-1069,-5034,12874,2400,-795,1724,6904 } },
456
457 { LIBRAW_CAMERAMAKER_Fujifilm, "X10", 0, 0,
458 { 13509,-6199,-1254,-4430,12733,1865,-331,1441,5022 } },
459 { LIBRAW_CAMERAMAKER_Fujifilm, "X20", 0, 0,
460 { 11768,-4971,-1133,-4904,12927,2183,-480,1723,4605 } },
461 { LIBRAW_CAMERAMAKER_Fujifilm, "X30", 0, 0,
462 { 12328,-5256,-1144,-4469,12927,1675,-87,1291,4351 } },
463 { LIBRAW_CAMERAMAKER_Fujifilm, "X70", 0, 0,
464 { 10450,-4329,-878,-3217,11105,2421,-752,1758,6519 } },
465
466 { LIBRAW_CAMERAMAKER_Fujifilm, "XF10", 0, 0,
467 { 11673,-4760,-1041,-3988,12058,2166,-771,1417,5569 } },
468 { LIBRAW_CAMERAMAKER_Fujifilm, "XF1", 0, 0,
469 { 13509,-6199,-1254,-4430,12733,1865,-331,1441,5022 } },
470
471 { LIBRAW_CAMERAMAKER_Fujifilm, "XQ", 0, 0, // same CMs: XQ1, XQ2
472 { 9252,-2704,-1064,-5893,14265,1717,-1101,2341,4349 } },
473
474 { LIBRAW_CAMERAMAKER_Fujifilm, "X-Pro1", 0, 0,
475 { 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 } },
476 { LIBRAW_CAMERAMAKER_Fujifilm, "X-Pro2", 0, 0,
477 { 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 } },
478 { LIBRAW_CAMERAMAKER_Fujifilm, "X-Pro3", 0, 0,
479 { 13426,-6334,-1177,-4244,12136,2371,580,1303,5980 } },
480
481 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A10", 0, 0,
482 { 11540,-4999,-991,-2949,10963,2278,-382,1049,5605} },
483 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A20", 0, 0,
484 { 11540,-4999,-991,-2949,10963,2278,-382,1049,5605} },
485 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A1", 0, 0,
486 { 11086,-4555,-839,-3512,11310,2517,-815,1341,5940 } },
487 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A2", 0, 0,
488 { 10763,-4560,-917,-3346,11311,2322,-475,1135,5843 } },
489 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A3", 0, 0,
490 { 12407,-5222,-1086,-2971,11116,2120,-294,1029,5284 } },
491 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A5", 0, 0,
492 { 11673,-4760,-1041,-3988,12058,2166,-771,1417,5569 } },
493 { LIBRAW_CAMERAMAKER_Fujifilm, "X-A7", 0, 0,
494 { 15055,-7391,-1274,-4062,12071,2238,-610,1217,6147 } },
495 { LIBRAW_CAMERAMAKER_Fujifilm, "X-E1", 0, 0,
496 { 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 } },
497 { LIBRAW_CAMERAMAKER_Fujifilm, "X-E2S", 0, 0,
498 { 11562,-5118,-961,-3022,11007,2311,-525,1569,6097 } },
499 { LIBRAW_CAMERAMAKER_Fujifilm, "X-E2", 0, 0,
500 { 8458,-2451,-855,-4597,12447,2407,-1475,2482,6526 } },
501 { LIBRAW_CAMERAMAKER_Fujifilm, "X-E3", 0, 0,
502 { 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 } },
503 { LIBRAW_CAMERAMAKER_Fujifilm, "X-E4", 0, 0,
504 { 13426, -6334, -1177, -4244, 12136, 2371, -580, 1303, 5980 } },
505 { LIBRAW_CAMERAMAKER_Fujifilm, "X-H1", 0, 0,
506 { 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 } },
507 { LIBRAW_CAMERAMAKER_Fujifilm, "X-M1", 0, 0,
508 { 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 } },
509 { LIBRAW_CAMERAMAKER_Fujifilm, "X-S10", 0, 0,
510 { 13426,-6334,-1177,-4244,12136,2371,-580,1303,5980 } },
511 { LIBRAW_CAMERAMAKER_Fujifilm, "X-S1", 0, 0,
512 { 13509,-6199,-1254,-4430,12733,1865,-331,1441,5022 } },
513
514 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T100", 0, 0,
515 { 11673,-4760,-1041,-3988,12058,2166,-771,1417,5569 } },
516 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T1", 0, 0, /* same CMs: X-T1, "X-T1IR", "X-T1 IR", X-T10 */
517 { 8458,-2451,-855,-4597,12447,2407,-1475,2482,6526 } },
518 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T200", 0, 0,
519 { 15055,-7391,-1274,-4062,12071,2238,-610,1217,6147 } },
520 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T2", 0, 0, // same CMs: X-T2, X-T20
521 { 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 } },
522 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T3", 0, 0, // same CMs: X-T3, X-T30
523 { 13426,-6334,-1177,-4244,12136,2371,580,1303,5980 } }, // v.2
524 { LIBRAW_CAMERAMAKER_Fujifilm, "X-T4", 0, 0,
525 { 13426,-6334,-1177,-4244,12136,2371,580,1303,5980 } },
526
527 { LIBRAW_CAMERAMAKER_GITUP, "G3DUO", 130, 62000,
528 { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } },
529
530 { LIBRAW_CAMERAMAKER_GITUP, "GIT2P", 4160, 0,
531 { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } },
532 { LIBRAW_CAMERAMAKER_GITUP, "GIT2", 3200, 0,
533 { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } },
534
535 { LIBRAW_CAMERAMAKER_GoPro, "HERO5 Black", 0, 0,
536 { 10344,-4210,-620,-2315,10625,1948,93,1058,5541 } },
537
538 {LIBRAW_CAMERAMAKER_Hasselblad, "L1D-20c", 0, 0,
539 { 7310, -2746, -646, -2991, 10847, 2469, 163, 585, 6324}},
540
541 { LIBRAW_CAMERAMAKER_Hasselblad, "16-Uncoated-3FR", 0, 0,
542 { 8519, -3260, -280, -5081, 13459, 1738, -1449, 2960, 7809}},
543 { LIBRAW_CAMERAMAKER_Hasselblad, "16-Uncoated-FFF", 0, 0,
544 { 8068, -2959, -108, -5788, 13608, 2389, -1002, 2237, 8162}},
545 { LIBRAW_CAMERAMAKER_Hasselblad, "16-Uncoated", 0, 0,
546 { 8519, -3260, -280, -5081, 13459, 1738, -1449, 2960, 7809}},
547
548 { LIBRAW_CAMERAMAKER_Hasselblad, "22-Uncoated-3FR", 0, 0,
549 { 8523, -3257, -280, -5078, 13458, 1743, -1449, 2961, 7809}},
550 { LIBRAW_CAMERAMAKER_Hasselblad, "22-Uncoated-FFF", 0, 0,
551 { 8068, -2959, -108, -5788, 13608, 2389, -1002, 2237, 8162}},
552 { LIBRAW_CAMERAMAKER_Hasselblad, "22-Uncoated", 0, 0,
553 { 8519, -3260, -280, -5081, 13459, 1738, -1449, 2960, 7809}},
554
555 {LIBRAW_CAMERAMAKER_Hasselblad, "31-Uncoated-FFF", 0, 0,
556 { 5155, -1201, 200, -5841, 13197, 2950, -1101, 2317, 6988}},
557 {LIBRAW_CAMERAMAKER_Hasselblad, "31-Uncoated", 0, 0,
558 { 5458, -1448, 145, -4479, 12338, 2401, -1659, 3086, 6710}},
559
560 {LIBRAW_CAMERAMAKER_Hasselblad, "39-Uncoated-3FR", 0, 0,
561 { 3904, -100, 262, -4318, 12407, 2128, -1598, 3594, 6233}},
562 {LIBRAW_CAMERAMAKER_Hasselblad, "39-Uncoated-FFF", 0, 0,
563 { 4739, -932, 295, -4829, 12220, 2952, -1027, 2341, 7083}},
564 {LIBRAW_CAMERAMAKER_Hasselblad, "39-Uncoated", 0, 0,
565 { 3894, -110, 287, -4672, 12610, 2295, -2092, 4100, 6196}},
566
567 { LIBRAW_CAMERAMAKER_Hasselblad, "39-Coated-3FR", 0, 0,
568 { 5427, -1147, 173, -3834, 12073, 1969, -1444, 3320, 5621}},
569 { LIBRAW_CAMERAMAKER_Hasselblad, "39-Coated-FFF", 0, 0,
570 { 5323, -1233, 399, -4926, 12362, 2894, -856, 2471, 5961}},
571 { LIBRAW_CAMERAMAKER_Hasselblad, "39-Coated", 0, 0,
572 { 3857, 452, -46, -6008, 14477, 1596, -2627, 4481, 5718}},
573
574 {LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated5-3FR", 0, 0,
575 { 7014, -2067, -540, -4821, 13016, 1980, -1663, 3089, 6940}},
576 {LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated5-FFF", 0, 0,
577 { 5963, -1357, -172, -5439, 12762, 3007, -964, 2222, 7172}},
578 {LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated5", 0, 0,
579 { 6159, -1402, -177, -5439, 12762, 3007, -955, 2200, 7104}},
580
581 { LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated-3FR", 0, 0,
582 { 6550, -1681, -399, -4626, 12598, 2257, -1807, 3354, 6486}},
583 { LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated-FFF", 0, 0,
584 { 6041, -1375, -174, -5439, 10000, 3007, -930, 2145, 6923}},
585 { LIBRAW_CAMERAMAKER_Hasselblad, "40-Coated", 0, 0,
586 { 6159, -1402, -177, -5439, 12762, 3007, -955, 2200, 7104}},
587
588 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated5-3FR", 0, 0,
589 { 5707, -693, -382, -4285, 12669, 1773, -1615, 3519, 5410}},
590 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated5-FFF", 0, 0,
591 { 5263, -612, 39, -4950, 12426, 2843, -935, 2423, 5941}},
592 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated5", 0, 0,
593 { 5656, -659, -346, -3923, 12306, 1791, -1602, 3509, 5442}},
594
595 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated-3FR", 0, 0,
596 { 5656, -659, -346, -3923, 12305, 1790, -1602, 3509, 5442}},
597 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated-FFF", 0, 0,
598 { 5280, -614, 39, -4950, 12426, 2843, -939, 2434, 5968}},
599 { LIBRAW_CAMERAMAKER_Hasselblad, "50-Coated", 0, 0,
600 { 5656, -659, -346, -3923, 12306, 1791, -1602, 3509, 5442}},
601
602 { LIBRAW_CAMERAMAKER_Hasselblad, "50-15-Coated5-II-3FR", 0, 0,
603 { 10887, -6152, 1034, -3564, 12412, 4224, 63, 626, 10123}},
604 { LIBRAW_CAMERAMAKER_Hasselblad, "50-15-Coated5-II-FFF", 0, 0,
605 { 4932, -835, 141, -4878, 11868, 3437, -1138, 1961, 7067}},
606 { LIBRAW_CAMERAMAKER_Hasselblad, "50-15-Coated5-II", 0, 0,
607 { 8737, -4937, 830, -2860, 9961, 3390, 51, 502, 8124}},
608
609 { LIBRAW_CAMERAMAKER_Hasselblad, "50-15-Coated5", 0, 0,
610 { 4932,-835,141,-4878,11868,3437,-1138,1961,7067 } },
611
612 { LIBRAW_CAMERAMAKER_Hasselblad, "60-Coated-3FR", 0, 0,
613 { 9296, 336, -1088, -6442, 14323, 2289, -1433, 2942, 5756}},
614 { LIBRAW_CAMERAMAKER_Hasselblad, "60-Coated", 0, 0,
615 { 9662, -684, -279, -4903, 12293, 2950, -344, 1669, 6024}},
616
617 { LIBRAW_CAMERAMAKER_Hasselblad, "100-17-Coated5", 0, 0,
618 { 5110, -1357, -308, -5573, 12835, 3077, -1279, 2025, 7010}},
619
620 { LIBRAW_CAMERAMAKER_HTC, "One A9", 64, 1023,
621 { 101,-20,-2,-11,145,41,-24,1,56 } }, /* this is FM1 transposed */
622
623 { LIBRAW_CAMERAMAKER_Imacon, "Ixpress", 0, 0,
624 { 7025,-1415,-704,-5188,13765,1424,-1248,2742,6038 } }, /* DJC */
625
626 { LIBRAW_CAMERAMAKER_Kodak, "NC2000", 0, 0, // AP Nikon
627 { 13891,-6055,-803,-465,9919,642,2121,82,1291 } },
628 { LIBRAW_CAMERAMAKER_Kodak, "DCS315C", -8, 0,
629 { 17523,-4827,-2510,756,8546,-137,6113,1649,2250 } },
630 { LIBRAW_CAMERAMAKER_Kodak, "DCS330C", -8, 0,
631 { 20620,-7572,-2801,-103,10073,-396,3551,-233,2220 } },
632 { LIBRAW_CAMERAMAKER_Kodak, "DCS420", 0, 0,
633 { 10868,-1852,-644,-1537,11083,484,2343,628,2216 } },
634 { LIBRAW_CAMERAMAKER_Kodak, "DCS46", 0, 0, // same CM as EOSDCS1 and DCS465 DB
635 { 10592,-2206,-967,-1944,11685,230,2206,670,1273 } },
636 { LIBRAW_CAMERAMAKER_Kodak, "DCS520C", -178, 0, // same CamID: DCS520C, "EOS D2000C"
637 { 24542,-10860,-3401,-1490,11370,-297,2858,-605,3225 } },
638 { LIBRAW_CAMERAMAKER_Kodak, "DCS560C", -177, 0, // same CamID: DCS560C, "EOS D6000C"
639 { 20482,-7172,-3125,-1033,10410,-285,2542,226,3136 } },
640 { LIBRAW_CAMERAMAKER_Kodak, "DCS620C", -177, 0,
641 { 23617,-10175,-3149,-2054,11749,-272,2586,-489,3453 } },
642 { LIBRAW_CAMERAMAKER_Kodak, "DCS620X", -176, 0,
643 { 13095,-6231,154,12221,-21,-2137,895,4602,2258 } },
644 { LIBRAW_CAMERAMAKER_Kodak, "DCS660C", -173, 0,
645 { 18244,-6351,-2739,-791,11193,-521,3711,-129,2802 } },
646 { LIBRAW_CAMERAMAKER_Kodak, "DCS720X", 0, 0,
647 { 11775,-5884,950,9556,1846,-1286,-1019,6221,2728 } },
648 { LIBRAW_CAMERAMAKER_Kodak, "DCS760C", 0, 0,
649 { 16623,-6309,-1411,-4344,13923,323,2285,274,2926 } },
650 { LIBRAW_CAMERAMAKER_Kodak, "DCS Pro SLR", 0, 0,
651 { 5494,2393,-232,-6427,13850,2846,-1876,3997,5445 } },
652 { LIBRAW_CAMERAMAKER_Kodak, "DCS Pro 14nx", 0, 0,
653 { 5494,2393,-232,-6427,13850,2846,-1876,3997,5445 } },
654 { LIBRAW_CAMERAMAKER_Kodak, "DCS Pro 14", 0, 0, // same CamID: "DCS Pro 14N", "Photo Control Camerz ZDS 14"
655 { 7791,3128,-776,-8588,16458,2039,-2455,4006,6198 } },
656 { LIBRAW_CAMERAMAKER_Kodak, "EOSDCS1", 0, 0,
657 { 10592,-2206,-967,-1944,11685,230,2206,670,1273 } },
658 { LIBRAW_CAMERAMAKER_Kodak, "EOSDCS3", 0, 0,
659 { 9898,-2700,-940,-2478,12219,206,1985,634,1031 } },
660 { LIBRAW_CAMERAMAKER_Kodak, "ProBack645", 0, 0,
661 { 16414,-6060,-1470,-3555,13037,473,2545,122,4948 } },
662 { LIBRAW_CAMERAMAKER_Kodak, "ProBack", 0, 0,
663 { 21179,-8316,-2918,-915,11019,-165,3477,-180,4210 } },
664
665 {LIBRAW_CAMERAMAKER_Kodak, "PIXPRO AZ901", 0, 0, // dng
666 { 21875, -8006, -2558, 634, 8194, 1104, 1535, 951, 6969}},
667 { LIBRAW_CAMERAMAKER_Kodak, "P712", 0, 3963,
668 { 9658,-3314,-823,-5163,12695,2768,-1342,1843,6044 } },
669 { LIBRAW_CAMERAMAKER_Kodak, "P850", 0, 3964,
670 { 10511,-3836,-1102,-6946,14587,2558,-1481,1792,6246 } },
671 { LIBRAW_CAMERAMAKER_Kodak, "P880", 0, 3963,
672 { 12805,-4662,-1376,-7480,15267,2360,-1626,2194,7904 } },
673 { LIBRAW_CAMERAMAKER_Kodak, "Z980", 0, 0,
674 { 11313,-3559,-1101,-3893,11891,2257,-1214,2398,4908 } },
675 { LIBRAW_CAMERAMAKER_Kodak, "Z981", 0, 0,
676 { 12729,-4717,-1188,-1367,9187,2582,274,860,4411 } },
677 { LIBRAW_CAMERAMAKER_Kodak, "Z990", 0, 0xfed,
678 { 11749,-4048,-1309,-1867,10572,1489,-138,1449,4522 } },
679 { LIBRAW_CAMERAMAKER_Kodak, "Z1015", 0, 0xef1,
680 { 11265,-4286,-992,-4694,12343,2647,-1090,1523,5447 } },
681
682 {LIBRAW_CAMERAMAKER_Leaf, "AFi 54S", 0, 0,
683 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
684 {LIBRAW_CAMERAMAKER_Leaf, "AFi 65S", 0, 0,
685 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
686 {LIBRAW_CAMERAMAKER_Leaf, "AFi 75S", 0, 0,
687 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
688 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 17", 0, 0,
689 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
690 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 22", 0, 0,
691 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
692 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 54S", 0, 0,
693 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
694 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 65S", 0, 0,
695 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
696 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 65", 0, 0,
697 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
698 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 75S", 0, 0,
699 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
700 {LIBRAW_CAMERAMAKER_Leaf, "Aptus 75", 0, 0,
701 { 7914, 1414, -1190, -8776, 16582, 2280, -2811, 4605, 5562}},
702 {LIBRAW_CAMERAMAKER_Leaf, "C-Most", 0, 0,
703 { 3952, 2188, 449, -6701, 14584, 2275, -4536, 7349, 6535}},
704 {LIBRAW_CAMERAMAKER_Leaf, "Credo 40", 0, 0,
705 { 8035, 435, -962, -6001, 13872, 2320, -1159, 3065, 5434}},
706 {LIBRAW_CAMERAMAKER_Leaf, "Credo 50", 0, 0, // emb
707 { 10325, 845, -604, -4113, 13385, 481, -1791, 4163, 6924}},
708 {LIBRAW_CAMERAMAKER_Leaf, "Credo 60", 0, 0,
709 { 8035, 435, -962, -6001, 13872, 2320, -1159, 3065, 5434}},
710 {LIBRAW_CAMERAMAKER_Leaf, "Credo 80", 0, 0,
711 { 6294, 686, -712, -5435, 13417, 2211, -1006, 2435, 5042}},
712 {LIBRAW_CAMERAMAKER_Leaf, "Valeo 11", 0, 0,
713 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
714 {LIBRAW_CAMERAMAKER_Leaf, "Valeo 17", 0, 0,
715 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
716 {LIBRAW_CAMERAMAKER_Leaf, "Valeo 22", 0, 0,
717 { 8236, 1746, -1313, -8251, 15953, 2428, -3672, 5786, 5771}},
718 {LIBRAW_CAMERAMAKER_Leaf, "Valeo 6", 0, 0,
719 { 3952, 2188, 449, -6701, 14584, 2275, -4536, 7349, 6535}},
720
721 // { LIBRAW_CAMERAMAKER_Leaf, "AFi-II 6", 0, 0,
722 { LIBRAW_CAMERAMAKER_Leaf, "AFi-II 7", 0, 0,
723 { 7691,-108,-339,-6185,13627,2833,-2046,3899,5952 } },
724 { LIBRAW_CAMERAMAKER_Leaf, "AFi-II 10", 0, 0,
725 { 6719,1147,-148,-6929,14061,3176,-1781,3343,5424 } },
726
727 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 5", 0, 0,
728 { 7914,1414,-1190,-8777,16582,2280,-2811,4605,5562 } },
729 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 6", 0, 0,
730 { 7989,-113,-352,-6185,13627,2833,-2028,3866,5901 } },
731 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 7", 0, 0,
732 { 8209,-116,-362,-6185,13627,2833,-1962,3740,5709 } },
733 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 8", 0, 0,
734 { 7361,1257,-163,-6929,14061,3176,-1839,3454,5603 } },
735 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 10R", 0, 0,
736 { 7167,1224,-158,-6929,14061,3176,-1826,3429,5562 } },
737 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 10", 0, 0,
738 { 7527,1285,-166,-6929,14061,3176,-1995,3747,6077 } },
739 // { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 12R", 0, 0,
740 { LIBRAW_CAMERAMAKER_Leaf, "Aptus-II 12", 0, 0,
741 { 7361,1257,-163,-6929,14061,3176,-1695,3182,5162 } },
742
743 { LIBRAW_CAMERAMAKER_Leica, "CL", 0, 0,
744 { 7743,-2896,-921,-4211,12271,2169,-697,1562,5491 } },
745
746 { LIBRAW_CAMERAMAKER_Leica, "M8", 0, 0,
747 { 7675,-2196,-305,-5860,14119,1856,-2425,4006,6578 } },
748 { LIBRAW_CAMERAMAKER_Leica, "M9", 0, 0,
749 { 6687,-1751,-291,-3556,11373,2492,-548,2204,7146 } },
750 { LIBRAW_CAMERAMAKER_Leica, "M10", 0, 0, // same CMs: M10, M10-D, M10-P
751 { 9090,-3342,-740,-4006,13456,493,-569,2266,6871 } },
752 { LIBRAW_CAMERAMAKER_Leica, "M (Typ 2", 0, 0, // same CMs: "M (Typ 240)", "M (Typ 262)", "M-D (Typ 262)"
753 { 7199,-2140,-712,-4005,13327,649,-810,2521,6673 } },
754
755 { LIBRAW_CAMERAMAKER_Leica, "Q (Typ 116)", 0, 0,
756 { 10068,-4043,-1068,-5319,14268,1044,-765,1701,6522 } },
757 { LIBRAW_CAMERAMAKER_Leica, "Q2", 0, 0,
758 { 12312,-5440,-1307,-6408,15499,824,-1075,1677,7220 } },
759
760 { LIBRAW_CAMERAMAKER_Leica, "SL (Typ 601)", 0, 0,
761 { 11865,-4523,-1441,-5423,14458,935,-1587,2687,4830 } },
762 { LIBRAW_CAMERAMAKER_Leica, "S (Typ 007)", 0, 0,
763 { 6063,-2234,-231,-5210,13787,1500,-1043,2866,6997 } },
764 { LIBRAW_CAMERAMAKER_Leica, "S2", 0, 0,
765 { 5627,-721,-447,-4423,12456,2192,-1048,2948,7379 } },
766 { LIBRAW_CAMERAMAKER_Leica, "S3", 0, 0,
767 // { 5147,-1464,-318,-5374,13263,2325,-1425,2918,6450 } },
768 { 5092,-1630,-470,-6313,14297,2170,-1603,3135,5982 } },
769 {LIBRAW_CAMERAMAKER_Leica, "S", 0, 0, // same CMs: "S-E (Typ 006)", "S (Typ 006)"
770 { 5749,-1072,-382,-4274,12432,2048,-1166,3104,7105 } },
771
772 { LIBRAW_CAMERAMAKER_Leica, "TL2", 0, 0,
773 { 6375,-2062,-732,-4878,12838,2262,-877,1705,6204 } },
774 { LIBRAW_CAMERAMAKER_Leica, "T", 0, 0, // same CMs: TL, "T (Typ 701)"
775 { 6295,-1679,-475,-5586,13046,2837,-1410,1889,7075 } },
776
777 { LIBRAW_CAMERAMAKER_Leica, "X2", 0, 0,
778 { 8336,-2853,-699,-4425,11989,2760,-954,1625,6396 } },
779 { LIBRAW_CAMERAMAKER_Leica, "X1", 0, 0,
780 { 9055,-2611,-666,-4906,12652,2519,-555,1384,7417 } },
781 { LIBRAW_CAMERAMAKER_Leica, "X", 0, 0, /* same CMs: "X (Typ 113)", "X-U (Typ 113)", XV, "X Vario (Typ 107)" */
782 { 9062,-3198,-828,-4065,11772,2603,-761,1468,6458 } },
783
784 { LIBRAW_CAMERAMAKER_Mamiya,"ZD", 0, 0,
785 { 7645,2579,-1363,-8689,16717,2015,-3712,5941,5961 } },
786
787 { LIBRAW_CAMERAMAKER_Micron, "2010", 110, 0,
788 { 16695,-3761,-2151,155,9682,163,3433,951,4904 } }, /* DJC */
789
790 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE 5", 0, 0xf7d,
791 { 9117,-3063,-973,-7949,15763,2306,-2752,3136,8093 } },
792 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE 7Hi", 0, 0xf7d,
793 { 11555,-4064,-1256,-7903,15633,2409,-2811,3320,7358 } },
794 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE 7i", 0, 0xf7d,
795 { 11050,-3791,-1199,-7875,15585,2434,-2797,3359,7560 } },
796 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE 7", 0, 0xf7d,
797 { 9258,-2879,-1008,-8076,15847,2351,-2806,3280,7821 } },
798 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE A1", 0, 0xf8b,
799 { 9274,-2548,-1167,-8220,16324,1943,-2273,2721,8340 } },
800 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE A200", 0, 0,
801 { 8560,-2487,-986,-8112,15535,2771,-1209,1324,7743 } },
802 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE A2", 0, 0xf8f,
803 { 9097,-2726,-1053,-8073,15506,2762,-966,981,7763 } },
804 { LIBRAW_CAMERAMAKER_Minolta, "DiMAGE Z2", 0, 0,
805 { 11280,-3564,-1370,-4655,12374,2282,-1423,2168,5396 } }, /* DJC */
806 { LIBRAW_CAMERAMAKER_Minolta, "DG-5D", 0, 0xffb, // same CamID: "ALPHA 5D", "DYNAX 5D", "MAXXUM 5D", "Alpha Sweet Digital"
807 { 10284,-3283,-1086,-7957,15762,2316,-829,882,6644 } },
808 { LIBRAW_CAMERAMAKER_Minolta, "DG-7D", 0, 0xffb, // same CamID: "ALPHA 7D", "DYNAX 7D", "MAXXUM 7D"
809 { 10239,-3104,-1099,-8037,15727,2451,-927,925,6871 } },
810
811 { LIBRAW_CAMERAMAKER_Motorola, "PIXL", 0, 0,
812 { 8898,-989,-1033,-3292,11619,1674,-661,3178,5216 } }, /* DJC */
813
814 { LIBRAW_CAMERAMAKER_Nikon, "1 AW1", 0, 0,
815 { 6588,-1305,-693,-3277,10987,2634,-355,2016,5106 } },
816 { LIBRAW_CAMERAMAKER_Nikon, "1 J3", 0, 0,
817 { 6588,-1305,-693,-3277,10987,2634,-355,2016,5106 } },
818 { LIBRAW_CAMERAMAKER_Nikon, "1 J4", 0, 0,
819 { 5958,-1559,-571,-4021,11453,2939,-634,1548,5087 } },
820 { LIBRAW_CAMERAMAKER_Nikon, "1 J5", 0, 0,
821 { 7520,-2518,-645,-3844,12102,1945,-913,2249,6835 } },
822 { LIBRAW_CAMERAMAKER_Nikon, "1 S2", -200, 0,
823 { 6612,-1342,-618,-3338,11055,2623,-174,1792,5075 } },
824 { LIBRAW_CAMERAMAKER_Nikon, "1 V2", 0, 0,
825 { 6588,-1305,-693,-3277,10987,2634,-355,2016,5106 } },
826 { LIBRAW_CAMERAMAKER_Nikon, "1 V3", -200, 0,
827 { 5958,-1559,-571,-4021,11453,2939,-634,1548,5087 } },
828 { LIBRAW_CAMERAMAKER_Nikon, "1 ", 0, 0, /* same CMs: "1 J1", "1 J2", "1 S1", "1 V1" */
829 { 8994,-2667,-865,-4594,12324,2552,-699,1786,6260 } },
830
831 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 2100", 0, 0, // a.k.a. E2100
832 { 13142,-4152,-1596,-4655,12374,2282,-1769,2696,6711 } }, /* DJC, copied from Z2, new white balance */
833 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 2500", 0, 0, // a.k.a. E2500, possibly same CM as for E5000
834 { -5547,11762,2189,5814,-558,3342,-4924,9840,5949,688,9083,96 } },
835 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 3200", 0, 0, // a.k.a. E3200
836 { 9846,-2085,-1019,-3278,11109,2170,-774,2134,5745 } }, /* DJC */
837 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 4300", 0, 0, // a.k.a. E4300
838 { 11280,-3564,-1370,-4655,12374,2282,-1423,2168,5396 } }, /* DJC, copied from Minolta DiMAGE Z2 */
839 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 4500", 0, 0, // a.k.a. E4500, possibly same CM as for E5000
840 { -5547,11762,2189,5814,-558,3342,-4924,9840,5949,688,9083,96 } },
841 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 5000", 0, 0, // a.k.a. E5000
842 { -6678,12805,2248,5725,-499,3375,-5903,10713,6034,-270,9976,134 } },
843 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 5400", 0, 0, // a.k.a. E5400
844 { 9349,-2988,-1001,-7918,15766,2266,-2097,2680,6839 } },
845 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 5700", 0, 0, // a.k.a. E5700
846 { -6475,12496,2428,5409,-16,3180,-5965,10912,5866,-177,9918,248 } },
847 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 8400", 0, 0, // a.k.a. E8400
848 { 7842,-2320,-992,-8154,15718,2599,-1098,1342,7560 } },
849 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 8700", 0, 0, // a.k.a. E8700
850 { 8489,-2583,-1036,-8051,15583,2643,-1307,1407,7354 } },
851 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 8800", 0, 0, // a.k.a. E8800
852 { 7971,-2314,-913,-8451,15762,2894,-1442,1520,7610 } },
853
854 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 700", 0, 0x3dd, // a.k.a. E700
855 { -3746,10611,1665,9621,-1734,2114,-2389,7082,3064,3406,6116,-244 } }, /* DJC */
856 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 800", 0, 0x3dd, // a.k.a. E800
857 { -3746,10611,1665,9621,-1734,2114,-2389,7082,3064,3406,6116,-244 } }, /* DJC */
858 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 950", 0, 0x3dd, // a.k.a. E950
859 { -3746,10611,1665,9621,-1734,2114,-2389,7082,3064,3406,6116,-244 } }, /* DJC */
860 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX 995", 0, 0, // a.k.a. E995
861 { -5547,11762,2189,5814,-558,3342,-4924,9840,5949,688,9083,96 } }, /* DJC, copied from E5000 */
862
863 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX A1000", 0, 0,
864 { 10601,-3487,-1127,-2931,11443,1676,-587,1740,5278 } },
865 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX B700", 0, 0,
866 { 14387,-6014,-1299,-1357,9975,1616,467,1047,4744 } },
867 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX A", 0, 0,
868 { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } },
869 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P1000", 0, 0,
870 { 14294,-6116,-1333,-1628,10219,1637,-14,1158,5022 } },
871 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P6000", 0, 0,
872 { 9698,-3367,-914,-4706,12584,2368,-837,968,5801 } },
873 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P7000", 0, 0,
874 { 11432,-3679,-1111,-3169,11239,2202,-791,1380,4455 } },
875 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P7100", 0, 0,
876 { 11053,-4269,-1024,-1976,10182,2088,-526,1263,4469 } },
877 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P7700", -3200, 0, // same CamID: "COOLPIX P7700", "COOLPIX Deneb"
878 { 10321,-3920,-931,-2750,11146,1824,-442,1545,5539 } },
879 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P7800", -3200, 0, // same CamID: "COOLPIX P7800", "COOLPIX Kalon"
880 { 10321,-3920,-931,-2750,11146,1824,-442,1545,5539 } },
881 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P330", -200, 0,
882 { 10321,-3920,-931,-2750,11146,1824,-442,1545,5539 } },
883 { LIBRAW_CAMERAMAKER_Nikon, "COOLPIX P340", -200, 0,
884 { 10321,-3920,-931,-2750,11146,1824,-442,1545,5539 } },
885 { LIBRAW_CAMERAMAKER_Nikon, "Coolpix P950", 0, 0,
886 { 13307, -5641, -1290, -2048, 10581, 1689, -64, 1222, 5176}},
887
888 { LIBRAW_CAMERAMAKER_Nikon, "D3000", 0, 0,
889 { 8736,-2458,-935,-9075,16894,2251,-1354,1242,8263 } },
890 { LIBRAW_CAMERAMAKER_Nikon, "D3100", 0, 0,
891 { 7911,-2167,-813,-5327,13150,2408,-1288,2483,7968 } },
892 { LIBRAW_CAMERAMAKER_Nikon, "D3200", 0, 0xfb9,
893 { 7013,-1408,-635,-5268,12902,2640,-1470,2801,7379 } },
894 { LIBRAW_CAMERAMAKER_Nikon, "D3300", 0, 0,
895 { 6988,-1384,-714,-5631,13410,2447,-1485,2204,7318 } },
896 { LIBRAW_CAMERAMAKER_Nikon, "D3400", 0, 0,
897 { 6988,-1384,-714,-5631,13410,2447,-1485,2204,7318 } },
898 { LIBRAW_CAMERAMAKER_Nikon, "D3500", 0, 0,
899 { 8821,-2938,-785,-4178,12142,2287,-824,1651,6860 } },
900 { LIBRAW_CAMERAMAKER_Nikon, "D5000", 0, 0xf00,
901 { 7309,-1403,-519,-8474,16008,2622,-2433,2826,8064 } },
902 { LIBRAW_CAMERAMAKER_Nikon, "D5100", 0, 0x3de6,
903 { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } },
904 { LIBRAW_CAMERAMAKER_Nikon, "D5200", 0, 0,
905 { 8322,-3112,-1047,-6367,14342,2179,-988,1638,6394 } },
906 { LIBRAW_CAMERAMAKER_Nikon, "D5300", 0, 0,
907 { 6988,-1384,-714,-5631,13410,2447,-1485,2204,7318 } },
908 { LIBRAW_CAMERAMAKER_Nikon, "D5500", 0, 0,
909 { 8821,-2938,-785,-4178,12142,2287,-824,1651,6860 } },
910 { LIBRAW_CAMERAMAKER_Nikon, "D5600", 0, 0,
911 { 8821,-2938,-785,-4178,12142,2287,-824,1651,6860 } },
912 { LIBRAW_CAMERAMAKER_Nikon, "D7000", 0, 0,
913 { 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } },
914 { LIBRAW_CAMERAMAKER_Nikon, "D7100", 0, 0,
915 { 8322,-3112,-1047,-6367,14342,2179,-988,1638,6394 } },
916 { LIBRAW_CAMERAMAKER_Nikon, "D7200", 0, 0,
917 { 8322,-3112,-1047,-6367,14342,2179,-988,1638,6394 } },
918 { LIBRAW_CAMERAMAKER_Nikon, "D7500", 0, 0,
919 { 8813,-3210,-1036,-4703,12868,2021,-1054,1940,6129 } },
920
921 { LIBRAW_CAMERAMAKER_Nikon, "D100", 0, 0,
922 { 5902,-933,-782,-8983,16719,2354,-1402,1455,6464 } },
923 { LIBRAW_CAMERAMAKER_Nikon, "D200", 0, 0xfbc,
924 { 8367,-2248,-763,-8758,16447,2422,-1527,1550,8053 } },
925 { LIBRAW_CAMERAMAKER_Nikon, "D300", 0, 0, // same CMs: D300, D300s
926 { 9030,-1992,-715,-8465,16302,2255,-2689,3217,8069 } },
927 { LIBRAW_CAMERAMAKER_Nikon, "D500", 0, 0,
928 { 8813,-3210,-1036,-4703,12868,2021,-1054,1940,6129 } },
929 { LIBRAW_CAMERAMAKER_Nikon, "D600", 0, 0x3e07,
930 { 8178,-2245,-609,-4857,12394,2776,-1207,2086,7298 } },
931 { LIBRAW_CAMERAMAKER_Nikon, "D610",0, 0,
932 { 8178,-2245,-609,-4857,12394,2776,-1207,2086,7298 } },
933 { LIBRAW_CAMERAMAKER_Nikon, "D700", 0, 0,
934 { 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } },
935 { LIBRAW_CAMERAMAKER_Nikon, "D750", -600, 0,
936 { 9020,-2890,-715,-4535,12436,2348,-934,1919,7086 } },
937 { LIBRAW_CAMERAMAKER_Nikon, "D780", -600, 0,
938 { 9943,-3269,-839,-5323,13269,2259,-1198,2083,7557 } },
939 { LIBRAW_CAMERAMAKER_Nikon, "D800", 0, 0, // same CMs: D800, D800E
940 { 7866,-2108,-555,-4869,12483,2681,-1176,2069,7501 } },
941 { LIBRAW_CAMERAMAKER_Nikon, "D810A", 0, 0,
942 { 11973,-5685,-888,-1965,10326,1901,-115,1123,7169 } },
943 { LIBRAW_CAMERAMAKER_Nikon, "D810", 0, 0,
944 { 9369,-3195,-791,-4488,12430,2301,-893,1796,6872 } },
945 { LIBRAW_CAMERAMAKER_Nikon, "D850", 0, 0,
946 { 10405,-3755,-1270,-5461,13787,1793,-1040,2015,6785 } },
947
948 { LIBRAW_CAMERAMAKER_Nikon, "D40X", 0, 0,
949 { 8819,-2543,-911,-9025,16928,2151,-1329,1213,8449 } },
950 { LIBRAW_CAMERAMAKER_Nikon, "D40", 0, 0,
951 { 6992,-1668,-806,-8138,15748,2543,-874,850,7897 } },
952 { LIBRAW_CAMERAMAKER_Nikon, "D50", 0, 0,
953 { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } },
954 { LIBRAW_CAMERAMAKER_Nikon, "D60", 0, 0,
955 { 8736,-2458,-935,-9075,16894,2251,-1354,1242,8263 } },
956 { LIBRAW_CAMERAMAKER_Nikon, "D70", 0, 0, // same CMs: D70, D70s
957 { 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } },
958 { LIBRAW_CAMERAMAKER_Nikon, "D80", 0, 0,
959 { 8629,-2410,-883,-9055,16940,2171,-1490,1363,8520 } },
960 { LIBRAW_CAMERAMAKER_Nikon, "D90", 0, 0xf00,
961 { 7309,-1403,-519,-8474,16008,2622,-2434,2826,8064 } },
962
963 { LIBRAW_CAMERAMAKER_Nikon, "D1H", 0, 0,
964 { 7659,-2238,-935,-8942,16969,2004,-2701,3051,8690 } },
965 { LIBRAW_CAMERAMAKER_Nikon, "D1X", 0, 0,
966 { 7702,-2245,-975,-9114,17242,1875,-2679,3055,8521 } },
967 { LIBRAW_CAMERAMAKER_Nikon, "D1", 0, 0,
968 // { 16772,-4726,-2141,-7611,15713,1972,-2846,3494,9521 } }, /* multiplied by 2.218750, 1.0, 1.148438 */
969 { 7637,-2199,-974,-9109,17099,2043,-2822,3306,8372 } },
970 { LIBRAW_CAMERAMAKER_Nikon, "D2H", 0, 0, // same CMs: D2H, D2Hs
971 { 5733,-911,-629,-7967,15987,2055,-3050,4013,7048 } },
972 { LIBRAW_CAMERAMAKER_Nikon, "D2X", 0, 0, // same CMs: D2X, D2Xs
973 { 10231,-2768,-1254,-8302,15900,2551,-797,681,7148 } },
974 { LIBRAW_CAMERAMAKER_Nikon, "D3S", 0, 0,
975 { 8828,-2406,-694,-4874,12603,2541,-660,1509,7587 } },
976 { LIBRAW_CAMERAMAKER_Nikon, "D3X", 0, 0,
977 { 7171,-1986,-648,-8085,15555,2718,-2170,2512,7457 } },
978 { LIBRAW_CAMERAMAKER_Nikon, "D3", 0, 0,
979 { 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 } },
980 { LIBRAW_CAMERAMAKER_Nikon, "D4", 0, 0, // same CMs: D4, D4S (and Df)
981 { 8598,-2848,-857,-5618,13606,2195,-1002,1773,7137 } },
982 { LIBRAW_CAMERAMAKER_Nikon, "D5", 0, 0,
983 { 9200,-3522,-992,-5755,13803,2117,-753,1486,6338 } },
984 { LIBRAW_CAMERAMAKER_Nikon, "D6", 0, 0,
985 { 9028,-3423,-1035,-6321,14265,2217,-1013,1683,6928 } },
986 { LIBRAW_CAMERAMAKER_Nikon, "Df", 0, 0,
987 { 8598,-2848,-857,-5618,13606,2195,-1002,1773,7137 } },
988
989 { LIBRAW_CAMERAMAKER_Nikon, "Z 50", 0, 0,
990 { 11640,-4829,-1079,-5107,13006,2325,-972,1711,7380 } },
991 { LIBRAW_CAMERAMAKER_Nikon, "Z 5", 0, 0,
992 { 8695,-2558,-648,-5015,12711,2575,-1279,2215,7514 } },
993 { LIBRAW_CAMERAMAKER_Nikon, "Z 6", 0, 0,
994 { 9943,-3269,-839,-5323,13269,2259,-1198,2083,7557 } }, // 'Z 6'(v.2), 'Z 6_2'
995 { LIBRAW_CAMERAMAKER_Nikon, "Z 7", 0, 0,
996 { 13705,-6004,-1400,-5464,13568,2062,-940,1706,7618 } }, // 'Z 7'(v.2), 'Z 7_2'
997 { LIBRAW_CAMERAMAKER_Nikon, "Z fc", 0, 0,
998 { 11640,-4829,-1079,-5107,13006,2325,-972,1711,7380 } },
999
1000 { LIBRAW_CAMERAMAKER_Olympus, "AIR A01", 0, 0xfe1,
1001 { 8992,-3093,-639,-2563,10721,2122,-437,1270,5473 } },
1002
1003 { LIBRAW_CAMERAMAKER_Olympus, "C-5050Z", 0, 0,
1004 { 10633,-3234,-1285,-7460,15570,1967,-1917,2510,6299 } },
1005 { LIBRAW_CAMERAMAKER_Olympus, "C-5060WZ", 0, 0,
1006 { 10445,-3362,-1307,-7662,15690,2058,-1135,1176,7602 } },
1007 { LIBRAW_CAMERAMAKER_Olympus, "C-7070WZ", 0, 0,
1008 { 10252,-3531,-1095,-7114,14850,2436,-1451,1723,6365 } },
1009 { LIBRAW_CAMERAMAKER_Olympus, "C-7000Z", 0, 0,
1010 { 10793,-3791,-1146,-7498,15177,2488,-1390,1577,7321 } },
1011 { LIBRAW_CAMERAMAKER_Olympus, "C-8080WZ", 0, 0,
1012 { 8606,-2509,-1014,-8238,15714,2703,-942,979,7760 } },
1013
1014 { LIBRAW_CAMERAMAKER_Olympus, "E-300", 0, 0,
1015 { 7828,-1761,-348,-5788,14071,1830,-2853,4518,6557 } },
1016 { LIBRAW_CAMERAMAKER_Olympus, "E-330", 0, 0,
1017 { 8961,-2473,-1084,-7979,15990,2067,-2319,3035,8249 } },
1018 { LIBRAW_CAMERAMAKER_Olympus, "E-400", 0, 0,
1019 { 6169,-1483,-21,-7107,14761,2536,-2904,3580,8568 } },
1020 { LIBRAW_CAMERAMAKER_Olympus, "E-410", 0, 0xf6a,
1021 { 8856,-2582,-1026,-7761,15766,2082,-2009,2575,7469 } },
1022 { LIBRAW_CAMERAMAKER_Olympus, "E-420", 0, 0xfd7,
1023 { 8746,-2425,-1095,-7594,15612,2073,-1780,2309,7416 } },
1024 { LIBRAW_CAMERAMAKER_Olympus, "E-450", 0, 0xfd2,
1025 { 8745,-2425,-1095,-7594,15613,2073,-1780,2309,7416 } },
1026 { LIBRAW_CAMERAMAKER_Olympus, "E-500", 0, 0,
1027 { 8136,-1968,-299,-5481,13742,1871,-2556,4205,6630 } },
1028 { LIBRAW_CAMERAMAKER_Olympus, "E-510", 0, 0xf6a,
1029 { 8785,-2529,-1033,-7639,15624,2112,-1783,2300,7817 } },
1030 { LIBRAW_CAMERAMAKER_Olympus, "E-520", 0, 0xfd2,
1031 { 8344,-2322,-1020,-7596,15635,2048,-1748,2269,7287 } },
1032 { LIBRAW_CAMERAMAKER_Olympus, "E-600", 0, 0xfaf,
1033 { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } },
1034 { LIBRAW_CAMERAMAKER_Olympus, "E-620", 0, 0xfaf,
1035 { 8453,-2198,-1092,-7609,15681,2008,-1725,2337,7824 } },
1036
1037 { LIBRAW_CAMERAMAKER_Olympus, "E-10", 0, 0x3ff,
1038 { 12970,-4703,-1433,-7466,15843,1644,-2191,2451,6668 } },
1039 { LIBRAW_CAMERAMAKER_Olympus, "E-20", 0, 0x3ff, // model is "E-20,E-20N,E-20P"
1040 { 13414,-4950,-1517,-7166,15293,1960,-2325,2664,7212 } },
1041 { LIBRAW_CAMERAMAKER_Olympus, "E-30", 0, 0xfbc,
1042 { 8144,-1861,-1111,-7763,15894,1929,-1865,2542,7607 } },
1043
1044 { LIBRAW_CAMERAMAKER_Olympus, "E-1", 0, 0,
1045 { 11846,-4767,-945,-7027,15878,1089,-2699,4122,8311 } },
1046 { LIBRAW_CAMERAMAKER_Olympus, "E-3", 0, 0xf99,
1047 { 9487,-2875,-1115,-7533,15606,2010,-1618,2100,7389 } },
1048 { LIBRAW_CAMERAMAKER_Olympus, "E-5", 0, 0xeec,
1049 { 11200,-3783,-1325,-4576,12593,2206,-695,1742,7504 } },
1050
1051 { LIBRAW_CAMERAMAKER_Olympus, "E-P1", 0, 0xffd,
1052 { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } },
1053 { LIBRAW_CAMERAMAKER_Olympus, "E-P2", 0, 0xffd,
1054 { 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } },
1055 { LIBRAW_CAMERAMAKER_Olympus, "E-P3", 0, 0,
1056 { 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
1057 { LIBRAW_CAMERAMAKER_Olympus, "E-P5", 0, 0,
1058 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1059 { LIBRAW_CAMERAMAKER_Olympus, "E-P7", 0, 0,
1060 { 9476,-3182,-765,-2613,10958,1893,-449,1315,5268 } },
1061
1062 { LIBRAW_CAMERAMAKER_Olympus, "E-PL10", 0, 0,
1063 { 9197,-3190,-659,-2606,10830,2039,-458,1250,5458 } },
1064 { LIBRAW_CAMERAMAKER_Olympus, "E-PL1s", 0, 0,
1065 { 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } },
1066 { LIBRAW_CAMERAMAKER_Olympus, "E-PL1", 0, 0,
1067 { 11408,-4289,-1215,-4286,12385,2118,-387,1467,7787 } },
1068 { LIBRAW_CAMERAMAKER_Olympus, "E-PL2", 0, 0xcf3,
1069 { 15030,-5552,-1806,-3987,12387,1767,-592,1670,7023 } },
1070 { LIBRAW_CAMERAMAKER_Olympus, "E-PL3", 0, 0,
1071 { 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
1072 { LIBRAW_CAMERAMAKER_Olympus, "E-PL5", 0, 0xfcb,
1073 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1074 { LIBRAW_CAMERAMAKER_Olympus, "E-PL6", 0, 0,
1075 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1076 { LIBRAW_CAMERAMAKER_Olympus, "E-PL7", 0, 0,
1077 { 9197,-3190,-659,-2606,10830,2039,-458,1250,5458 } },
1078 { LIBRAW_CAMERAMAKER_Olympus, "E-PL8", 0, 0,
1079 { 9197,-3190,-659,-2606,10830,2039,-458,1250,5458 } },
1080 { LIBRAW_CAMERAMAKER_Olympus, "E-PL9", 0, 0,
1081 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1082
1083 { LIBRAW_CAMERAMAKER_Olympus, "E-PM1", 0, 0,
1084 { 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
1085 { LIBRAW_CAMERAMAKER_Olympus, "E-PM2", 0, 0,
1086 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1087
1088 { LIBRAW_CAMERAMAKER_Olympus, "E-M10 Mark IV", 0, 0,
1089 { 9476,-3182,-765,-2613,10958,1893,-449,1315,5268 } },
1090 { LIBRAW_CAMERAMAKER_Olympus, "E-M10", 0, 0, // Same CMs: E-M10, E-M10 Mark II, E-M10 Mark III; "CLAUSS piX 5oo"
1091 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1092 { LIBRAW_CAMERAMAKER_Olympus, "E-M1X", 0, 0,
1093 { 11896,-5110,-1076,-3181,11378,2048,-519,1224,5166 } },
1094
1095 { LIBRAW_CAMERAMAKER_Olympus, "E-M1 Mark III", 0, 0,
1096 { 11896,-5110,-1076,-3181,11378,2048,-519,1224,5166 } },
1097 { LIBRAW_CAMERAMAKER_Olympus, "E-M1 Mark II", 0, 0,
1098 { 9383,-3170,-763,-2457,10702,2020,-384,1236,5552 } },
1099 { LIBRAW_CAMERAMAKER_Olympus, "E-M1", 0, 0,
1100 { 7687,-1984,-606,-4327,11928,2721,-1381,2339,6452 } },
1101
1102 { LIBRAW_CAMERAMAKER_Olympus, "E-M5 Mark III", 0, 0,
1103 { 11896,-5110,-1076,-3181,11378,2048,-519,1224,5166 } },
1104 { LIBRAW_CAMERAMAKER_Olympus, "E-M5 Mark II", 0, 0,
1105 { 9422,-3258,-711,-2655,10898,2015,-512,1354,5512 } },
1106 { LIBRAW_CAMERAMAKER_Olympus, "E-M5", 0, 0xfe1,
1107 { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
1108
1109 { LIBRAW_CAMERAMAKER_Olympus, "PEN-F",0, 0,
1110 { 9476,-3182,-765,-2613,10958,1893,-449,1315,5268 } },
1111
1112 { LIBRAW_CAMERAMAKER_Olympus, "SH-2", 0, 0, // same CamID: SH-2, SH-3
1113 { 10156,-3425,-1077,-2611,11177,1624,-385,1592,5080 } },
1114
1115 { LIBRAW_CAMERAMAKER_Olympus, "SP-350", 0, 0,
1116 { 12078,-4836,-1069,-6671,14306,2578,-786,939,7418 } },
1117 { LIBRAW_CAMERAMAKER_Olympus, "SP-3", 0, 0, // Same CMs: SP310, SP320
1118 { 11766,-4445,-1067,-6901,14421,2707,-1029,1217,7572 } },
1119 { LIBRAW_CAMERAMAKER_Olympus, "SP-500UZ", 0, 0xfff,
1120 { 9493,-3415,-666,-5211,12334,3260,-1548,2262,6482 } },
1121 { LIBRAW_CAMERAMAKER_Olympus, "SP-510UZ", 0, 0xffe,
1122 { 10593,-3607,-1010,-5881,13127,3084,-1200,1805,6721 } },
1123 { LIBRAW_CAMERAMAKER_Olympus, "SP-550UZ", 0, 0xffe,
1124 { 11597,-4006,-1049,-5432,12799,2957,-1029,1750,6516 } },
1125 { LIBRAW_CAMERAMAKER_Olympus, "SP-560UZ", 0, 0xff9,
1126 { 10915,-3677,-982,-5587,12986,2911,-1168,1968,6223 } },
1127 { LIBRAW_CAMERAMAKER_Olympus, "SP-565UZ", 0, 0,
1128 { 11856,-4469,-1159,-4814,12368,2756,-993,1779,5589 } },
1129 { LIBRAW_CAMERAMAKER_Olympus, "SP-570UZ", 0, 0,
1130 { 11522,-4044,-1146,-4736,12172,2904,-988,1829,6039 } },
1131
1132 { LIBRAW_CAMERAMAKER_Olympus, "STYLUS 1",0, 0, // Olympus "STYLUS 1 and STYLUS 1s have the same CamID, cameras are slightly different
1133 { 8360,-2420,-880,-3928,12353,1739,-1381,2416,5173 } },
1134
1135 { LIBRAW_CAMERAMAKER_Olympus, "TG-4", 0, 0,
1136 { 11426,-4159,-1126,-2066,10678,1593,-120,1327,4998 } },
1137 { LIBRAW_CAMERAMAKER_Olympus, "TG-", 0, 0, // same CMs: TG-5, TG-6
1138 { 10899,-3833,-1082,-2112,10736,1575,-267,1452,5269 } },
1139
1140 { LIBRAW_CAMERAMAKER_Olympus, "XZ-10", 0, 0,
1141 { 9777,-3483,-925,-2886,11297,1800,-602,1663,5134 } },
1142 { LIBRAW_CAMERAMAKER_Olympus, "XZ-1", 0, 0,
1143 { 10901,-4095,-1074,-1141,9208,2293,-62,1417,5158 } },
1144 { LIBRAW_CAMERAMAKER_Olympus, "XZ-2", 0, 0,
1145 { 9777,-3483,-925,-2886,11297,1800,-602,1663,5134 } },
1146
1147 { LIBRAW_CAMERAMAKER_OmniVison, "", 16, 0x3ff,
1148 { 12782,-4059,-379,-478,9066,1413,1340,1513,5176 } }, /* DJC */
1149
1150 { LIBRAW_CAMERAMAKER_Pentax, "*istDL2", 0, 0,
1151 { 10504,-2438,-1189,-8603,16207,2531,-1022,863,12242 } },
1152 { LIBRAW_CAMERAMAKER_Pentax, "*istDL", 0, 0,
1153 { 10829,-2838,-1115,-8339,15817,2696,-837,680,11939 } },
1154 { LIBRAW_CAMERAMAKER_Pentax, "*istDS2", 0, 0,
1155 { 10504,-2438,-1189,-8603,16207,2531,-1022,863,12242 } },
1156 { LIBRAW_CAMERAMAKER_Pentax, "*istDS", 0, 0,
1157 { 10371,-2333,-1206,-8688,16231,2602,-1230,1116,11282 } },
1158 { LIBRAW_CAMERAMAKER_Pentax, "*istD", 0, 0,
1159 { 9651,-2059,-1189,-8881,16512,2487,-1460,1345,10687 } },
1160
1161 { LIBRAW_CAMERAMAKER_Pentax, "K-01", 0, 0,
1162 { 8134,-2728,-645,-4365,11987,2694,-838,1509,6498 } },
1163 { LIBRAW_CAMERAMAKER_Pentax, "K10D", 0, 0,
1164 { 9679,-2965,-811,-8622,16514,2182,-975,883,9793 } },
1165 { LIBRAW_CAMERAMAKER_Pentax, "K1", 0, 0, // same CMs: K100D, "K100D Super", K110D
1166 { 11095,-3157,-1324,-8377,15834,2720,-1108,947,11688 } },
1167 { LIBRAW_CAMERAMAKER_Pentax, "K20D", 0, 0,
1168 { 9427,-2714,-868,-7493,16092,1373,-2199,3264,7180 } },
1169 { LIBRAW_CAMERAMAKER_Pentax, "K200D", 0, 0,
1170 { 9186,-2678,-907,-8693,16517,2260,-1129,1094,8524 } },
1171 { LIBRAW_CAMERAMAKER_Pentax, "K-m", 0, 0,
1172 { 9730,-2989,-970,-8527,16258,2381,-1060,970,8362 } },
1173 { LIBRAW_CAMERAMAKER_Pentax, "KP", 0, 0,
1174 { 7825,-2160,-1403,-4841,13555,1349,-1559,2449,5814 } },
1175 { LIBRAW_CAMERAMAKER_Pentax, "K-x", 0, 0,
1176 { 8843,-2837,-625,-5025,12644,2668,-411,1234,7410 } },
1177 { LIBRAW_CAMERAMAKER_Pentax, "K-r", 0, 0,
1178 { 9895,-3077,-850,-5304,13035,2521,-883,1768,6936 } },
1179 { LIBRAW_CAMERAMAKER_Pentax, "K-1", 0, 0, // same CMs: K-1, "K-1 Mark II"
1180 { 8596,-2981,-639,-4202,12046,2431,-685,1424,6122 } },
1181 { LIBRAW_CAMERAMAKER_Pentax, "K-30", 0, 0,
1182 { 8134,-2728,-645,-4365,11987,2694,-838,1509,6498 } },
1183 { LIBRAW_CAMERAMAKER_Pentax, "K-3 Mark III", 0, 0,
1184 { 9251, -3817, -1069, -4627, 12667, 2175, -798, 1660, 5633 } },
1185 { LIBRAW_CAMERAMAKER_Pentax, "K-3", 0, 0, // same CMs: K-3, "K-3 II"
1186 { 7415,-2052,-721,-5186,12788,2682,-1446,2157,6773 } },
1187 { LIBRAW_CAMERAMAKER_Pentax, "K-500", 0, 0,
1188 { 8109,-2740,-608,-4593,12175,2731,-1006,1515,6545 } },
1189 { LIBRAW_CAMERAMAKER_Pentax, "K-50", 0, 0,
1190 { 8109,-2740,-608,-4593,12175,2731,-1006,1515,6545 } },
1191 { LIBRAW_CAMERAMAKER_Pentax, "K-5 II", 0, 0, // same CMs: "K-5 II" and "K-5 IIs"
1192 { 8170,-2725,-639,-4440,12017,2744,-771,1465,6599 } },
1193 { LIBRAW_CAMERAMAKER_Pentax, "K-5", 0, 0,
1194 { 8713,-2833,-743,-4342,11900,2772,-722,1543,6247 } },
1195 { LIBRAW_CAMERAMAKER_Pentax, "K-70", 0, 0,
1196 { 8766,-3149,-747,-3976,11943,2292,-517,1259,5552 } },
1197 { LIBRAW_CAMERAMAKER_Pentax, "K-7", 0, 0,
1198 { 9142,-2947,-678,-8648,16967,1663,-2224,2898,8615 } },
1199 { LIBRAW_CAMERAMAKER_Pentax, "KP", 0, 0,
1200 { 8617,-3228,-1034,-4674,12821,2044,-803,1577,5728 } },
1201 { LIBRAW_CAMERAMAKER_Pentax, "K-S1", 0, 0,
1202 { 8512,-3211,-787,-4167,11966,2487,-638,1288,6054 } },
1203 { LIBRAW_CAMERAMAKER_Pentax, "K-S2", 0, 0,
1204 { 8662,-3280,-798,-3928,11771,2444,-586,1232,6054 } },
1205
1206 { LIBRAW_CAMERAMAKER_Pentax, "Q-S1", 0, 0,
1207 { 12995,-5593,-1107,-1879,10139,2027,-64,1233,4919 } },
1208 { LIBRAW_CAMERAMAKER_Pentax, "Q7", 0, 0,
1209 { 10901,-3938,-1025,-2743,11210,1738,-823,1805,5344 } },
1210 { LIBRAW_CAMERAMAKER_Pentax, "Q10", 0, 0,
1211 { 11562,-4183,-1172,-2357,10919,1641,-582,1726,5112 } },
1212 { LIBRAW_CAMERAMAKER_Pentax, "Q", 0, 0,
1213 { 11731,-4169,-1267,-2015,10727,1473,-217,1492,4870 } },
1214
1215 { LIBRAW_CAMERAMAKER_Pentax, "MX-1", 0, 0,
1216 { 9296,-3146,-888,-2860,11287,1783,-618,1698,5151 } },
1217
1218 { LIBRAW_CAMERAMAKER_Pentax, "645D", 0, 0x3e00,
1219 { 10646,-3593,-1158,-3329,11699,1831,-667,2874,6287 } },
1220 { LIBRAW_CAMERAMAKER_Pentax, "645Z", 0, 0,
1221 { 9519,-3591,-664,-4074,11725,2671,-624,1501,6653 } },
1222
1223
1224 {LIBRAW_CAMERAMAKER_Panasonic, "DC-S1R", 0, 0,
1225 { 11822,-5321,-1249,-5958,15114,766,-614,1264,7043 } },
1226 {LIBRAW_CAMERAMAKER_Panasonic, "DC-S1H", 0, 0,
1227 { 9397,-3719,-805,-5425,13326,2309,-972,1715,6034 } },
1228 {LIBRAW_CAMERAMAKER_Panasonic, "DC-S1", 0, 0,
1229 { 9744,-3905,-779,-4899,12807,2324,-798,1630,5827 } },
1230 {LIBRAW_CAMERAMAKER_Panasonic, "DC-S5", 0, 0,
1231 { 9744,-3905,-779,-4899,12807,2324,-798,1630,5827 } },
1232
1233 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-CM1", -15, 0, // same CMs: DMC-CM1, DMC-CM10
1234 { 8770,-3194,-820,-2871,11281,1803,-513,1552,4434 } },
1235
1236 { LIBRAW_CAMERAMAKER_Panasonic, "DC-FZ1000M2", -15, 0,
1237 { 9803,-4185,-992,-4066,12578,1628,-838,1824,5288 } },
1238 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ1000", -15, 0,
1239 { 7830,-2696,-763,-3325,11667,1866,-641,1712,4824 } },
1240 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ2500", -15, 0,
1241 { 7386,-2443,-743,-3437,11864,1757,-608,1660,4766 } },
1242
1243 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ100", -15, 0xfff,
1244 { 16197,-6146,-1761,-2393,10765,1869,366,2238,5248 } },
1245 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ150", -15, 0xfff,
1246 { 11904,-4541,-1189,-2355,10899,1662,-296,1586,4289 } },
1247 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ200", -15, 0xfff,
1248 { 8112,-2563,-740,-3730,11784,2197,-941,2075,4933 } },
1249 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ300", -15, 0xfff,
1250 { 8378,-2798,-769,-3068,11410,1877,-538,1792,4623 } },
1251
1252 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ18", 0, 0,
1253 { 9932,-3060,-935,-5809,13331,2753,-1267,2155,5575 } },
1254 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ28", -15, 0xf96,
1255 { 10109,-3488,-993,-5412,12812,2916,-1305,2140,5543 } },
1256 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ30", 0, 0xf94,
1257 { 10976,-4029,-1141,-7918,15491,2600,-1670,2071,8246 } },
1258 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ35", -15, 0,
1259 { 9938,-2780,-890,-4604,12393,2480,-1117,2304,4620 } },
1260 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ40", -15, 0,
1261 { 13639,-5535,-1371,-1698,9633,2430,316,1152,4108 } },
1262 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ50", 0, 0,
1263 { 7906,-2709,-594,-6231,13351,3220,-1922,2631,6537 } },
1264 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ70", -15, 0,
1265 { 11532,-4324,-1066,-2375,10847,1749,-564,1699,4351 } },
1266 { LIBRAW_CAMERAMAKER_Panasonic, "DC-FZ80", -15, 0,
1267 { 8550,-2908,-842,-3195,11529,1881,-338,1603,4631 } },
1268
1269 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FZ8", 0, 0xf7f,
1270 { 8986,-2755,-802,-6341,13575,3077,-1476,2144,6379 } },
1271
1272
1273 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-L10", -15, 0xf96,
1274 { 8025,-1942,-1050,-7920,15904,2100,-2456,3005,7039 } },
1275 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-L1", 0, 0xf7f,
1276 { 8054,-1885,-1025,-8349,16367,2040,-2805,3542,7629 } },
1277
1278 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LC1", 0, 0,
1279 { 11340,-4069,-1275,-7555,15266,2448,-2960,3426,7685 } },
1280
1281 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LF1", -15, 0,
1282 { 9379,-3267,-816,-3227,11560,1881,-926,1928,5340 } },
1283
1284 { LIBRAW_CAMERAMAKER_Panasonic, "DC-LX100M2", -15, 0,
1285 { 8585,-3127,-833,-4005,12250,1953,-650,1494,4862 } }, // v.2
1286 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX100", -15, 0,
1287 { 8844,-3538,-768,-3709,11762,2200,-698,1792,5220 } },
1288
1289 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX1", 0, 0xf7f,
1290 { 10704,-4187,-1230,-8314,15952,2501,-920,945,8927 } },
1291 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX2", 0, 0,
1292 { 8048,-2810,-623,-6450,13519,3272,-1700,2146,7049 } },
1293 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX3", -15, 0,
1294 { 8128,-2668,-655,-6134,13307,3161,-1782,2568,6083 } },
1295 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX5", -15, 0,
1296 { 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } },
1297 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX7", -15, 0,
1298 { 10148,-3743,-991,-2837,11366,1659,-701,1893,4899 } },
1299 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-LX9", -15, 0,
1300 { 7790,-2736,-755,-3452,11870,1769,-628,1647,4898 } },
1301
1302 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-FX150", -15, 0xfff,
1303 { 9082,-2907,-925,-6119,13377,3058,-1797,2641,5609 } },
1304
1305 { LIBRAW_CAMERAMAKER_Panasonic, "DC-G99", -15, 0,
1306 { 9657,-3963,-748,-3361,11378,2258,-568,1415,5158 } },
1307 { LIBRAW_CAMERAMAKER_Panasonic, "DC-G100", -15, 0,
1308 { 8370,-2869,-710,-3389,11372,2298,-640,1599,4887 } },
1309 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G10", 0, 0,
1310 { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } },
1311 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G1", -15, 0xf94,
1312 { 8199,-2065,-1056,-8124,16156,2033,-2458,3022,7220 } },
1313 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G2", -15, 0xf3c,
1314 { 10113,-3400,-1114,-4765,12683,2317,-377,1437,6710 } },
1315 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G3", -15, 0xfff,
1316 { 6763,-1919,-863,-3868,11515,2684,-1216,2387,5879 } },
1317 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G5", -15, 0xfff,
1318 { 7798,-2562,-740,-3879,11584,2613,-1055,2248,5434 } },
1319 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G6", -15, 0xfff,
1320 { 8294,-2891,-651,-3869,11590,2595,-1183,2267,5352 } },
1321 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G7", -15, 0xfff,
1322 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1323 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-G8", -15, 0xfff,
1324 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1325 { LIBRAW_CAMERAMAKER_Panasonic, "DC-G9", -15, 0,
1326 { 7685,-2375,-634,-3687,11700,2249,-748,1546,5111 } },
1327
1328 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GH1", -15, 0xf92,
1329 { 6299,-1466,-532,-6535,13852,2969,-2331,3112,5984 } },
1330 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GH2", -15, 0xf95,
1331 { 7780,-2410,-806,-3913,11724,2484,-1018,2390,5298 } },
1332 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GH3", -15, 0,
1333 { 6559,-1752,-491,-3672,11407,2586,-962,1875,5130 } },
1334 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GH4", -15, 0,
1335 { 7122,-2108,-512,-3155,11201,2231,-541,1423,5045 } },
1336 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GH5s", -15, 0,
1337 { 6929,-2355,-708,-4192,12534,1828,-1097,1989,5195 } },
1338 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GH5M2", 0, 0,
1339 { 9300, -3659, -755, -2981, 10988, 2287, -190, 1077, 5016 } },
1340 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GH5", -15, 0,
1341 { 7641,-2336,-605,-3218,11299,2187,-485,1338,5121 } },
1342
1343 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GM1", -15, 0,
1344 { 6770,-1895,-744,-5232,13145,2303,-1664,2691,5703 } },
1345 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GM5", -15, 0,
1346 { 8238,-3244,-679,-3921,11814,2384,-836,2022,5852 } },
1347
1348 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GF10", -15, 0,
1349 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1350 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF1", -15, 0xf92,
1351 { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } },
1352 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF2", -15, 0xfff,
1353 { 7888,-1902,-1011,-8106,16085,2099,-2353,2866,7330 } },
1354 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF3", -15, 0xfff,
1355 { 9051,-2468,-1204,-5212,13276,2121,-1197,2510,6890 } },
1356 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF5", -15, 0xfff,
1357 { 8228,-2945,-660,-3938,11792,2430,-1094,2278,5793 } },
1358 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF6", -15, 0,
1359 { 8130,-2801,-946,-3520,11289,2552,-1314,2511,5791 } },
1360 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF7", -15, 0,
1361 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1362 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GF8", -15, 0,
1363 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1364 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GF9", -15, 0,
1365 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1366
1367 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GX85", -15, 0,
1368 { 7771,-3020,-629,-4029,11950,2345,-821,1977,6119 } },
1369 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GX1", -15, 0,
1370 { 6763,-1919,-863,-3868,11515,2684,-1216,2387,5879 } },
1371 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GX7", -15,0,
1372 { 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 } },
1373 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-GX8", -15,0,
1374 { 7564,-2263,-606,-3148,11239,2177,-540,1435,4853 } },
1375 { LIBRAW_CAMERAMAKER_Panasonic, "DC-GX9", -15, 0,
1376 { 7564,-2263,-606,-3148,11239,2177,-540,1435,4853 } },
1377
1378 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-ZS100", -15, 0,
1379 { 7790,-2736,-755,-3452,11870,1769,-628,1647,4898 } },
1380 { LIBRAW_CAMERAMAKER_Panasonic, "DC-ZS200", -15, 0,
1381 { 7790,-2736,-755,-3452,11870,1769,-628,1647,4898 } },
1382
1383 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-ZS40", -15, 0,
1384 { 8607,-2822,-808,-3755,11930,2049,-820,2060,5224 } },
1385 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-ZS50", -15, 0,
1386 { 8802,-3135,-789,-3151,11468,1904,-550,1745,4810 } },
1387 { LIBRAW_CAMERAMAKER_Panasonic, "DMC-ZS60", -15, 0,
1388 { 8550,-2908,-842,-3195,11529,1881,-338,1603,4631 } },
1389 { LIBRAW_CAMERAMAKER_Panasonic, "DC-ZS70", -15, 0,
1390 { 9052,-3117,-883,-3045,11346,1927,-205,1520,4730 } },
1391 { LIBRAW_CAMERAMAKER_Panasonic, "DC-ZS80", -15, 0,
1392 { 12194,-5340,-1329,-3035,11394,1858,-50,1418,5219 } },
1393
1394 { LIBRAW_CAMERAMAKER_PhaseOne, "H20", 0, 0,
1395 { 3906,1422,-467,-9953,18472,1365,-3307,4496,6406 } },
1396 { LIBRAW_CAMERAMAKER_PhaseOne, "H25", 0, 0,
1397 { 2905,732,-237,-8134,16626,1476,-3038,4253,7517 } },
1398 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ4 150MP", 0, 0,
1399 { 6644, -2257, -804, -6459, 14562, 2019, -1221, 1876, 6411}},
1400 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ140", 0, 0,
1401 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1402 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ150", 0, 0,
1403 {10325,845,-604,-4113,13385,481,-1791,4163,6924}}, /* temp */ /* emb */
1404 // { 3984,0,0,0,10000,0,0,0,7666 } },
1405 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ160", 0, 0,
1406 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1407 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ180", 0, 0,
1408 { 6294,686,-712,-5435,13417,2211,-1006,2435,5042 } },
1409
1410 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ250",0, 0,
1411 // {3984,0,0,0,10000,0,0,0,7666}},
1412 {10325,845,-604,-4113,13385,481,-1791,4163,6924}}, /* emb */
1413 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ260", 0, 0,
1414 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1415 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ280", 0, 0,
1416 { 6294,686,-712,-5435,13417,2211,-1006,2435,5042 } },
1417
1418 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ3 100MP", 0, 0,
1419 // {2423,0,0,0,9901,0,0,0,7989}},
1420 { 10999,354,-742,-4590,13342,937,-1060,2166,8120} }, /* emb */
1421 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ3 50MP", 0, 0,
1422 // { 3984,0,0,0,10000,0,0,0,7666 } },
1423 {10058,1079,-587,-4135,12903,944,-916,2726,7480}}, /* emb */
1424 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ3 60MP", 0, 0,
1425 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1426 { LIBRAW_CAMERAMAKER_PhaseOne, "IQ3 80MP", 0, 0,
1427 { 6294,686,-712,-5435,13417,2211,-1006,2435,5042 } },
1428
1429 { LIBRAW_CAMERAMAKER_PhaseOne, "P21", 0, 0,
1430 { 6516,-2050,-507,-8217,16703,1479,-3492,4741,8489 } },
1431 { LIBRAW_CAMERAMAKER_PhaseOne, "P30", 0, 0,
1432 { 4516,-244,-36,-7020,14976,2174,-3206,4670,7087 } },
1433 { LIBRAW_CAMERAMAKER_PhaseOne, "P40", 0, 0,
1434 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1435 { LIBRAW_CAMERAMAKER_PhaseOne, "P45", 0, 0,
1436 { 5053,-24,-117,-5685,14077,1703,-2619,4491,5850 } },
1437 { LIBRAW_CAMERAMAKER_PhaseOne, "P65", 0, 0,
1438 { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } },
1439 { LIBRAW_CAMERAMAKER_PhaseOne, "P2", 0, 0,
1440 { 2905,732,-237,-8134,16626,1476,-3038,4253,7517 } },
1441
1442 { LIBRAW_CAMERAMAKER_Photron, "BC2-HD", 0, 0,
1443 { 14603,-4122,-528,-1810,9794,2017,-297,2763,5936 } }, /* DJC */
1444
1445 { LIBRAW_CAMERAMAKER_Polaroid, "x530", 0, 0,
1446 { 13458,-2556,-510,-5444,15081,205,0,0,12120 } },
1447
1448 { LIBRAW_CAMERAMAKER_RED, "One", 704, 0xffff,
1449 { 21014,-7891,-2613,-3056,12201,856,-2203,5125,8042 } }, /* DJC */
1450
1451 { LIBRAW_CAMERAMAKER_Ricoh, "S10 24-72mm F2.5-4.4 VC", 0, 0,
1452 { 10531,-4043,-878,-2038,10270,2052,-107,895,4577 } },
1453 { LIBRAW_CAMERAMAKER_Ricoh, "GR A12 50mm F2.5 MACRO", 0, 0,
1454 { 8849,-2560,-689,-5092,12831,2520,-507,1280,7104 } },
1455 { LIBRAW_CAMERAMAKER_Ricoh, "GR DIGITAL 2", 0, 0,
1456 { 8846,-2704,-729,-5265,12708,2871,-1471,1955,6218 } },
1457 { LIBRAW_CAMERAMAKER_Ricoh, "GR DIGITAL 3", 0, 0,
1458 { 8170,-2496,-655,-5147,13056,2312,-1367,1859,5265 } },
1459 { LIBRAW_CAMERAMAKER_Ricoh, "GR DIGITAL 4", 0, 0,
1460 { 8771,-3151,-837,-3097,11015,2389,-703,1343,4924 } },
1461 { LIBRAW_CAMERAMAKER_Ricoh, "GR III", 0, 0,
1462 { 6127,-1777,-585,-5913,13699,2428,-1088,1780,6017 } },
1463 { LIBRAW_CAMERAMAKER_Ricoh, "GR II", 0, 0,
1464 { 5329,-1459,-390,-5407,12930,2768,-1119,1772,6046 } },
1465 { LIBRAW_CAMERAMAKER_Ricoh, "GR", 0, 0,
1466 { 5329,-1459,-390,-5407,12930,2768,-1119,1772,6046 } },
1467 { LIBRAW_CAMERAMAKER_Ricoh, "GX200", 0, 0,
1468 { 8040,-2368,-626,-4659,12543,2363,-1125,1581,5660 } },
1469 { LIBRAW_CAMERAMAKER_Ricoh, "GXR Mount A12", 0, 0,
1470 { 7834,-2182,-739,-5453,13409,2241,-952,2005,6620 } },
1471 { LIBRAW_CAMERAMAKER_Ricoh, "GXR A12 50mm", 0, 0,
1472 { 8849,-2560,-689,-5092,12831,2520,-507,1280,7104 } },
1473 { LIBRAW_CAMERAMAKER_Ricoh, "GXR A12 28mm", 0, 0,
1474 { 10228,-3159,-933,-5304,13158,2371,-943,1873,6685 } },
1475 { LIBRAW_CAMERAMAKER_Ricoh, "GXR A16", 0, 0,
1476 { 7837,-2538,-730,-4370,12184,2461,-868,1648,5830 } },
1477 { LIBRAW_CAMERAMAKER_Ricoh, "GXR P10", 0, 0,
1478 { 13168,-5128,-1663,-3006,11569,1611,-373,1244,4907 } },
1479 { LIBRAW_CAMERAMAKER_Ricoh, "GXR S10", 0, 0,
1480 { 8963,-2926,-754,-4881,12921,2164,-1464,1944,4901 } },
1481
1482 { LIBRAW_CAMERAMAKER_Samsung, "EX1", 0, 0x3e00,
1483 { 8898,-2498,-994,-3144,11328,2066,-760,1381,4576 } },
1484 { LIBRAW_CAMERAMAKER_Samsung, "EX2F", 0, 0x7ff,
1485 { 10648,-3897,-1055,-2022,10573,1668,-492,1611,4742 } },
1486 // { LIBRAW_CAMERAMAKER_Samsung, "GX20", 0, 0,
1487 // { 23213,-14575,-4840,-7077,16564,316,385,-1656,9398 } }, // Adobe DNG
1488 // { 27717,-17403,-5779,-8450,19778,377,459,1978,11221 } }, // Samsung DNG
1489 // { 9427,-2714,-868,-7493,16092,1373,-2199,3264,7180 } }, // Adobe DCP
1490
1491 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S6 Edge Rear Camera", 0, 0,
1492 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S6 Rear Camera", 0, 0,
1493 { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S6", 0, 0, // same CMs: "Galaxy S6", "Galaxy S6 Edge"
1494 { 13699,-5767,-1384,-4449,13879,499,-467,1691,5892 } },
1495
1496 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S7 Edge Rear Camera", 0, 0,
1497 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S7 Rear Camera", 0, 0,
1498 { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S7", 0, 0, // same CMs: "Galaxy S7", "Galaxy S7 Edge"
1499 { 9927,-3704,-1024,-3935,12758,1257,-389,1512,4993 } },
1500
1501 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S8+ Rear Camera", 0, 0,
1502 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S8 Rear Camera", 0, 0,
1503 { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S8", 0, 0, // same CMs: "Galaxy S8", "Galaxy S8+"
1504 { 9927,-3704,-1024,-3935,12758,1257,-389,1512,4993 } },
1505
1506 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S9+ Rear Camera", 0, 0,
1507 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S9 Rear Camera", 0, 0,
1508 { LIBRAW_CAMERAMAKER_Samsung, "Galaxy S9", 0, 0, // same CMs: "Galaxy S9", "Galaxy S9+"
1509 { 13292,-6142,-1268,-4095,12890,1283,-557,1930,5163 } },
1510 // { LIBRAW_CAMERAMAKER_Samsung, "Galaxy Note 9 Rear Telephoto Camera", 0, 0,
1511 { LIBRAW_CAMERAMAKER_Samsung, "Galaxy Note 9 Rear Camera", 0, 0,
1512 { 13292,-6142,-1268,-4095,12890,1283,-557,1930,5163 } },
1513
1514 { LIBRAW_CAMERAMAKER_Samsung, "NX U", 0, 0,
1515 { 7557,-2522,-739,-4679,12949,1894,-840,1777,5311 } },
1516 { LIBRAW_CAMERAMAKER_Samsung, "NX3300", 0, 0,
1517 { 8060,-2933,-761,-4504,12890,1762,-630,1489,5227 } },
1518 { LIBRAW_CAMERAMAKER_Samsung, "NX3000", 0, 0,
1519 { 8060,-2933,-761,-4504,12890,1762,-630,1489,5227 } },
1520 { LIBRAW_CAMERAMAKER_Samsung, "NX30", 0, 0, // same CMs: NX30, NX300, NX300M
1521 { 7557,-2522,-739,-4679,12949,1894,-840,1777,5311 } },
1522 { LIBRAW_CAMERAMAKER_Samsung, "NX2000", 0, 0,
1523 { 7557,-2522,-739,-4679,12949,1894,-840,1777,5311 } },
1524 { LIBRAW_CAMERAMAKER_Samsung, "NX2", 0, 0xfff, // same CMs: NX20, NX200, NX210
1525 { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } },
1526 { LIBRAW_CAMERAMAKER_Samsung, "NX1000", 0, 0,
1527 { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } },
1528 { LIBRAW_CAMERAMAKER_Samsung, "NX1100", 0, 0,
1529 { 6933,-2268,-753,-4921,13387,1647,-803,1641,6096 } },
1530 { LIBRAW_CAMERAMAKER_Samsung, "NX11", 0, 0,
1531 { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } },
1532 { LIBRAW_CAMERAMAKER_Samsung, "NX10", 0, 0, // same CMs: NX10, NX100
1533 { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } },
1534 { LIBRAW_CAMERAMAKER_Samsung, "NX500", 0, 0,
1535 { 10686,-4042,-1052,-3595,13238,276,-464,1259,5931 } },
1536 { LIBRAW_CAMERAMAKER_Samsung, "NX5", 0, 0,
1537 { 10332,-3234,-1168,-6111,14639,1520,-1352,2647,8331 } },
1538 { LIBRAW_CAMERAMAKER_Samsung, "NX1", 0, 0,
1539 { 10686,-4042,-1052,-3595,13238,276,-464,1259,5931 } },
1540 { LIBRAW_CAMERAMAKER_Samsung, "NX mini", 0, 0,
1541 { 5222,-1196,-550,-6540,14649,2009,-1666,2819,5657 } },
1542
1543 { LIBRAW_CAMERAMAKER_Samsung, "WB2000", 0, 0xfff,
1544 { 12093,-3557,-1155,-1000,9534,1733,-22,1787,4576 } },
1545 { LIBRAW_CAMERAMAKER_Samsung, "WB5000", 0, 0,
1546 { 7675, -2195, -305, -5860, 14118, 1857, -2425, 4007, 6578}},
1547 { LIBRAW_CAMERAMAKER_Samsung, "S85", 0, 0,
1548 { 11885,-3968,-1473,-4214,12299,1916,-835,1655,5549 } }, /* DJC */
1549
1550 // Foveon: LibRaw color data
1551 { LIBRAW_CAMERAMAKER_Sigma, "dp0 Quattro", 2047, 0,
1552 { 13801,-3390,-1016,5535,3802,877,1848,4245,3730 } },
1553 { LIBRAW_CAMERAMAKER_Sigma, "dp1 Quattro", 2047, 0,
1554 { 13801,-3390,-1016,5535,3802,877,1848,4245,3730 } },
1555 { LIBRAW_CAMERAMAKER_Sigma, "dp2 Quattro", 2047, 0,
1556 { 13801,-3390,-1016,5535,3802,877,1848,4245,3730 } },
1557 { LIBRAW_CAMERAMAKER_Sigma, "dp3 Quattro", 2047, 0,
1558 { 13801,-3390,-1016,5535,3802,877,1848,4245,3730 } },
1559 { LIBRAW_CAMERAMAKER_Sigma, "sd Quattro H", 256, 0,
1560 { 1295,108,-311,256,828,-65,-28,750,254 } }, /* temp */
1561 { LIBRAW_CAMERAMAKER_Sigma, "sd Quattro", 2047, 0,
1562 { 1295,108,-311,256,828,-65,-28,750,254 } }, /* temp */
1563 { LIBRAW_CAMERAMAKER_Sigma, "SD9", 15, 4095,
1564 { 13564,-2537,-751,-5465,15154,194,-67,116,10425 } },
1565 { LIBRAW_CAMERAMAKER_Sigma, "SD10", 15, 16383,
1566 { 6787,-1682,575,-3091,8357,160,217,-369,12314 } },
1567 { LIBRAW_CAMERAMAKER_Sigma, "SD14", 15, 16383,
1568 { 13589,-2509,-739,-5440,15104,193,-61,105,10554 } },
1569 { LIBRAW_CAMERAMAKER_Sigma, "SD15", 15, 4095,
1570 { 13556,-2537,-730,-5462,15144,195,-61,106,10577 } },
1571 // Merrills + SD1
1572 { LIBRAW_CAMERAMAKER_Sigma, "SD1", 31, 4095,
1573 { 5133,-1895,-353,4978,744,144,3837,3069,2777 } }, /* LibRaw */
1574 { LIBRAW_CAMERAMAKER_Sigma, "DP1 Merrill", 31, 4095,
1575 { 5133,-1895,-353,4978,744,144,3837,3069,2777 } }, /* LibRaw */
1576 { LIBRAW_CAMERAMAKER_Sigma, "DP2 Merrill", 31, 4095,
1577 { 5133,-1895,-353,4978,744,144,3837,3069,2777 } }, /* LibRaw */
1578 { LIBRAW_CAMERAMAKER_Sigma, "DP3 Merrill", 31, 4095,
1579 { 5133,-1895,-353,4978,744,144,3837,3069,2777 } }, /* LibRaw */
1580 // Sigma DP (non-Merrill Versions)
1581 { LIBRAW_CAMERAMAKER_Sigma, "DP1X", 0, 4095,
1582 { 13704,-2452,-857,-5413,15073,186,-89,151,9820 } },
1583 { LIBRAW_CAMERAMAKER_Sigma, "DP1", 0, 4095,
1584 { 12774,-2591,-394,-5333,14676,207,15,-21,12127 } },
1585 { LIBRAW_CAMERAMAKER_Sigma, "DP", 0, 4095,
1586 // { 7401,-1169,-567,2059,3769,1510,664,3367,5328 } },
1587 { 13100,-3638,-847,6855,2369,580,2723,3218,3251 } }, /* LibRaw */
1588
1589 { LIBRAW_CAMERAMAKER_Sinar, "", 0, 0,
1590 { 16442,-2956,-2422,-2877,12128,750,-1136,6066,4559 } }, /* DJC */
1591
1592 { LIBRAW_CAMERAMAKER_Sony, "DSC-F828", 0, 0,
1593 { 7924,-1910,-777,-8226,15459,2998,-1517,2199,6818,-7242,11401,3481 } },
1594 { LIBRAW_CAMERAMAKER_Sony, "DSC-R1", 0, 0,
1595 { 8512,-2641,-694,-8042,15670,2526,-1821,2117,7414 } },
1596 { LIBRAW_CAMERAMAKER_Sony, "DSC-V3", 0, 0,
1597 { 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } },
1598
1599 { LIBRAW_CAMERAMAKER_Sony, "DSC-HX9", -800, 0, // same CMs: DSC-HX95, DSC-HX99
1600 { 13076,-5686,-1481,-4027,12851,1251,-167,725,4937 } },
1601
1602 { LIBRAW_CAMERAMAKER_Sony, "ZV-1", -800, 0,
1603 {8280,-2987,-703,-3531,11645,2133,-550,1542,5312 } },
1604
1605 { LIBRAW_CAMERAMAKER_Sony, "ZV-E10", 0, 0,
1606 { 7657,-2847,-607,-4083,11966,2389,-684,1418,5844 } }, // a la ILCE-6100
1607
1608 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX100M7", -800, 0,
1609 {10315, -4390, -937, -4859, 12734, 2365, -734, 1537, 5997 } },
1610 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX100M6", -800, 0,
1611 { 7325,-2321,-596,-3494,11674,2055,-668,1562,5031 } },
1612 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX100M5A", -800, 0,
1613 { 11176,-4700,-965,-4004,12184,2032,-763,1726,5876 } },
1614 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX100M", -800, 0, // same CMs: DSC-RX100M2, DSC-RX100M3, DSC-RX100M4, DSC-RX100M5
1615 { 6596,-2079,-562,-4782,13016,1933,-970,1581,5181 } },
1616 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX100", 0, 0,
1617 { 8651,-2754,-1057,-3464,12207,1373,-568,1398,4434 } },
1618 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX10M4", -800, 0,
1619 { 7699,-2566,-629,-2967,11270,1928,-378,1286,4807 } },
1620 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX10",0, 0, // same CMs: DSC-RX10, DSC-RX10M2, DSC-RX10M3
1621 { 6679,-1825,-745,-5047,13256,1953,-1580,2422,5183 } },
1622 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX1RM2", 0, 0,
1623 { 6629,-1900,-483,-4618,12349,2550,-622,1381,6514 } },
1624 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX1R", 0, 0,
1625 { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
1626 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX1", 0, 0,
1627 { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
1628
1629 { LIBRAW_CAMERAMAKER_Sony, "DSC-RX0", -800, 0, // same CMs: DSC-RX0, DSC-RX0M2
1630 { 9396,-3507,-843,-2497,11111,1572,-343,1355,5089 } },
1631
1632 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A100", 0, 0xfeb,
1633 { 9437,-2811,-774,-8405,16215,2290,-710,596,7181 } },
1634 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A290", 0, 0,
1635 { 6038,-1484,-579,-9145,16746,2512,-875,746,7218 } },
1636 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A2", 0, 0, // same CMs: DSLR-A200, DSLR-A230
1637 { 9847,-3091,-928,-8485,16345,2225,-715,595,7103 } },
1638 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A300", 0, 0,
1639 { 9847,-3091,-928,-8485,16345,2225,-715,595,7103 } },
1640 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A330", 0, 0,
1641 { 9847,-3091,-929,-8485,16346,2225,-714,595,7103 } },
1642 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A3", 0, 0, // same CMs: DSLR-A350, DSLR-A380, DSLR-A390
1643 { 6038,-1484,-579,-9145,16746,2512,-875,746,7218 } },
1644 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A450", 0, 0, // close to 16596 if arw is 14-bit
1645 { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } },
1646 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A580", 0, 16596,
1647 { 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } },
1648 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A500", 0, 16596,
1649 { 6046,-1127,-278,-5574,13076,2786,-691,1419,7625 } },
1650 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A5", 0, 16596, // same CMs: DSLR-A550, DSLR-A560
1651 { 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } },
1652 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A700", 0, 0,
1653 { 5775,-805,-359,-8574,16295,2391,-1943,2341,7249 } },
1654 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A850", 0, 0,
1655 { 5413,-1162,-365,-5665,13098,2866,-608,1179,8440 } },
1656 { LIBRAW_CAMERAMAKER_Sony, "DSLR-A900", 0, 0,
1657 { 5209,-1072,-397,-8845,16120,2919,-1618,1803,8654 } },
1658
1659 { LIBRAW_CAMERAMAKER_Sony, "ILCA-68", 0, 0,
1660 { 6435,-1903,-536,-4722,12449,2550,-663,1363,6517 } },
1661 { LIBRAW_CAMERAMAKER_Sony, "ILCA-77M2", 0, 0,
1662 { 5991,-1732,-443,-4100,11989,2381,-704,1467,5992 } },
1663 { LIBRAW_CAMERAMAKER_Sony, "ILCA-99M2", 0, 0,
1664 { 6660,-1918,-471,-4613,12398,2485,-649,1433,6447 } },
1665
1666 { LIBRAW_CAMERAMAKER_Sony, "ILCE-1", 0, 0,
1667 { 8161, -2947, -739, -4811, 12668, 2389, -437, 1229, 6524}},
1668 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7RM4", 0, 0, // same CMs: ILCE-7RM4, ILCE-7RM4A
1669 { 7662, -2686,-660,-5240, 12965,2530, -796, 1508, 6167 } },
1670 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7RM3", 0, 0, // same CMs: ILCE-7RM3, ILCE-7RM3A
1671 { 6640,-1847,-503,-5238,13010,2474,-993,1673,6527 } },
1672 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7RM2", 0, 0,
1673 { 6629,-1900,-483,-4618,12349,2550,-622,1381,6514 } },
1674 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7R", 0, 0,
1675 { 4913,-541,-202,-6130,13513,2906,-1564,2151,7183 } },
1676
1677 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7SM3", 0, 0,
1678 { 6912,-2127,-469,-4470,12175,2587,-398,1478,6492 } },
1679 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7S", 0, 0, // same CMs: ILCE-7S, ILCE-7SM2
1680 { 5838,-1430,-246,-3497,11477,2297,-748,1885,5778 } },
1681
1682 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7C", 0, 0,
1683 { 7374,-2389,-551,-5435,13162,2519,-1006,1795,6552 } },
1684
1685 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7M3", 0, 0,
1686 { 7374,-2389,-551,-5435,13162,2519,-1006,1795,6552 } },
1687 { LIBRAW_CAMERAMAKER_Sony, "ILCE-7", 0, 0, // same CMs: ILCE-7, ILCE-7M2
1688 { 5271,-712,-347,-6153,13653,2763,-1601,2366,7242 } },
1689
1690 { LIBRAW_CAMERAMAKER_Sony, "ILCE-9", 0, 0, // same CMs: ILCE-9, ILCE-9M2
1691 { 6389,-1703,-378,-4562,12265,2587,-670,1489,6550 } },
1692
1693 { LIBRAW_CAMERAMAKER_Sony, "ILCE-6100", 0, 0,
1694 { 7657,-2847,-607,-4083,11966,2389,-684,1418,5844 } },
1695 { LIBRAW_CAMERAMAKER_Sony, "ILCE-6300", 0, 0,
1696 { 5973,-1695,-419,-3826,11797,2293,-639,1398,5789 } },
1697 { LIBRAW_CAMERAMAKER_Sony, "ILCE-6400", 0, 0,
1698 { 7657,-2847,-607,-4083,11966,2389,-684,1418,5844 } },
1699 { LIBRAW_CAMERAMAKER_Sony, "ILCE-6500", 0, 0,
1700 { 5973,-1695,-419,-3826,11797,2293,-639,1398,5789 } },
1701 { LIBRAW_CAMERAMAKER_Sony, "ILCE-6600", 0, 0,
1702 { 7657,-2847,-607,-4083,11966,2389,-684,1418,5844 } },
1703 { LIBRAW_CAMERAMAKER_Sony, "ILCE", 0, 0, // same CMs: ILCE-3000, ILCE-5000, ILCE-5100, ILCE-6000, ILCE-QX1
1704 { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
1705
1706 { LIBRAW_CAMERAMAKER_Sony, "ILME-FX3", 0, 0,
1707 { 6912, -2127, -469, -4470, 12175, 2587, -398, 1478, 6492 } },
1708
1709 { LIBRAW_CAMERAMAKER_Sony, "NEX-5N", 0, 0,
1710 { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
1711 { LIBRAW_CAMERAMAKER_Sony, "NEX-5R", 0, 0,
1712 { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } },
1713 { LIBRAW_CAMERAMAKER_Sony, "NEX-5T", 0, 0,
1714 { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } },
1715 { LIBRAW_CAMERAMAKER_Sony, "NEX-5", 0, 0,
1716 { 6549,-1550,-436,-4880,12435,2753,-854,1868,6976 } },
1717 { LIBRAW_CAMERAMAKER_Sony, "NEX-3N", 0, 0,
1718 { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } },
1719 { LIBRAW_CAMERAMAKER_Sony, "NEX-3", 0, 0,
1720 { 6549,-1550,-436,-4880,12435,2753,-854,1868,6976 } },
1721 { LIBRAW_CAMERAMAKER_Sony, "NEX-6", 0, 0,
1722 { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } },
1723 { LIBRAW_CAMERAMAKER_Sony, "NEX-7", 0, 0,
1724 { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } },
1725 { LIBRAW_CAMERAMAKER_Sony, "NEX-VG30", 0, 0,
1726 { 6129,-1545,-418,-4930,12490,2743,-977,1693,6615 } },
1727 { LIBRAW_CAMERAMAKER_Sony, "NEX-VG900", 0, 0,
1728 { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
1729 { LIBRAW_CAMERAMAKER_Sony, "NEX", 0, 0, // same CMs: NEX-C3, NEX-F3, NEX-VG20
1730 { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
1731 { LIBRAW_CAMERAMAKER_Sony, "SLT-A33", 0, 0,
1732 { 6069,-1221,-366,-5221,12779,2734,-1024,2066,6834 } },
1733 { LIBRAW_CAMERAMAKER_Sony, "SLT-A35", 0, 0,
1734 { 5986,-1618,-415,-4557,11820,3120,-681,1404,6971 } },
1735 { LIBRAW_CAMERAMAKER_Sony, "SLT-A37", 0, 0,
1736 { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
1737 { LIBRAW_CAMERAMAKER_Sony, "SLT-A55", 0, 0,
1738 { 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } },
1739 { LIBRAW_CAMERAMAKER_Sony, "SLT-A5", 0, 0, // same CMs: SLT-A57, SLT-A58
1740 { 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
1741 { LIBRAW_CAMERAMAKER_Sony, "SLT-A65", 0, 0,
1742 { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } },
1743 { LIBRAW_CAMERAMAKER_Sony, "SLT-A77", 0, 0,
1744 { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } },
1745 { LIBRAW_CAMERAMAKER_Sony, "SLT-A99", 0, 0,
1746 { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
1747 { LIBRAW_CAMERAMAKER_Sony, "MODEL-NAME", 0, 0,
1748 { 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 } },
1749
1750 { LIBRAW_CAMERAMAKER_YI, "M1", 0, 0,
1751 { 7712,-2059,-653,-3882,11494,2726,-710,1332,5958 } },
1752 };
1753 // clang-format on
1754
1755 double cam_xyz[4][3];
1756 //char name[130];
1757 int i, j;
1758
1759 if (colors > 4 || colors < 1)
1760 return 1;
1761
1762 int bl4 = (cblack[0] + cblack[1] + cblack[2] + cblack[3]) / 4, bl64 = 0;
1763 if (cblack[4] * cblack[5] > 0)
1764 {
1765 for (unsigned c = 0; c < 4096 && c < cblack[4] * cblack[5]; c++)
1766 bl64 += cblack[c + 6];
1767 bl64 /= cblack[4] * cblack[5];
1768 }
1769 int rblack = black + bl4 + bl64;
1770
1771 for (i = 0; i < int(sizeof table / sizeof *table); i++)
1772 {
1773 if (table[i].m_idx == make_idx)
1774 {
1775 size_t l = strlen(table[i].prefix);
1776 if (!l || !strncasecmp(t_model, table[i].prefix, l))
1777 {
1778 if (!dng_version)
1779 {
1780 if (table[i].t_black > 0)
1781 {
1782 black = (ushort)table[i].t_black;
1783 memset(cblack, 0, sizeof(cblack));
1784 }
1785 else if (table[i].t_black < 0 && rblack == 0)
1786 {
1787 black = (ushort)(-table[i].t_black);
1788 memset(cblack, 0, sizeof(cblack));
1789 }
1790 if (table[i].t_maximum)
1791 maximum = (ushort)table[i].t_maximum;
1792 }
1793 if (table[i].trans[0])
1794 {
1795 for (raw_color = j = 0; j < 12; j++)
1796 if (internal_only)
1797 imgdata.color.cam_xyz[j / 3][j % 3] = table[i].trans[j] / 10000.f;
1798 else
1799 ((double *)cam_xyz)[j] = imgdata.color.cam_xyz[j / 3][j % 3] = table[i].trans[j] / 10000.f;
1800 if (!internal_only)
1801 cam_xyz_coeff(rgb_cam, cam_xyz);
1802 }
1803 return 1; // CM found
1804 }
1805 }
1806 }
1807 return 0; // CM not found
1808 }
simple_coeff(int index)1809 void LibRaw::simple_coeff(int index)
1810 {
1811 static const float table[][12] = {
1812 /* index 0 -- all Foveon cameras */
1813 {1.4032, -0.2231, -0.1016, -0.5263, 1.4816, 0.017, -0.0112, 0.0183,
1814 0.9113},
1815 /* index 1 -- Kodak DC20 and DC25 */
1816 {2.25, 0.75, -1.75, -0.25, -0.25, 0.75, 0.75, -0.25, -0.25, -1.75, 0.75,
1817 2.25},
1818 /* index 2 -- Logitech Fotoman Pixtura */
1819 {1.893, -0.418, -0.476, -0.495, 1.773, -0.278, -1.017, -0.655, 2.672},
1820 /* index 3 -- Nikon E880, E900, and E990 */
1821 {-1.936280, 1.800443, -1.448486, 2.584324, 1.405365, -0.524955, -0.289090,
1822 0.408680, -1.204965, 1.082304, 2.941367, -1.818705}};
1823 int i, c;
1824
1825 for (raw_color = i = 0; i < 3; i++)
1826 FORCC rgb_cam[i][c] = table[index][i * MIN(colors,4) + c];
1827 }
1828