source: trunk/include/camera.h @ 595

Revision 595, 54.3 KB checked in by reyalp, 5 years ago (diff)

dng for ixus75 from msl http://chdk.kernreaktor.org/mantis/view.php?id=104

  • Property svn:eol-style set to native
Line 
1#ifndef CAMERA_H
2#define CAMERA_H
3
4//==========================================================
5// Camera-dependent settings
6//==========================================================
7
8//----------------------------------------------------------
9// Default values
10//----------------------------------------------------------
11    #undef  CAM_RAW_ROWPIX                  // Number of pixels in RAW row
12    #undef  CAM_RAW_ROWS                    // Number of rows in RAW
13   
14    #undef  CAM_DRYOS                       // Camera is DryOS-based
15    #undef  CAM_PROPSET                     // Camera's properties group (the generation)
16   
17    #undef  CAM_SWIVEL_SCREEN               // Camera has rotated LCD screen
18    #define CAM_USE_ZOOM_FOR_MF         1   // Zoom lever can be used for manual focus adjustments
19    #undef  CAM_ADJUSTABLE_ALT_BUTTON       // ALT-button can be set from menu
20    #define CAM_REMOTE                  1   // Camera supports USB-remote
21    #define CAM_SYNCH                   1   // Camera supports SDM precision synch
22    #undef  CAM_MULTIPART                   // Camera supports SD-card multipartitioning
23    #define CAM_HAS_ZOOM_LEVER          1   // Camera has dedicated zoom buttons
24    #undef  CAM_DRAW_EXPOSITION             // Output expo-pair on screen (for cameras which (sometimes) don't do that)
25    #define CAM_HAS_ERASE_BUTTON        1   // Camera has dedicated erase button
26    #define CAM_HAS_IRIS_DIAPHRAGM      1   // Camera has real diaphragm mechanism
27    #undef  CAM_HAS_ND_FILTER               // Camera has build-in ND filter
28    #define CAM_CAN_SD_OVER_NOT_IN_MF   1   // Camera allows subject distance (focus) override when not in manual focus mode
29    #define CAM_CAN_SD_OVERRIDE         1   // Camera allows to do subject distance override
30    #define CAM_HAS_MANUAL_FOCUS        1   // Camera has manual focus mode
31    #define CAM_HAS_USER_TV_MODES       1   // Camera has tv-priority or manual modes with ability to set tv value
32    #undef  CAM_SHOW_OSD_IN_SHOOT_MENU      // On some cameras Canon shoot menu has additional functionality and useful in this case to see CHDK OSD in this mode 
33    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO  1 // Camera can unlock optical zoom in video (if it is locked)
34    #undef  CAM_FEATURE_FEATHER             // Cameras with "feather" or touch wheel.
35    #define CAM_HAS_IS                  1   // Camera has image stabilizer
36
37    #undef  CAM_CONSOLE_LOG_ENABLED         // Development: internal camera stdout -> A/stdout.txt
38    #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1   // In CHDK for this camera realized adjustable video compression
39    #undef  CAM_CAN_MUTE_MICROPHONE         // Camera has function to mute microphone
40
41    #define CAM_EMUL_KEYPRESS_DELAY     40  // Delay to interpret <alt>-button press as longpress
42    #define CAM_EMUL_KEYPRESS_DURATION  5   // Length of keypress emulation
43
44    #undef  CAM_AF_SCAN_DURING_VIDEO_RECORD // CHDK can make single AF scan during video record
45    #undef  CAM_HAS_VIDEO_BUTTON            // Camera can take stills in video mode, and vice versa
46    #undef  CAM_EV_IN_VIDEO                 // CHDK can change exposure in video mode
47    #define CAM_VIDEO_CONTROL      1   // pause / unpause video recordings
48
49    #define ZOOM_OVERRIDE               0   // Shall zoom-override be used? default 0 becoz not implemented right now
50    #undef  DNG_SUPPORT                 
51    #undef  CAM_REAR_CURTAIN                // Camera do not have front/rear curtain flash sync in menu
52    #undef  CAM_BRACKETING                // Cameras that have bracketing (focus & ev) in original firmware already, most likely s- & g-series (propcase for digic III not found yet!)
53
54//----------------------------------------------------------
55// Overridden values for each camera
56//----------------------------------------------------------
57
58//==========================================================
59// G-series
60//==========================================================
61#if   defined (CAMERA_g7)
62    #define CAM_PROPSET                 1
63
64    #define CAM_RAW_ROWPIX              3736   // for 10 MP
65    #define CAM_RAW_ROWS                2772   // for 10 MP
66   
67    #undef  CAM_USE_ZOOM_FOR_MF
68    #define CAM_ADJUSTABLE_ALT_BUTTON   1
69    #define CAM_MULTIPART               1
70    #define CAM_HAS_ND_FILTER           1
71    #undef  CAM_HAS_IS
72    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
73    #define DNG_SUPPORT                 1
74    // pattern
75    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
76    // color
77    #define CAM_COLORMATRIX1                                \
78      510370,  1000000, -68998,  1000000, -86859,  1000000, \
79      -279980, 1000000, 766686,  1000000,  67944,  1000000, \
80      -14382,  1000000, 113688,  1000000, 239853,  1000000
81   
82    #define cam_CalibrationIlluminant1 1 // Daylight
83    // cropping
84    #define CAM_JPEG_WIDTH  3072
85    #define CAM_JPEG_HEIGHT 2304
86    #define CAM_ACTIVE_AREA_X1 12
87    #define CAM_ACTIVE_AREA_Y1 8
88    #define CAM_ACTIVE_AREA_X2 3108
89    #define CAM_ACTIVE_AREA_Y2 2332
90    // camera name
91    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
92    #define CAM_BRACKETING              1   
93 //----------------------------------------------------------
94#elif defined (CAMERA_g9)
95    #define CAM_PROPSET                 2
96    #define CAM_DRYOS                   1
97
98    #define CAM_RAW_ROWPIX              4104   // for 12 MP
99    #define CAM_RAW_ROWS                3048   // for 12 MP
100
101
102//   #define CAM_MULTIPART               1
103    #define CAM_HAS_ND_FILTER           1
104
105    #define CAM_ADJUSTABLE_ALT_BUTTON   1
106    #define CAM_SWIVEL_SCREEN           1
107    #define CAM_CAN_MUTE_MICROPHONE     1
108
109    #undef  CAM_EMUL_KEYPRESS_DURATION
110    #define CAM_EMUL_KEYPRESS_DURATION  10
111    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
112    #define CAM_EV_IN_VIDEO             1
113//      #define CAM_CONSOLE_LOG_ENABLED     1
114//  #define CAM_BRACKETING              1  //propcase still missing for dryos   
115//==========================================================
116// A-series
117//==========================================================
118#elif defined (CAMERA_a450)
119    #define CAM_PROPSET                 2
120
121    #define CAM_RAW_ROWPIX              2664   // for 5 MP 1/3" sensor size
122    #define CAM_RAW_ROWS                1968   // for 5 MP 1/3" sensor size
123
124    #undef  CAM_USE_ZOOM_FOR_MF
125    #undef  CAM_HAS_ZOOM_LEVER
126    #define CAM_DRAW_EXPOSITION         1
127    #undef  CAM_HAS_ERASE_BUTTON
128    #undef  CAM_HAS_IRIS_DIAPHRAGM
129    #define CAM_HAS_ND_FILTER           1
130    #undef  CAM_HAS_MANUAL_FOCUS
131    #undef  CAM_HAS_USER_TV_MODES
132    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
133    #undef  CAM_HAS_IS
134    #define CAM_CAN_MUTE_MICROPHONE     1
135    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
136    #define CAM_EV_IN_VIDEO             1
137    #define DNG_SUPPORT                 1
138    // pattern
139    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
140    // color
141    #define CAM_COLORMATRIX1                               \
142      652279,  1000000,-199279, 1000000, -101833, 1000000, \
143     -159819,  1000000, 619308, 1000000,   78172, 1000000, \
144      -58827,  1000000, 150963, 1000000,  264216, 1000000
145   
146    #define cam_CalibrationIlluminant1 1 // Daylight
147    // cropping
148    #define CAM_JPEG_WIDTH  2592
149    #define CAM_JPEG_HEIGHT 1944
150    #define CAM_ACTIVE_AREA_X1 6
151    #define CAM_ACTIVE_AREA_Y1 6
152    #define CAM_ACTIVE_AREA_X2 2618
153    #define CAM_ACTIVE_AREA_Y2 1962
154    // camera name
155    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
156
157   
158//----------------------------------------------------------
159#elif defined (CAMERA_a460)
160    #define CAM_PROPSET                 2
161
162    #define CAM_RAW_ROWPIX              2664   // for 5 MP 1/3" sensor size
163    #define CAM_RAW_ROWS                1968   // for 5 MP 1/3" sensor size
164
165    #undef  CAM_USE_ZOOM_FOR_MF
166    #undef  CAM_HAS_ZOOM_LEVER
167    #define CAM_DRAW_EXPOSITION         1
168    #undef  CAM_HAS_ERASE_BUTTON
169    #undef  CAM_HAS_IRIS_DIAPHRAGM
170    #define CAM_HAS_ND_FILTER           1
171    #undef  CAM_HAS_MANUAL_FOCUS
172    #undef  CAM_HAS_USER_TV_MODES
173    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
174    #undef  CAM_HAS_IS
175    #define CAM_CAN_MUTE_MICROPHONE     1
176    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
177    #define CAM_EV_IN_VIDEO             1
178    #define DNG_SUPPORT                 1
179    // pattern
180    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
181    // color
182    #define CAM_COLORMATRIX1                               \
183      649324,  1000000,-233893, 1000000, -88521, 1000000,  \
184     -158955,  1000000, 593407, 1000000,  69775, 1000000,  \
185      -44551,  1000000, 136891, 1000000, 254362, 1000000   
186   
187    #define cam_CalibrationIlluminant1 1 // Daylight
188    // cropping
189    #define CAM_JPEG_WIDTH  2592
190    #define CAM_JPEG_HEIGHT 1944
191    #define CAM_ACTIVE_AREA_X1 6
192    #define CAM_ACTIVE_AREA_Y1 6
193    #define CAM_ACTIVE_AREA_X2 2618
194    #define CAM_ACTIVE_AREA_Y2 1962
195    // camera name
196    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
197
198//----------------------------------------------------------
199#elif defined (CAMERA_a530)
200    #define CAM_PROPSET                 1
201
202//  2672x1968 image - like most other 5m sensors
203    #define CAM_RAW_ROWPIX              2672   // for 5 MP
204    #define CAM_RAW_ROWS                1968   // for 5 MP
205//  2672x1992 image - eventually probably real sensor size
206//  #define CAM_RAW_ROWPIX              2672   // for 5 MP
207//  #define CAM_RAW_ROWS                1992   // for 5 MP
208
209    #undef  CAM_USE_ZOOM_FOR_MF
210    #define CAM_HAS_ERASE_BUTTON        1
211    #undef  CAM_HAS_IRIS_DIAPHRAGM
212    #define CAM_HAS_ND_FILTER           1
213    #define CAM_HAS_MANUAL_FOCUS        1
214    #define CAM_DRAW_EXPOSITION         1
215    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
216    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
217    #undef  CAM_HAS_IS
218    #define CAM_CAN_MUTE_MICROPHONE     1
219    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
220    #define CAM_EV_IN_VIDEO             1
221    #define DNG_SUPPORT                 1
222    // pattern
223    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
224    // color
225    #define CAM_COLORMATRIX1                               \
226      725264,  1000000,-240542, 1000000, -122310, 1000000, \
227     -210248,  1000000, 656077, 1000000,  52390,  1000000, \
228      -11282,  1000000, 70400,  1000000,  300712, 1000000
229   
230    #define cam_CalibrationIlluminant1 1 // Daylight
231    // cropping
232    #define CAM_JPEG_WIDTH  2592
233    #define CAM_JPEG_HEIGHT 1944
234    #define CAM_ACTIVE_AREA_X1 12
235    #define CAM_ACTIVE_AREA_Y1 20
236    #define CAM_ACTIVE_AREA_X2 2628
237    #define CAM_ACTIVE_AREA_Y2 1968
238    // camera name
239    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
240
241//----------------------------------------------------------
242#elif defined (CAMERA_a540)
243    #define CAM_PROPSET                 1
244
245    #define CAM_RAW_ROWPIX              2888   // for 6 MP
246    #define CAM_RAW_ROWS                2136   // for 6 MP
247
248    #undef  CAM_USE_ZOOM_FOR_MF
249    #define CAM_HAS_ERASE_BUTTON        1
250    #define CAM_HAS_IRIS_DIAPHRAGM      1
251    #undef  CAM_HAS_ND_FILTER
252    #define CAM_HAS_MANUAL_FOCUS        1
253    #undef  CAM_DRAW_EXPOSITION
254    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
255    #undef  CAM_HAS_IS
256    #define CAM_CAN_MUTE_MICROPHONE     1
257    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
258    #define CAM_EV_IN_VIDEO             1
259    #define DNG_SUPPORT                 1
260    // pattern
261    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
262    // color
263    #define CAM_COLORMATRIX1                               \
264      687147,  1000000,-201964, 1000000, -125024, 1000000, \
265     -148403,  1000000, 566810, 1000000,   45401, 1000000, \
266     -9472,    1000000, 63186,  1000000,  208602, 1000000
267   
268    #define cam_CalibrationIlluminant1 1 // Daylight
269    // cropping
270    #define CAM_JPEG_WIDTH  2816
271    #define CAM_JPEG_HEIGHT 2112
272    #define CAM_ACTIVE_AREA_X1 44
273    #define CAM_ACTIVE_AREA_Y1 8
274    #define CAM_ACTIVE_AREA_X2 2884
275    #define CAM_ACTIVE_AREA_Y2 2136
276    // camera name
277    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
278
279//----------------------------------------------------------
280#elif defined (CAMERA_a550)
281    #define CAM_PROPSET                 2
282
283    #define CAM_RAW_ROWPIX              3152   // for 7 MP
284    #define CAM_RAW_ROWS                2340   // for 7 MP
285
286    #undef  CAM_USE_ZOOM_FOR_MF
287    #define CAM_MULTIPART               1
288    #undef  CAM_HAS_ERASE_BUTTON
289    #undef  CAM_HAS_IRIS_DIAPHRAGM
290    #define CAM_HAS_ND_FILTER           1
291    #undef  CAM_HAS_MANUAL_FOCUS
292    #undef  CAM_HAS_USER_TV_MODES
293    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
294    #undef  CAM_HAS_IS
295    #define CAM_CAN_MUTE_MICROPHONE     1
296    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
297    #define DNG_SUPPORT                 1
298    // pattern
299    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
300    // color
301    #define CAM_COLORMATRIX1                               \
302      673251,  1000000,-200684, 1000000, -98680, 1000000,  \
303     -163638,  1000000, 651247, 1000000,  74004, 1000000,  \
304      14221,   1000000, 52979,  1000000, 265291, 1000000
305   
306    #define cam_CalibrationIlluminant1 1 // Daylight
307    // cropping
308    #define CAM_JPEG_WIDTH  3072
309    #define CAM_JPEG_HEIGHT 2304
310    #define CAM_ACTIVE_AREA_X1 36
311    #define CAM_ACTIVE_AREA_Y1 12
312    #define CAM_ACTIVE_AREA_X2 3148
313    #define CAM_ACTIVE_AREA_Y2 2340
314    // camera name
315    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
316   
317//----------------------------------------------------------
318#elif defined (CAMERA_a560)
319    #define CAM_PROPSET                 2
320
321    #define CAM_RAW_ROWPIX              3152   // for 7 MP
322    #define CAM_RAW_ROWS                2340   // for 7 MP
323
324    #undef  CAM_USE_ZOOM_FOR_MF
325    #define CAM_MULTIPART               1
326    #undef  CAM_HAS_ERASE_BUTTON
327    #undef  CAM_HAS_IRIS_DIAPHRAGM
328    #define CAM_HAS_ND_FILTER           1
329    #undef  CAM_HAS_MANUAL_FOCUS
330    #undef  CAM_HAS_USER_TV_MODES
331    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
332    #undef  CAM_HAS_IS
333    #define CAM_CAN_MUTE_MICROPHONE     1
334    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
335    #define DNG_SUPPORT                 1
336    // pattern
337    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
338    // color
339    #define CAM_COLORMATRIX1                               \
340      15265, 1, -6193, 1, -1558, 1,                        \
341     -4125,  1, 12116, 1,  2010, 1,                        \
342     -888,   1, 1639,  1,  5220, 1                         
343   
344    #define cam_CalibrationIlluminant1 17 // Standard light A
345    // cropping
346    #define CAM_JPEG_WIDTH  3072
347    #define CAM_JPEG_HEIGHT 2304
348    #define CAM_ACTIVE_AREA_X1 38
349    #define CAM_ACTIVE_AREA_Y1 14
350    #define CAM_ACTIVE_AREA_X2 3146
351    #define CAM_ACTIVE_AREA_Y2 2338
352    // camera name
353    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
354   
355//----------------------------------------------------------
356#elif defined (CAMERA_a570)
357    #define CAM_PROPSET                 2
358
359    #define CAM_RAW_ROWPIX              3152   // for 7 MP
360    #define CAM_RAW_ROWS                2340   // for 7 MP
361    #define CAM_MULTIPART               1
362    #define CAM_CAN_MUTE_MICROPHONE     1
363    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
364    #define CAM_EV_IN_VIDEO             1
365    #define DNG_SUPPORT                 1
366    #define CAM_REAR_CURTAIN            1
367    // pattern
368    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
369    // color
370    #define CAM_COLORMATRIX1                               \
371      528283,  1000000,-144259, 1000000, -85966, 1000000,  \
372     -202789,  1000000, 736563, 1000000,  73008, 1000000,  \
373     -27130,   1000000, 107702, 1000000, 264543, 1000000
374   
375    #define cam_CalibrationIlluminant1 1 // Daylight
376    // cropping
377    #define CAM_JPEG_WIDTH  3072
378    #define CAM_JPEG_HEIGHT 2304
379    #define CAM_ACTIVE_AREA_X1 38
380    #define CAM_ACTIVE_AREA_Y1 14
381    #define CAM_ACTIVE_AREA_X2 3146
382    #define CAM_ACTIVE_AREA_Y2 2338
383    // camera name
384    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
385
386//----------------------------------------------------------
387#elif defined (CAMERA_a590)
388    #define CAM_PROPSET                 2
389    #define CAM_DRYOS                   1
390
391    #define CAM_RAW_ROWPIX              3264 //3336   // for new 8 MP
392    #define CAM_RAW_ROWS                2448 //2490    // for new 8 MP
393
394        // TODO / test
395    #define  CAM_CAN_MUTE_MICROPHONE 1
396
397//----------------------------------------------------------
398#elif defined (CAMERA_a610)
399    #define CAM_PROPSET                 1
400
401    #define CAM_RAW_ROWPIX              2672   // for 5 MP
402    #define CAM_RAW_ROWS                1968   // for 5 MP
403   
404    #define CAM_SWIVEL_SCREEN           1
405    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
406    #undef  CAM_HAS_IS
407    #define CAM_CAN_MUTE_MICROPHONE     1
408    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
409    #define CAM_EV_IN_VIDEO             1
410    #define DNG_SUPPORT                 1
411    // pattern
412    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
413    // color
414    #define CAM_COLORMATRIX1                               \
415      15887,  10000, -6524, 10000, -1622, 10000,           \
416     -5467,   10000, 13449, 10000,  2209, 10000,           \
417     -1325,   10000, 1859,  10000,  5172, 10000
418   
419    #define cam_CalibrationIlluminant1 17 // Standard light A
420    // cropping
421    #define CAM_JPEG_WIDTH  2592
422    #define CAM_JPEG_HEIGHT 1944
423    #define CAM_ACTIVE_AREA_X1 14
424    #define CAM_ACTIVE_AREA_Y1 10
425    #define CAM_ACTIVE_AREA_X2 2626
426    #define CAM_ACTIVE_AREA_Y2 1966
427    // camera name
428    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
429
430//----------------------------------------------------------
431#elif defined (CAMERA_a620)
432    #define CAM_PROPSET                 1
433
434    #define CAM_RAW_ROWPIX              3152   // for 7 MP
435    #define CAM_RAW_ROWS                2340   // for 7 MP
436   
437    #define CAM_SWIVEL_SCREEN           1
438    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
439    #undef  CAM_HAS_IS   
440    #define CAM_CAN_MUTE_MICROPHONE     1
441    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
442    #define CAM_EV_IN_VIDEO             1
443    #define DNG_SUPPORT                 1
444    // pattern
445    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
446    // color
447    #define CAM_COLORMATRIX1                               \
448     15265, 10000, -6193, 10000, -1558, 10000,             \
449     -4125, 10000, 12116, 10000,  2010, 10000,             \
450     -888,  10000,  1639, 10000,  5220, 10000
451   
452    #define cam_CalibrationIlluminant1 17 // Standard light A
453    // cropping
454    #define CAM_JPEG_WIDTH  3072
455    #define CAM_JPEG_HEIGHT 2304
456    #define CAM_ACTIVE_AREA_X1 38
457    #define CAM_ACTIVE_AREA_Y1 14
458    #define CAM_ACTIVE_AREA_X2 3146
459    #define CAM_ACTIVE_AREA_Y2 2338
460    // camera name
461    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
462
463//----------------------------------------------------------
464#elif defined (CAMERA_a630)
465    #define CAM_PROPSET                 1
466
467    #define CAM_RAW_ROWPIX              3344   // for 8 MP
468    #define CAM_RAW_ROWS                2484   // for 8 MP
469   
470    #define CAM_SWIVEL_SCREEN           1
471    #define CAM_MULTIPART               1
472    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
473    #undef  CAM_HAS_IS
474    #define CAM_CAN_MUTE_MICROPHONE     1
475    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
476    #define CAM_EV_IN_VIDEO             1
477    #define DNG_SUPPORT                 1
478    // pattern
479    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
480    // color
481    #define CAM_COLORMATRIX1                               \
482      656080,  1000000,-226478, 1000000, -85884, 1000000,  \
483     -194636,  1000000, 687905, 1000000,  37862, 1000000,  \
484       22873,  1000000,  75523, 1000000, 265822, 1000000
485   
486    #define cam_CalibrationIlluminant1 1 // Daylight
487    // cropping
488    #define CAM_JPEG_WIDTH  3264
489    #define CAM_JPEG_HEIGHT 2448
490    #define CAM_ACTIVE_AREA_X1 14
491    #define CAM_ACTIVE_AREA_Y1 8
492    #define CAM_ACTIVE_AREA_X2 3298
493    #define CAM_ACTIVE_AREA_Y2 2476
494    // camera name
495    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
496
497//----------------------------------------------------------
498#elif defined (CAMERA_a640)
499    #define CAM_PROPSET                 1
500
501    #define CAM_RAW_ROWPIX              3736   // for 10 MP
502    #define CAM_RAW_ROWS                2772   // for 10 MP
503   
504    #define CAM_SWIVEL_SCREEN           1
505    #define CAM_MULTIPART               1
506    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
507    #undef  CAM_HAS_IS
508    #define CAM_CAN_MUTE_MICROPHONE     1
509    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
510    #define CAM_EV_IN_VIDEO             1
511    #define DNG_SUPPORT                 1
512    // pattern
513    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
514    // color
515    #define CAM_COLORMATRIX1                               \
516      13124,  10000, -5329, 10000, -1390, 10000,           \
517      -3602,  10000, 11658, 10000,  1944, 10000,           \
518      -1612,  10000,  2863, 10000,  4885, 10000
519   
520    #define cam_CalibrationIlluminant1 17 // Standard light A
521    // cropping
522    #define CAM_JPEG_WIDTH  3648
523    #define CAM_JPEG_HEIGHT 2736
524    #define CAM_ACTIVE_AREA_X1 14
525    #define CAM_ACTIVE_AREA_Y1 8
526    #define CAM_ACTIVE_AREA_X2 3682
527    #define CAM_ACTIVE_AREA_Y2 2764
528    // camera name
529    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
530
531//----------------------------------------------------------
532#elif defined (CAMERA_a650)
533    #define CAM_PROPSET                 2
534    #define CAM_DRYOS                   1
535
536    #define CAM_RAW_ROWPIX              4104   // for 12 MP
537    #define CAM_RAW_ROWS                3048   // for 12 MP
538   
539    #define CAM_ADJUSTABLE_ALT_BUTTON   1
540    #define CAM_SWIVEL_SCREEN           1
541    #define CAM_CAN_MUTE_MICROPHONE     1
542
543    #undef  CAM_EMUL_KEYPRESS_DURATION
544    #define CAM_EMUL_KEYPRESS_DURATION  10
545    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
546    #define CAM_EV_IN_VIDEO             1
547    #define DNG_SUPPORT                 1
548    // pattern
549    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
550    // color
551    #define CAM_COLORMATRIX1                               \
552      913762, 1000000, -261578, 1000000, -135582, 1000000, \
553     -99049,  1000000, 1067089, 1000000,   61442, 1000000, \
554      48717,  1000000, 96802,   1000000,  412056, 1000000
555   
556    #define cam_CalibrationIlluminant1 1 // Daylight
557    // cropping
558    #define CAM_JPEG_WIDTH  4000
559    #define CAM_JPEG_HEIGHT 3000
560    #define CAM_ACTIVE_AREA_X1 52
561    #define CAM_ACTIVE_AREA_Y1 14
562    #define CAM_ACTIVE_AREA_X2 4076
563    #define CAM_ACTIVE_AREA_Y2 3030
564    // camera name
565    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
566
567//----------------------------------------------------------
568#elif defined (CAMERA_a700)
569    #define CAM_PROPSET                 1
570
571    #define CAM_RAW_ROWPIX              2888   // for 6 MP
572    #define CAM_RAW_ROWS                2136   // for 6 MP
573
574    #undef  CAM_HAS_IS
575    #define CAM_CAN_MUTE_MICROPHONE     1
576    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
577    #define CAM_EV_IN_VIDEO             1
578    #define DNG_SUPPORT                 1
579    // pattern
580    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
581    // color
582    #define CAM_COLORMATRIX1                               \
583     14062, 10000, -5199, 10000, -1446, 10000,             \
584     -4712, 10000, 12470, 10000,  2243, 10000,             \
585     -1286, 10000,  2028, 10000,  4836, 10000
586   
587    #define cam_CalibrationIlluminant1 17 // Standard light A
588    // cropping
589    #define CAM_JPEG_WIDTH  2816
590    #define CAM_JPEG_HEIGHT 2112
591    #define CAM_ACTIVE_AREA_X1 44
592    #define CAM_ACTIVE_AREA_Y1 8
593    #define CAM_ACTIVE_AREA_X2 2884
594    #define CAM_ACTIVE_AREA_Y2 2136
595    // camera name
596    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
597
598//----------------------------------------------------------
599#elif defined (CAMERA_a710)
600    #define CAM_PROPSET                 1
601
602    #define CAM_RAW_ROWPIX              3152   // for 7 MP
603    #define CAM_RAW_ROWS                2340   // for 7 MP
604
605    #define CAM_MULTIPART               1
606    #define CAM_CAN_MUTE_MICROPHONE     1
607    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
608    #define CAM_EV_IN_VIDEO             1
609    #define DNG_SUPPORT                 1
610    // pattern
611    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
612    // color
613    #define CAM_COLORMATRIX1                   \
614     13349, 10000, -4141, 10000, -2128, 10000, \
615     -4189, 10000, 13178, 10000,  1044, 10000, \
616     -1037, 10000,  2326, 10000,  4720, 10000   
617   
618    #define cam_CalibrationIlluminant1 1 // Daylight
619    // cropping
620    #define CAM_JPEG_WIDTH  3072
621    #define CAM_JPEG_HEIGHT 2304
622    #define CAM_ACTIVE_AREA_X1 38
623    #define CAM_ACTIVE_AREA_Y1 14
624    #define CAM_ACTIVE_AREA_X2 3146
625    #define CAM_ACTIVE_AREA_Y2 2338
626    // camera name
627    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
628
629//----------------------------------------------------------
630#elif defined (CAMERA_a720)
631    #define CAM_PROPSET                 2
632    #define CAM_DRYOS                   1
633
634    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
635    #define CAM_RAW_ROWS                2480   // for new 8 MP
636    #define CAM_CAN_MUTE_MICROPHONE     1
637    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
638    #define CAM_EV_IN_VIDEO             1
639    #undef  CAM_VIDEO_CONTROL
640    #define DNG_SUPPORT                 1
641    // pattern
642    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
643    // color
644    #define CAM_COLORMATRIX1                               \
645      640019, 1000000, -220031, 1000000, -96241, 1000000,  \
646     -77419,  1000000, 639766,  1000000,  44009, 1000000,  \
647      17965,  1000000, 78396,   1000000, 231868, 1000000
648   
649    #define cam_CalibrationIlluminant1 1 // Daylight
650    // cropping
651    #define CAM_JPEG_WIDTH  3264
652    #define CAM_JPEG_HEIGHT 2448
653    #define CAM_ACTIVE_AREA_X1 10
654    #define CAM_ACTIVE_AREA_Y1 8
655    #define CAM_ACTIVE_AREA_X2 3302
656    #define CAM_ACTIVE_AREA_Y2 2474
657    // camera name
658    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
659
660//==========================================================
661// SD-Series (IXUS-Series)
662//==========================================================
663#elif defined (CAMERA_ixus40_sd300)
664    #define CAM_PROPSET                 1
665
666    #define CAM_RAW_ROWPIX              (2376) //(2272+80) //for 4 MP guessed!!
667    #define CAM_RAW_ROWS                (1704+24) // for 4 MP guessed!!
668
669    #define CAM_USE_ZOOM_FOR_MF 1
670    #undef  CAM_HAS_ERASE_BUTTON
671    #undef  CAM_HAS_IRIS_DIAPHRAGM
672    #define CAM_HAS_ND_FILTER           1
673    #undef  CAM_HAS_MANUAL_FOCUS
674    #undef  CAM_HAS_USER_TV_MODES
675    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
676    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
677    #undef  CAM_HAS_IS
678    #undef CAM_CONSOLE_LOG_ENABLED
679
680
681/*   DNG support is blocked due to mismatch RAW size in this file and DNG4PS2 settings (2400x1720).
682
683    #define DNG_SUPPORT                 1
684    // pattern
685    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
686    // color
687    #define CAM_COLORMATRIX1                                 \
688      652674,  1000000, -172074, 1000000, -107575,  1000000, \
689      -139063, 1000000, 594517,  1000000,  60252,   1000000, \
690      -9088,   1000000, 82013,   1000000,  238080,  1000000
691   
692    #define cam_CalibrationIlluminant1 1 // Daylight
693    // cropping
694    #define CAM_JPEG_WIDTH  2272
695    #define CAM_JPEG_HEIGHT 1704
696    #define CAM_ACTIVE_AREA_X1 12
697    #define CAM_ACTIVE_AREA_Y1 24
698    #define CAM_ACTIVE_AREA_X2 2394
699    #define CAM_ACTIVE_AREA_Y2 1708
700    // camera name
701    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
702
703    */
704
705//----------------------------------------------------------
706
707#elif defined (CAMERA_ixus50_sd400)
708    #define CAM_PROPSET                 1
709
710    #define CAM_RAW_ROWPIX              2672   // for 5 MP
711    #define CAM_RAW_ROWS                1968   // for 5 MP
712
713    #undef  CAM_SYNCH 
714    #undef  CAM_USE_ZOOM_FOR_MF
715    #undef  CAM_HAS_ERASE_BUTTON
716    #undef  CAM_HAS_IRIS_DIAPHRAGM
717    #define CAM_HAS_ND_FILTER           1
718    #undef  CAM_HAS_MANUAL_FOCUS
719    #undef  CAM_HAS_USER_TV_MODES
720    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
721    #undef  CAM_HAS_IS
722        //#define CAM_CONSOLE_LOG_ENABLED     1
723    #undef  CAM_VIDEO_CONTROL
724
725//----------------------------------------------------------
726#elif defined (CAMERA_ixus55_sd450)
727    #define CAM_PROPSET                 1
728
729    #define CAM_RAW_ROWPIX              2672   // for 5 MP
730    #define CAM_RAW_ROWS                1968   // for 5 MP
731
732    #undef  CAM_USE_ZOOM_FOR_MF
733    #undef  CAM_HAS_ERASE_BUTTON
734    #undef  CAM_HAS_IRIS_DIAPHRAGM
735    #define CAM_HAS_ND_FILTER           1
736    #undef  CAM_HAS_MANUAL_FOCUS
737    #undef  CAM_HAS_USER_TV_MODES
738    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
739    #undef  CAM_HAS_IS
740    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
741    #define DNG_SUPPORT                 1
742    // pattern
743    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
744    // color
745    #define CAM_COLORMATRIX1                                \
746      536034,  1000000, -173429, 1000000, -89823,  1000000, \
747      -290416, 1000000, 735807,  1000000,  47894,  1000000, \
748      -71455,  1000000, 114314,  1000000,  274533, 1000000         
749   
750    #define cam_CalibrationIlluminant1 1 // Daylight
751    // cropping
752    #define CAM_JPEG_WIDTH  2592
753    #define CAM_JPEG_HEIGHT 1944
754    #define CAM_ACTIVE_AREA_X1 12
755    #define CAM_ACTIVE_AREA_Y1 8
756    #define CAM_ACTIVE_AREA_X2 2628
757    #define CAM_ACTIVE_AREA_Y2 1968
758    // camera name
759    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
760
761//----------------------------------------------------------
762#elif defined (CAMERA_ixus60_sd600)
763    #define CAM_PROPSET                 1
764
765    #define CAM_RAW_ROWPIX              2888   // for 6 MP
766    #define CAM_RAW_ROWS                2136   // for 6 MP
767
768    #undef  CAM_SYNCH
769    #undef  CAM_USE_ZOOM_FOR_MF
770    #undef  CAM_HAS_ERASE_BUTTON
771    #undef  CAM_HAS_IRIS_DIAPHRAGM
772    #define CAM_HAS_ND_FILTER           1
773    #undef  CAM_HAS_MANUAL_FOCUS
774    #undef  CAM_HAS_USER_TV_MODES
775    #define CAM_DRAW_EXPOSITION             1
776    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
777    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
778    #define CAM_FEATURE_FEATHER         1
779
780//    #define CAM_CONSOLE_LOG_ENABLED     1  //100a won't compile if this is defined ("undefined reference to `_iosDevFind'")
781    #undef  CAM_HAS_IS
782    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
783    #define DNG_SUPPORT                 1
784    // pattern
785    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
786    // color
787    #define CAM_COLORMATRIX1                                \
788      767398,  1000000, -227658, 1000000, -144213, 1000000, \
789      -217466, 1000000, 669319,  1000000,  38180,  1000000, \
790      -23152,  1000000, 77743,  1000000,   238669, 1000000
791   
792    #define cam_CalibrationIlluminant1 1 // Daylight
793    // cropping
794    #define CAM_JPEG_WIDTH  2816
795    #define CAM_JPEG_HEIGHT 2112
796    #define CAM_ACTIVE_AREA_X1 44
797    #define CAM_ACTIVE_AREA_Y1 8
798    #define CAM_ACTIVE_AREA_X2 2884
799    #define CAM_ACTIVE_AREA_Y2 2136
800    // camera name
801    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
802
803//----------------------------------------------------------
804#elif defined (CAMERA_ixus65_sd630)
805    #define CAM_PROPSET                 1
806
807    #define CAM_RAW_ROWPIX              2888   // for 6 MP
808    #define CAM_RAW_ROWS                2136   // for 6 MP
809
810    #undef  CAM_USE_ZOOM_FOR_MF
811    #undef  CAM_HAS_ERASE_BUTTON
812    #undef  CAM_HAS_IRIS_DIAPHRAGM
813    #define CAM_HAS_ND_FILTER           1
814    #undef  CAM_HAS_MANUAL_FOCUS
815    #undef  CAM_HAS_USER_TV_MODES
816    #define CAM_DRAW_EXPOSITION             1
817    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
818    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
819    #define CAM_FEATURE_FEATHER         1
820
821    #define CAM_CONSOLE_LOG_ENABLED     1
822    #undef  CAM_HAS_IS
823    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
824    #define DNG_SUPPORT                 1
825    // pattern
826    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
827    // color
828    #define CAM_COLORMATRIX1                                \
829      783384,  1000000, -227078, 1000000, -127919, 1000000, \
830      -181247, 1000000, 661743,  1000000,  58868,  1000000, \
831       25727,  1000000, 43891,   1000000,  247655, 1000000         
832   
833    #define cam_CalibrationIlluminant1 1 // Daylight
834    // cropping
835    #define CAM_JPEG_WIDTH  2816
836    #define CAM_JPEG_HEIGHT 2112
837    #define CAM_ACTIVE_AREA_X1 44
838    #define CAM_ACTIVE_AREA_Y1 8
839    #define CAM_ACTIVE_AREA_X2 2884
840    #define CAM_ACTIVE_AREA_Y2 2136
841    // camera name
842    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
843
844//----------------------------------------------------------
845
846#elif defined (CAMERA_ixus75_sd750)
847    #define CAM_PROPSET                 2
848
849    #define CAM_RAW_ROWPIX              3152   // for 7 MP
850    #define CAM_RAW_ROWS                2340   // for 7 MP
851
852/*
853    #undef  CAM_USE_ZOOM_FOR_MF
854    #undef  CAM_HAS_ERASE_BUTTON
855    #undef  CAM_HAS_IRIS_DIAPHRAGM
856    #define CAM_HAS_ND_FILTER           1
857    #undef  CAM_HAS_MANUAL_FOCUS
858    #undef  CAM_HAS_USER_TV_MODES
859    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
860    #undef  CAM_HAS_IS
861    */
862   
863    #undef  CAM_SWIVEL_SCREEN               // Camera has rotated LCD screen
864    #undef CAM_USE_ZOOM_FOR_MF            // Zoom lever can be used for manual focus adjustments
865    #undef  CAM_ADJUSTABLE_ALT_BUTTON       // ALT-button can be set from menu
866    #undef CAM_REMOTE                     // Camera supports USB-remote
867    #undef  CAM_MULTIPART                   // Camera supports SD-card multipartitioning
868    #define CAM_HAS_ZOOM_LEVER          1   // Camera has dedicated zoom buttons
869    #undef  CAM_DRAW_EXPOSITION             // Output expo-pair on screen (for cameras which (sometimes) don't do that)
870    #undef CAM_HAS_ERASE_BUTTON           // Camera has dedicated erase button
871    #undef  CAM_HAS_IRIS_DIAPHRAGM
872    #define  CAM_HAS_ND_FILTER         1      // Camera has build-in ND filter
873    #undef CAM_CAN_SD_OVER_NOT_IN_MF      // Camera allows subject distance (focus) override when not in manual focus mode
874    #undef CAM_CAN_SD_OVERRIDE            // Camera allows to do subject distance override
875    #undef CAM_HAS_MANUAL_FOCUS           // Camera has manual focus mode
876    #define CAM_HAS_USER_TV_MODES       1   // Camera has tv-priority or manual modes with ability to set tv value
877    #define  CAM_SHOW_OSD_IN_SHOOT_MENU   1   // On some cameras Canon shoot menu has additional functionality and useful in this case to see CHDK OSD in this mode 
878//    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // adress for zoom_status missing, probably more
879    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO  1 // Camera can unlock optical zoom in video (if it is locked)
880    #define  CAM_FEATURE_FEATHER        1     // Cameras with "feather" or touch wheel.
881    #undef CAM_HAS_IS                     // Camera has image stabilizer
882
883//    #define  CAM_CONSOLE_LOG_ENABLED   1      // Development: internal camera stdout -> A/stdout.txt       
884    #define DNG_SUPPORT                 1
885    // pattern
886    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
887    // color
888    #define CAM_COLORMATRIX1                                \
889      689833,  1000000, -198299, 1000000, -101299, 1000000, \
890      -164267, 1000000, 667466,  1000000,  74132,  1000000, \
891       -36515,  1000000, 123872,   1000000,  248498, 1000000
892   
893    #define cam_CalibrationIlluminant1 1 // Daylight
894    // cropping
895    #define CAM_JPEG_WIDTH  3072
896    #define CAM_JPEG_HEIGHT 2304
897    #define CAM_ACTIVE_AREA_X1 38
898    #define CAM_ACTIVE_AREA_Y1 14
899    #define CAM_ACTIVE_AREA_X2 3146
900    #define CAM_ACTIVE_AREA_Y2 2338
901    // camera name
902    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
903//----------------------------------------------------------
904#elif defined (CAMERA_ixus70_sd1000)
905    #define CAM_PROPSET                 2
906
907    #define CAM_RAW_ROWPIX              3152   // for 7 MP
908    #define CAM_RAW_ROWS                2340   // for 7 MP
909
910    #undef  CAM_USE_ZOOM_FOR_MF
911    #undef  CAM_HAS_ERASE_BUTTON
912    #undef  CAM_HAS_IRIS_DIAPHRAGM
913    #define CAM_HAS_ND_FILTER           1
914    #undef  CAM_HAS_MANUAL_FOCUS
915    #undef  CAM_HAS_USER_TV_MODES
916    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
917    #undef  CAM_HAS_IS
918    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
919    #define DNG_SUPPORT                 1
920    // pattern
921    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
922    // color
923    #define CAM_COLORMATRIX1                                \
924      652674,  1000000, -172074, 1000000, -107575, 1000000, \
925      -139063, 1000000, 594517,  1000000,  60252,  1000000, \
926       -9088,  1000000, 82013,   1000000,  238048, 1000000
927   
928    #define cam_CalibrationIlluminant1 1 // Daylight
929    // cropping
930    #define CAM_JPEG_WIDTH  3072
931    #define CAM_JPEG_HEIGHT 2304
932    #define CAM_ACTIVE_AREA_X1 38
933    #define CAM_ACTIVE_AREA_Y1 14
934    #define CAM_ACTIVE_AREA_X2 3146
935    #define CAM_ACTIVE_AREA_Y2 2338
936    // camera name
937    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
938
939//----------------------------------------------------------
940#elif defined (CAMERA_ixus80_sd1100)
941    #define CAM_PROPSET                 2
942    #define CAM_DRYOS                   1
943
944    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
945    #define CAM_RAW_ROWS                2480   // for new 8 MP
946
947    #undef  CAM_USE_ZOOM_FOR_MF
948    #undef  CAM_HAS_ERASE_BUTTON
949    #undef  CAM_HAS_IRIS_DIAPHRAGM
950    #define CAM_HAS_ND_FILTER           1
951    #undef  CAM_HAS_MANUAL_FOCUS
952    #undef  CAM_HAS_USER_TV_MODES
953    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
954        // TODO / test
955        #undef  CAM_REMOTE
956        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
957    #undef  CAM_CAN_MUTE_MICROPHONE
958    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 0
959    #define DNG_SUPPORT                 1
960    // pattern
961    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
962    // color
963    #define CAM_COLORMATRIX1                                \
964      893969,  1000000, -343107, 1000000, -119590, 1000000, \
965      -41350,  1000000, 581255,  1000000,  49523,  1000000, \
966       24221,  1000000, 47554,   1000000,  209996, 1000000
967   
968    #define cam_CalibrationIlluminant1 1 // Daylight
969    // cropping
970    #define CAM_JPEG_WIDTH  3264
971    #define CAM_JPEG_HEIGHT 2448
972    #define CAM_ACTIVE_AREA_X1 6
973    #define CAM_ACTIVE_AREA_Y1 6
974    #define CAM_ACTIVE_AREA_X2 3304
975    #define CAM_ACTIVE_AREA_Y2 2476
976    // camera name
977    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
978
979//----------------------------------------------------------
980#elif defined (CAMERA_ixus700_sd500)
981    #define CAM_PROPSET                 1
982
983    #define CAM_RAW_ROWPIX              3152   // for 7 MP
984    #define CAM_RAW_ROWS                2340   // for 7 MP
985
986    #undef  CAM_SYNCH
987    #undef  CAM_USE_ZOOM_FOR_MF
988    #define CAM_DRAW_EXPOSITION         1
989    #undef  CAM_HAS_ERASE_BUTTON
990    #undef  CAM_HAS_IRIS_DIAPHRAGM
991    #define CAM_HAS_ND_FILTER           1
992    #undef  CAM_HAS_MANUAL_FOCUS
993    #undef  CAM_HAS_USER_TV_MODES
994    #undef  CAM_CAN_SD_OVERRIDE
995    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
996    #undef  CAM_HAS_IS
997    #define CAM_MULTIPART               1
998    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
999    #define DNG_SUPPORT                 1
1000    // pattern
1001    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1002    // color
1003    #define CAM_COLORMATRIX1         \
1004      15265, 1, -6193,  1, -1558, 1, \
1005     -4125,  1,  12116, 1,  2010, 1, \
1006      -888,  1,  1639,  1,  5220, 1
1007   
1008    #define cam_CalibrationIlluminant1 17 // Standard light A
1009    // cropping
1010    #define CAM_JPEG_WIDTH  3072
1011    #define CAM_JPEG_HEIGHT 2304
1012    #define CAM_ACTIVE_AREA_X1 38
1013    #define CAM_ACTIVE_AREA_Y1 14
1014    #define CAM_ACTIVE_AREA_X2 3146
1015    #define CAM_ACTIVE_AREA_Y2 2338
1016    // camera name
1017    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
1018
1019//----------------------------------------------------------
1020
1021#elif defined (CAMERA_ixus750_sd550)
1022    #define CAM_PROPSET                1
1023
1024    #define CAM_RAW_ROWPIX              3152  // for 7 MP
1025    #define CAM_RAW_ROWS                2340  // for 7 MP
1026
1027    #define  CAM_USE_ZOOM_FOR_MF    1
1028    #define CAM_DRAW_EXPOSITION        1
1029    #undef  CAM_HAS_ERASE_BUTTON
1030    #undef  CAM_HAS_IRIS_DIAPHRAGM
1031    #define CAM_HAS_ND_FILTER          1
1032    #undef  CAM_HAS_MANUAL_FOCUS
1033    #undef  CAM_HAS_USER_TV_MODES
1034    #define  CAM_CAN_SD_OVERRIDE    1
1035    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1036    #undef  CAM_HAS_IS
1037    #define CAM_MULTIPART              1
1038    #undef CAM_SYNCH
1039    #define DNG_SUPPORT                 1
1040    // pattern
1041    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1042    // color
1043    #define CAM_COLORMATRIX1                               \
1044      580280, 1000000, -172239, 1000000, -89707,  1000000, \
1045     -206596, 1000000,  634926, 1000000,  63877,  1000000, \
1046      10377,  1000000,  62053,  1000000,  242646, 1000000
1047   
1048    #define cam_CalibrationIlluminant1 1 // Daylight
1049    // cropping
1050    #define CAM_JPEG_WIDTH  3072
1051    #define CAM_JPEG_HEIGHT 2304
1052    #define CAM_ACTIVE_AREA_X1 36
1053    #define CAM_ACTIVE_AREA_Y1 12
1054    #define CAM_ACTIVE_AREA_X2 3148
1055    #define CAM_ACTIVE_AREA_Y2 2340
1056    // camera name
1057    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1058
1059//----------------------------------------------------------
1060#elif defined (CAMERA_ixus800_sd700)
1061    #define CAM_PROPSET                 1
1062
1063    #define CAM_RAW_ROWPIX              2888   // for 6 MP
1064    #define CAM_RAW_ROWS                2136   // for 6 MP
1065
1066    #undef  CAM_USE_ZOOM_FOR_MF
1067    #define CAM_DRAW_EXPOSITION         1
1068    #undef  CAM_HAS_ERASE_BUTTON
1069    #undef  CAM_HAS_IRIS_DIAPHRAGM
1070    #define CAM_HAS_ND_FILTER           1
1071    #undef  CAM_HAS_MANUAL_FOCUS
1072    #undef  CAM_HAS_USER_TV_MODES
1073    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1074    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
1075    #define DNG_SUPPORT                 1
1076
1077 // Warning! DNG4PS2 has both ixus800 and sd700 support with different CFA patterns and color matrices.
1078 // Used settings for IXUS800
1079
1080    // pattern
1081    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1082    // color
1083    #define CAM_COLORMATRIX1          \
1084      14062, 1, -5199,  1, -1446,  1, \
1085      -4712, 1,  12470, 1,  2243,  1, \
1086      -1286, 1,  2028,  1,  4836,  1
1087   
1088    #define cam_CalibrationIlluminant1 17 // Standard light A
1089    // cropping
1090    #define CAM_JPEG_WIDTH  2816
1091    #define CAM_JPEG_HEIGHT 2112
1092    #define CAM_ACTIVE_AREA_X1 44
1093    #define CAM_ACTIVE_AREA_Y1 8
1094    #define CAM_ACTIVE_AREA_X2 2884
1095    #define CAM_ACTIVE_AREA_Y2 2136
1096    // camera name
1097    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1098
1099   
1100//----------------------------------------------------------
1101#elif defined (CAMERA_ixus850_sd800)
1102    #define CAM_PROPSET                 1
1103
1104    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1105    #define CAM_RAW_ROWS                2340   // for 7 MP
1106
1107    #undef  CAM_USE_ZOOM_FOR_MF
1108    #undef  CAM_HAS_ERASE_BUTTON
1109    #undef  CAM_HAS_IRIS_DIAPHRAGM
1110    #define CAM_HAS_ND_FILTER           1
1111    #undef  CAM_HAS_MANUAL_FOCUS
1112    #undef  CAM_HAS_USER_TV_MODES
1113    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1114    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1115    #define DNG_SUPPORT                 1
1116    // pattern
1117    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1118    // color
1119    #define CAM_COLORMATRIX1                               \
1120      661014, 1000000, -189364, 1000000, -115797, 1000000, \
1121     -168772, 1000000,  661827, 1000000,   47392, 1000000, \
1122      -35846, 1000000,  107148, 1000000,  233705, 1000000
1123   
1124    #define cam_CalibrationIlluminant1 17 // Standard light A
1125    // cropping
1126    #define CAM_JPEG_WIDTH  3072
1127    #define CAM_JPEG_HEIGHT 2304
1128    #define CAM_ACTIVE_AREA_X1 12
1129    #define CAM_ACTIVE_AREA_Y1 8
1130    #define CAM_ACTIVE_AREA_X2 3108
1131    #define CAM_ACTIVE_AREA_Y2 2332
1132    // camera name
1133    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1134   
1135//----------------------------------------------------------
1136#elif defined (CAMERA_ixus860_sd870)
1137    #define CAM_PROPSET                 2
1138    #define CAM_DRYOS                   1
1139
1140    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1141    #define CAM_RAW_ROWS                2480   // for new 8 MP
1142
1143    #undef  CAM_USE_ZOOM_FOR_MF
1144    #undef  CAM_HAS_ERASE_BUTTON
1145    #undef  CAM_HAS_IRIS_DIAPHRAGM
1146    #define CAM_HAS_ND_FILTER           1
1147    #undef  CAM_HAS_MANUAL_FOCUS
1148    #undef  CAM_HAS_USER_TV_MODES
1149    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1150        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1151    #undef  CAM_CAN_MUTE_MICROPHONE
1152    #undef  CAM_VIDEO_CONTROL
1153    #define DNG_SUPPORT                 1
1154    // pattern
1155    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1156    // color
1157    #define CAM_COLORMATRIX1                               \
1158      747939, 1000000, -268233, 1000000, -129266, 1000000, \
1159     -50633,  1000000, 515687,  1000000,  23509,  1000000, \
1160     -21341,  1000000, 76495,   1000000, 186385,  1000000
1161   
1162    #define cam_CalibrationIlluminant1 1 // Daylight                   
1163    // cropping
1164    #define CAM_JPEG_WIDTH  3264
1165    #define CAM_JPEG_HEIGHT 2448
1166    #define CAM_ACTIVE_AREA_X1 10
1167    #define CAM_ACTIVE_AREA_Y1 8
1168    #define CAM_ACTIVE_AREA_X2 3302
1169    #define CAM_ACTIVE_AREA_Y2 2474
1170    // camera name
1171    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1172
1173//----------------------------------------------------------
1174#elif defined (CAMERA_ixus950_sd850)
1175    #define CAM_PROPSET                 2
1176
1177    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1178    #define CAM_RAW_ROWS                2480   // for new 8 MP
1179
1180    #undef  CAM_USE_ZOOM_FOR_MF
1181    #undef  CAM_HAS_ERASE_BUTTON
1182    #undef  CAM_HAS_IRIS_DIAPHRAGM
1183    #define CAM_HAS_ND_FILTER           1
1184    #undef  CAM_HAS_MANUAL_FOCUS
1185    #undef  CAM_HAS_USER_TV_MODES
1186    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1187    #define CAM_MULTIPART               1
1188    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1189    #define DNG_SUPPORT                 1
1190    // pattern
1191    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1192    // color
1193    #define CAM_COLORMATRIX1        \
1194      14573, 1, -5482, 1, -1546, 1, \
1195     -1266,  1, 9799,  1, 1468,  1, \
1196     -1040,  1, 1912,  1, 3810,  1
1197   
1198    #define cam_CalibrationIlluminant1 1 // Daylight                   
1199    // cropping
1200    #define CAM_JPEG_WIDTH  3264
1201    #define CAM_JPEG_HEIGHT 2448
1202    #define CAM_ACTIVE_AREA_X1 10
1203    #define CAM_ACTIVE_AREA_Y1 8
1204    #define CAM_ACTIVE_AREA_X2 3302
1205    #define CAM_ACTIVE_AREA_Y2 2474
1206    // camera name
1207    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1208   
1209//----------------------------------------------------------
1210#elif defined (CAMERA_ixus960_sd950)
1211    #define CAM_PROPSET                 2
1212    #define CAM_DRYOS                   1
1213
1214    #define CAM_RAW_ROWPIX              4104   
1215    #define CAM_RAW_ROWS                3048   
1216
1217    #undef  CAM_USE_ZOOM_FOR_MF
1218    #undef  CAM_HAS_ERASE_BUTTON
1219    #undef  CAM_HAS_IRIS_DIAPHRAGM
1220    #define CAM_HAS_ND_FILTER           1
1221    #undef  CAM_HAS_MANUAL_FOCUS
1222    #undef  CAM_HAS_USER_TV_MODES
1223    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1224    #define DNG_SUPPORT                 1
1225    // pattern
1226    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1227    // color
1228    #define CAM_COLORMATRIX1                               \
1229      913762, 1000000, -261578, 1000000, -135582, 1000000, \
1230      -99049, 1000000, 1067089, 1000000,  61442,  1000000, \
1231      48717,  1000000, 96802,   1000000,  412056, 1000000
1232   
1233    #define cam_CalibrationIlluminant1 1 // Daylight
1234    // cropping
1235    #define CAM_JPEG_WIDTH  4000
1236    #define CAM_JPEG_HEIGHT 3000
1237    #define CAM_ACTIVE_AREA_X1 48
1238    #define CAM_ACTIVE_AREA_Y1 12
1239    #define CAM_ACTIVE_AREA_X2 4080
1240    #define CAM_ACTIVE_AREA_Y2 3036
1241    // camera name
1242    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1243
1244//==========================================================
1245// S-Series
1246//==========================================================
1247#elif defined (CAMERA_s2is)
1248    #define CAM_PROPSET                 1
1249
1250    #define CAM_RAW_ROWPIX              2672   // for 5 MP
1251    #define CAM_RAW_ROWS                1968   // for 5 MP
1252   
1253    #undef  CAM_SYNCH   
1254    #define CAM_SWIVEL_SCREEN           1
1255    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1256    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1257    #define  CAM_HAS_VIDEO_BUTTON       1
1258    #undef  CAM_VIDEO_CONTROL
1259    #define DNG_SUPPORT                 1
1260    // pattern
1261    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1262    // color
1263    #define CAM_COLORMATRIX1                                \
1264      547708,  1000000, -143462, 1000000,  -99243, 1000000, \
1265     -186838,  1000000, 663925,  1000000,   50970, 1000000, \
1266     -5810,    1000000, 79162,   1000000,  266988, 1000000
1267   
1268    #define cam_CalibrationIlluminant1 1 // Daylight
1269    // cropping
1270    #define CAM_JPEG_WIDTH  2592
1271    #define CAM_JPEG_HEIGHT 1944
1272    #define CAM_ACTIVE_AREA_X1 14
1273    #define CAM_ACTIVE_AREA_Y1 10
1274    #define CAM_ACTIVE_AREA_X2 2626
1275    #define CAM_ACTIVE_AREA_Y2 1966
1276    // camera name
1277    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
1278    #define CAM_BRACKETING              1
1279//----------------------------------------------------------
1280#elif defined (CAMERA_s3is)
1281    #define CAM_PROPSET                 1
1282
1283    #define CAM_RAW_ROWPIX              2888   // for 6 MP
1284    #define CAM_RAW_ROWS                2136   // for 6 MP
1285   
1286    #undef  CAM_SYNCH 
1287    #define CAM_SWIVEL_SCREEN           1
1288    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1289    #define CAM_MULTIPART               1
1290    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1291    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1292    #define  CAM_HAS_VIDEO_BUTTON       1
1293    #define DNG_SUPPORT                 1
1294    // pattern
1295    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1296    // color
1297    #define CAM_COLORMATRIX1                               \
1298     14062, 10000, -5199, 10000, -1446, 10000,             \
1299     -4712, 10000, 12470, 10000,  2243, 10000,             \
1300     -1286, 10000,  2028, 10000,  4836, 10000
1301   
1302    #define cam_CalibrationIlluminant1 17 // Standard light A
1303    // cropping
1304    #define CAM_JPEG_WIDTH  2816
1305    #define CAM_JPEG_HEIGHT 2112
1306    #define CAM_ACTIVE_AREA_X1 44
1307    #define CAM_ACTIVE_AREA_Y1 8
1308    #define CAM_ACTIVE_AREA_X2 2884
1309    #define CAM_ACTIVE_AREA_Y2 2136
1310    // camera name
1311    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1312    #define CAM_BRACKETING              1
1313
1314//----------------------------------------------------------
1315#elif defined (CAMERA_s5is)
1316    #define CAM_PROPSET                 2
1317    #define CAM_DRYOS                   1
1318
1319    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1320    #define CAM_RAW_ROWS                2480   // for new 8 MP
1321   
1322    #define CAM_SWIVEL_SCREEN           1
1323    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1324    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1325    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1326    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
1327    #define  CAM_HAS_VIDEO_BUTTON       1
1328    #define DNG_SUPPORT                 1
1329    // pattern
1330    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1331    // color
1332    #define CAM_COLORMATRIX1                               \
1333      650591, 1000000, -199585, 1000000, -123118, 1000000, \
1334     -69617,  1000000, 583926,  1000000,  34354,  1000000, \
1335     -19113,  1000000, 82163,   1000000, 210786,  1000000
1336   
1337    #define cam_CalibrationIlluminant1 1 // Daylight
1338    // cropping
1339    #define CAM_JPEG_WIDTH  3264
1340    #define CAM_JPEG_HEIGHT 2448
1341    #define CAM_ACTIVE_AREA_X1 10
1342    #define CAM_ACTIVE_AREA_Y1 8
1343    #define CAM_ACTIVE_AREA_X2 3302
1344    #define CAM_ACTIVE_AREA_Y2 2474
1345    // camera name
1346    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1347//  #define CAM_BRACKETING              1 //propcase for dryos not found yet
1348
1349//==========================================================
1350// TX-Series
1351//==========================================================
1352#elif defined (CAMERA_tx1)
1353    #define CAM_PROPSET                 2
1354   
1355    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1356    #define CAM_RAW_ROWS                2340   // for 7 MP
1357
1358    #define CAM_SWIVEL_SCREEN           1
1359    #define CAM_HAS_ND_FILTER           1
1360    #undef  CAM_HAS_ERASE_BUTTON
1361    #undef  CAM_HAS_MANUAL_FOCUS
1362    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1363    #define CAM_MULTIPART               1
1364    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1365    #define DNG_SUPPORT                 1
1366    // pattern
1367    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1368    // color
1369    #define CAM_COLORMATRIX1                                \
1370      510370,  1000000, -68998,  1000000, -86859,  1000000, \
1371      -279980, 1000000, 766686,  1000000,  67944,  1000000, \
1372      -14382,  1000000, 113688,  1000000, 239853,  1000000
1373   
1374    #define cam_CalibrationIlluminant1 1 // Daylight
1375    // cropping
1376    #define CAM_JPEG_WIDTH  3072
1377    #define CAM_JPEG_HEIGHT 2304
1378    #define CAM_ACTIVE_AREA_X1 12
1379    #define CAM_ACTIVE_AREA_Y1 8
1380    #define CAM_ACTIVE_AREA_X2 3108
1381    #define CAM_ACTIVE_AREA_Y2 2332
1382    // camera name
1383    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1384
1385//==========================================================
1386// SX-Series
1387//==========================================================
1388#elif defined (CAMERA_sx100is)
1389    #define CAM_PROPSET                 2
1390    #define CAM_DRYOS                   1
1391
1392    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1393    #define CAM_RAW_ROWS                2480   // for new 8 MP
1394    #undef CAM_SYNCH
1395#define CAM_CAN_MUTE_MICROPHONE     1
1396#define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1397   #define CAM_ADJUSTABLE_ALT_BUTTON   1
1398   #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1399   #undef  CAM_VIDEO_CONTROL
1400   #define DNG_SUPPORT                 1
1401   #define CAM_REAR_CURTAIN            1
1402    // pattern
1403    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1404    // color
1405    #define CAM_COLORMATRIX1                               \
1406      656793, 1000000, -168702, 1000000, -108030, 1000000, \
1407      -2711,  1000000, 661538,  1000000,  37919,  1000000, \
1408      77255,  1000000, 48834,   1000000, 241797,  1000000
1409   
1410    #define cam_CalibrationIlluminant1 1 // Daylight
1411    // cropping
1412    #define CAM_JPEG_WIDTH  3264
1413    #define CAM_JPEG_HEIGHT 2448
1414    #define CAM_ACTIVE_AREA_X1 10
1415    #define CAM_ACTIVE_AREA_Y1 8
1416    #define CAM_ACTIVE_AREA_X2 3302
1417    #define CAM_ACTIVE_AREA_Y2 2474
1418    // camera name
1419    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1420
1421//----------------------------------------------------------
1422
1423#else
1424    #error camera type not defined
1425
1426#endif
1427
1428#endif /* CAMERA_H */
Note: See TracBrowser for help on using the repository browser.