source: trunk/include/camera.h @ 752

Revision 752, 69.7 KB checked in by reyalp, 4 years ago (diff)

zebra for variable aspect cams (currently SX1). From pev69 in http://chdk.setepontos.com/index.php/topic,3410.msg32518.html#msg32518

  • 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    #undef  CAM_HAS_JOGDIAL                 // Camera has a "jog dial"
37
38    #undef  CAM_CONSOLE_LOG_ENABLED         // Development: internal camera stdout -> A/stdout.txt
39    #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1   // In CHDK for this camera realized adjustable video compression
40    #undef  CAM_CAN_MUTE_MICROPHONE         // Camera has function to mute microphone
41
42    #define CAM_EMUL_KEYPRESS_DELAY     40  // Delay to interpret <alt>-button press as longpress
43    #define CAM_EMUL_KEYPRESS_DURATION  5   // Length of keypress emulation
44
45    #undef  CAM_AF_SCAN_DURING_VIDEO_RECORD // CHDK can make single AF scan during video record
46    #undef  CAM_HAS_VIDEO_BUTTON            // Camera can take stills in video mode, and vice versa
47    #undef  CAM_EV_IN_VIDEO                 // CHDK can change exposure in video mode
48    #define CAM_VIDEO_CONTROL      1   // pause / unpause video recordings
49
50    #define ZOOM_OVERRIDE               0   // Shall zoom-override be used? default 0 becoz not implemented right now
51    #undef  DNG_SUPPORT                 
52    #undef  CAM_REAR_CURTAIN                // Camera do not have front/rear curtain flash sync in menu
53    #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!)
54    #undef  CAM_EXT_TV_RANGE             // CHDK can make exposure time lonher than 64s
55
56    #define CAM_UNCACHED_BIT    0x10000000 // bit indicating the uncached memory
57
58    #define CAM_MAKE                    "Canon"
59    #define CAM_SENSOR_BITS_PER_PIXEL   10  // Bits per pixel. 10 is standard, 12 is supported except for curves
60    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
61    #define CAM_BLACK_LEVEL             31
62
63    #define CAM_BITMAP_PALETTE          1 // which color set is used for this camera
64               
65    #undef CAM_HAS_VARIABLE_ASPECT         // can switch between 16:9 and 4:3
66
67//----------------------------------------------------------
68// Overridden values for each camera
69//----------------------------------------------------------
70
71//==========================================================
72// G-series
73//==========================================================
74#if   defined (CAMERA_g7)
75    #define CAM_PROPSET                 1
76
77    #define CAM_RAW_ROWPIX              3736   // for 10 MP
78    #define CAM_RAW_ROWS                2772   // for 10 MP
79   
80    #undef  CAM_USE_ZOOM_FOR_MF
81    #define CAM_ADJUSTABLE_ALT_BUTTON   1
82    #define CAM_MULTIPART               1
83    #define CAM_HAS_ND_FILTER           1
84    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
85        #define CAM_HAS_JOGDIAL             1
86    #define DNG_SUPPORT                 1
87    // pattern
88    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
89    // color
90    #define CAM_COLORMATRIX1                              \
91      575419, 1000000,-185557, 1000000, -77898,  1000000, \
92     -213702, 1000000, 733569, 1000000,   81514, 1000000, \
93      -24604, 1000000, 131906, 1000000,  280378, 1000000
94   
95    #define cam_CalibrationIlluminant1 1 // Daylight
96    // cropping
97    #define CAM_JPEG_WIDTH  3648
98    #define CAM_JPEG_HEIGHT 2736
99    #define CAM_ACTIVE_AREA_X1 14
100    #define CAM_ACTIVE_AREA_Y1 8
101    #define CAM_ACTIVE_AREA_X2 3682
102    #define CAM_ACTIVE_AREA_Y2 2764
103    // camera name
104    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
105    #define CAM_BRACKETING              1   
106    #define DNG_EXT_FROM ".DPS"
107 //----------------------------------------------------------
108#elif defined (CAMERA_g9)
109    #define CAM_PROPSET                 2
110    #define CAM_DRYOS                   1
111
112    #define CAM_RAW_ROWPIX              4104   // for 12 MP
113    #define CAM_RAW_ROWS                3048   // for 12 MP
114    #define CAM_HAS_ND_FILTER           1
115    #define CAM_ADJUSTABLE_ALT_BUTTON   1
116    #undef  CAM_EMUL_KEYPRESS_DURATION
117    #define CAM_EMUL_KEYPRESS_DURATION  10
118    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
119    #define CAM_HAS_JOGDIAL             1
120//      #define CAM_CONSOLE_LOG_ENABLED     1
121    #define CAM_BRACKETING              1
122    #define CAM_MULTIPART               1
123//==========================================================
124// A-series
125//==========================================================
126#elif defined (CAMERA_a450)
127    #define CAM_PROPSET                 2
128
129    #define CAM_RAW_ROWPIX              2664   // for 5 MP 1/3" sensor size
130    #define CAM_RAW_ROWS                1968   // for 5 MP 1/3" sensor size
131
132    #undef  CAM_USE_ZOOM_FOR_MF
133    #undef  CAM_HAS_ZOOM_LEVER
134    #define CAM_DRAW_EXPOSITION         1
135    #undef  CAM_HAS_ERASE_BUTTON
136    #undef  CAM_HAS_IRIS_DIAPHRAGM
137    #define CAM_HAS_ND_FILTER           1
138    #undef  CAM_HAS_MANUAL_FOCUS
139    #undef  CAM_HAS_USER_TV_MODES
140    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
141    #undef  CAM_HAS_IS
142    #define CAM_CAN_MUTE_MICROPHONE     1
143    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
144    #define CAM_EV_IN_VIDEO             1
145    #define DNG_SUPPORT                 1
146    // pattern
147    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
148    // color
149    #define CAM_COLORMATRIX1                               \
150      652279,  1000000,-199279, 1000000, -101833, 1000000, \
151     -159819,  1000000, 619308, 1000000,   78172, 1000000, \
152      -58827,  1000000, 150963, 1000000,  264216, 1000000
153   
154    #define cam_CalibrationIlluminant1 1 // Daylight
155    // cropping
156    #define CAM_JPEG_WIDTH  2592
157    #define CAM_JPEG_HEIGHT 1944
158    #define CAM_ACTIVE_AREA_X1 6
159    #define CAM_ACTIVE_AREA_Y1 6
160    #define CAM_ACTIVE_AREA_X2 2618
161    #define CAM_ACTIVE_AREA_Y2 1962
162    // camera name
163    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
164
165   
166//----------------------------------------------------------
167#elif defined (CAMERA_a460)
168    #define CAM_PROPSET                 2
169
170    #define CAM_RAW_ROWPIX              2664   // for 5 MP 1/3" sensor size
171    #define CAM_RAW_ROWS                1968   // for 5 MP 1/3" sensor size
172
173    #undef  CAM_USE_ZOOM_FOR_MF
174    #undef  CAM_HAS_ZOOM_LEVER
175    #define CAM_DRAW_EXPOSITION         1
176    #undef  CAM_HAS_ERASE_BUTTON
177    #undef  CAM_HAS_IRIS_DIAPHRAGM
178    #define CAM_HAS_ND_FILTER           1
179    #undef  CAM_HAS_MANUAL_FOCUS
180    #undef  CAM_HAS_USER_TV_MODES
181    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
182    #undef  CAM_HAS_IS
183    #define CAM_CAN_MUTE_MICROPHONE     1
184    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
185    #define CAM_EV_IN_VIDEO             1
186    #define DNG_SUPPORT                 1
187    // pattern
188    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
189    // color
190    #define CAM_COLORMATRIX1                               \
191      649324,  1000000,-233893, 1000000, -88521, 1000000,  \
192     -158955,  1000000, 593407, 1000000,  69775, 1000000,  \
193      -44551,  1000000, 136891, 1000000, 254362, 1000000   
194   
195    #define cam_CalibrationIlluminant1 1 // Daylight
196    // cropping
197    #define CAM_JPEG_WIDTH  2592
198    #define CAM_JPEG_HEIGHT 1944
199    #define CAM_ACTIVE_AREA_X1 6
200    #define CAM_ACTIVE_AREA_Y1 6
201    #define CAM_ACTIVE_AREA_X2 2618
202    #define CAM_ACTIVE_AREA_Y2 1962
203    // camera name
204    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
205    #define DNG_EXT_FROM ".DPS"
206
207//----------------------------------------------------------
208#elif defined (CAMERA_a470)
209        #define CAM_PROPSET                 2
210        #define CAM_DRYOS                   1
211
212    #define CAM_RAW_ROWPIX              3152   // for 7 MP
213    #define CAM_RAW_ROWS                2340   // for 7 MP
214
215        #define DNG_SUPPORT                 1
216        #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
217    #define CAM_EV_IN_VIDEO             1
218    // pattern
219    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
220    // color
221    #define CAM_COLORMATRIX1                               \
222      649324,  1000000,-233893, 1000000, -88521, 1000000,  \
223     -158955,  1000000, 593407, 1000000,  69775, 1000000,  \
224      -44551,  1000000, 136891, 1000000, 254362, 1000000   
225   
226    #define cam_CalibrationIlluminant1 1 // Daylight
227    // cropping
228    #define CAM_JPEG_WIDTH  2592
229    #define CAM_JPEG_HEIGHT 1944
230    #define CAM_ACTIVE_AREA_X1 6
231    #define CAM_ACTIVE_AREA_Y1 6
232    #define CAM_ACTIVE_AREA_X2 2618
233    #define CAM_ACTIVE_AREA_Y2 1962
234    // camera name
235    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
236    //#define DNG_EXT_FROM ".DPS"       
237       
238//----------------------------------------------------------
239#elif defined (CAMERA_a530)
240    #define CAM_PROPSET                 1
241
242//  2672x1968 image - like most other 5m sensors
243    #define CAM_RAW_ROWPIX              2672   // for 5 MP
244    #define CAM_RAW_ROWS                1968   // for 5 MP
245//  2672x1992 image - eventually probably real sensor size
246//  #define CAM_RAW_ROWPIX              2672   // for 5 MP
247//  #define CAM_RAW_ROWS                1992   // for 5 MP
248
249    #undef  CAM_USE_ZOOM_FOR_MF
250    #define CAM_HAS_ERASE_BUTTON        1
251    #undef  CAM_HAS_IRIS_DIAPHRAGM
252    #define CAM_HAS_ND_FILTER           1
253    #define CAM_HAS_MANUAL_FOCUS        1
254    #define CAM_DRAW_EXPOSITION         1
255    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
256    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
257    #undef  CAM_HAS_IS
258    #define CAM_CAN_MUTE_MICROPHONE     1
259    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
260    #define CAM_EV_IN_VIDEO             1
261    #define DNG_SUPPORT                 1
262    // pattern
263    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
264    // color
265    #define CAM_COLORMATRIX1                               \
266      725264,  1000000,-240542, 1000000, -122310, 1000000, \
267     -210248,  1000000, 656077, 1000000,  52390,  1000000, \
268      -11282,  1000000, 70400,  1000000,  300712, 1000000
269   
270    #define cam_CalibrationIlluminant1 1 // Daylight
271    // cropping
272    #define CAM_JPEG_WIDTH  2592
273    #define CAM_JPEG_HEIGHT 1944
274    #define CAM_ACTIVE_AREA_X1 12
275    #define CAM_ACTIVE_AREA_Y1 20
276    #define CAM_ACTIVE_AREA_X2 2628
277    #define CAM_ACTIVE_AREA_Y2 1968
278    // camera name
279    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
280    #define DNG_EXT_FROM ".DPS"
281
282    #define CAM_EXT_TV_RANGE            1
283
284//----------------------------------------------------------
285#elif defined (CAMERA_a540)
286    #define CAM_PROPSET                 1
287
288    #define CAM_RAW_ROWPIX              2888   // for 6 MP
289    #define CAM_RAW_ROWS                2136   // for 6 MP
290
291    #undef  CAM_USE_ZOOM_FOR_MF
292    #define CAM_HAS_ERASE_BUTTON        1
293    #define CAM_HAS_IRIS_DIAPHRAGM      1
294    #undef  CAM_HAS_ND_FILTER
295    #define CAM_HAS_MANUAL_FOCUS        1
296    #undef  CAM_DRAW_EXPOSITION
297    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
298    #undef  CAM_HAS_IS
299    #define CAM_CAN_MUTE_MICROPHONE     1
300    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
301    #define CAM_EV_IN_VIDEO             1
302    #define DNG_SUPPORT                 1
303    // pattern
304    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
305    // color
306    #define CAM_COLORMATRIX1                               \
307      687147,  1000000,-201964, 1000000, -125024, 1000000, \
308     -148403,  1000000, 566810, 1000000,   45401, 1000000, \
309     -9472,    1000000, 63186,  1000000,  208602, 1000000
310   
311    #define cam_CalibrationIlluminant1 1 // Daylight
312    // cropping
313    #define CAM_JPEG_WIDTH  2816
314    #define CAM_JPEG_HEIGHT 2112
315    #define CAM_ACTIVE_AREA_X1 44
316    #define CAM_ACTIVE_AREA_Y1 8
317    #define CAM_ACTIVE_AREA_X2 2884
318    #define CAM_ACTIVE_AREA_Y2 2136
319    // camera name
320    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
321    #define DNG_EXT_FROM ".DPS"
322
323//----------------------------------------------------------
324#elif defined (CAMERA_a550)
325    #define CAM_PROPSET                 2
326
327    #define CAM_RAW_ROWPIX              3152   // for 7 MP
328    #define CAM_RAW_ROWS                2340   // for 7 MP
329
330    #undef  CAM_USE_ZOOM_FOR_MF
331    #define CAM_MULTIPART               1
332    #undef  CAM_HAS_ERASE_BUTTON
333    #undef  CAM_HAS_IRIS_DIAPHRAGM
334    #define CAM_HAS_ND_FILTER           1
335    #undef  CAM_HAS_MANUAL_FOCUS
336    #undef  CAM_HAS_USER_TV_MODES
337    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
338    #undef  CAM_HAS_IS
339    #define CAM_CAN_MUTE_MICROPHONE     1
340    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
341    #define DNG_SUPPORT                 1
342    // pattern
343    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
344    // color
345    #define CAM_COLORMATRIX1                               \
346      673251,  1000000,-200684, 1000000, -98680, 1000000,  \
347     -163638,  1000000, 651247, 1000000,  74004, 1000000,  \
348      14221,   1000000, 52979,  1000000, 265291, 1000000
349   
350    #define cam_CalibrationIlluminant1 1 // Daylight
351    // cropping
352    #define CAM_JPEG_WIDTH  3072
353    #define CAM_JPEG_HEIGHT 2304
354    #define CAM_ACTIVE_AREA_X1 36
355    #define CAM_ACTIVE_AREA_Y1 12
356    #define CAM_ACTIVE_AREA_X2 3148
357    #define CAM_ACTIVE_AREA_Y2 2340
358    // camera name
359    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
360    #define DNG_EXT_FROM ".DPS"
361
362    #define CAM_EXT_TV_RANGE            1
363   
364//----------------------------------------------------------
365#elif defined (CAMERA_a560)
366    #define CAM_PROPSET                 2
367
368    #define CAM_RAW_ROWPIX              3152   // for 7 MP
369    #define CAM_RAW_ROWS                2340   // for 7 MP
370
371    #undef  CAM_USE_ZOOM_FOR_MF
372    #define CAM_MULTIPART               1
373    #undef  CAM_HAS_ERASE_BUTTON
374    #undef  CAM_HAS_IRIS_DIAPHRAGM
375    #define CAM_HAS_ND_FILTER           1
376    #undef  CAM_HAS_MANUAL_FOCUS
377    #undef  CAM_HAS_USER_TV_MODES
378    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
379    #undef  CAM_HAS_IS
380    #define CAM_CAN_MUTE_MICROPHONE     1
381    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
382    #define DNG_SUPPORT                 1
383    // pattern
384    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
385    // color
386    #define CAM_COLORMATRIX1                               \
387      15265, 1, -6193, 1, -1558, 1,                        \
388     -4125,  1, 12116, 1,  2010, 1,                        \
389     -888,   1, 1639,  1,  5220, 1                         
390   
391    #define cam_CalibrationIlluminant1 17 // Standard light A
392    // cropping
393    #define CAM_JPEG_WIDTH  3072
394    #define CAM_JPEG_HEIGHT 2304
395    #define CAM_ACTIVE_AREA_X1 38
396    #define CAM_ACTIVE_AREA_Y1 14
397    #define CAM_ACTIVE_AREA_X2 3146
398    #define CAM_ACTIVE_AREA_Y2 2338
399    // camera name
400    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
401    #define DNG_EXT_FROM ".DPS"
402   
403//----------------------------------------------------------
404#elif defined (CAMERA_a570)
405    #define CAM_PROPSET                 2
406
407    #define CAM_RAW_ROWPIX              3152   // for 7 MP
408    #define CAM_RAW_ROWS                2340   // for 7 MP
409    #define CAM_MULTIPART               1
410    #define CAM_CAN_MUTE_MICROPHONE     1
411    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
412    #define CAM_EV_IN_VIDEO             1
413    #define DNG_SUPPORT                 1
414    #define CAM_REAR_CURTAIN            1
415    // pattern
416    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
417    // color
418    #define CAM_COLORMATRIX1                               \
419      528283,  1000000,-144259, 1000000, -85966, 1000000,  \
420     -202789,  1000000, 736563, 1000000,  73008, 1000000,  \
421     -27130,   1000000, 107702, 1000000, 264543, 1000000
422   
423    #define cam_CalibrationIlluminant1 1 // Daylight
424    // cropping
425    #define CAM_JPEG_WIDTH  3072
426    #define CAM_JPEG_HEIGHT 2304
427    #define CAM_ACTIVE_AREA_X1 38
428    #define CAM_ACTIVE_AREA_Y1 14
429    #define CAM_ACTIVE_AREA_X2 3146
430    #define CAM_ACTIVE_AREA_Y2 2338
431    // camera name
432    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
433
434    #define DNG_EXT_FROM ".DPS"
435    #define CAM_EXT_TV_RANGE            1
436
437//----------------------------------------------------------
438#elif defined (CAMERA_a590)
439#define CAM_PROPSET                 2
440#define CAM_DRYOS                   1
441
442#define CAM_RAW_ROWPIX              3336   // for new 8 MP
443#define CAM_RAW_ROWS                2480   // for new 8 MP
444
445#define CAM_USE_ZOOM_FOR_MF         1
446
447// cannot mute during video-zoom through CHDK, it can mute in general firmware settings (non CHDK)
448#undef  CAM_CAN_MUTE_MICROPHONE            // Camera has no function to mute microphone
449
450#define CAM_HAS_IRIS_DIAPHRAGM      1
451#undef  CAM_HAS_ND_FILTER
452
453#define CAM_HAS_MANUAL_FOCUS        1
454
455#define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
456//#define CAM_EV_IN_VIDEO             1      // not working on 101b!!!
457#define DNG_SUPPORT                 1
458// pattern
459#define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
460// color                                                     
461#define CAM_COLORMATRIX1                              \
462 726857, 1000000, -176454, 1000000, -124118, 1000000, \
463 -71340, 1000000,  592001, 1000000,   75622, 1000000, \
464  63222, 1000000,   50547, 1000000,  219582, 1000000
465
466#define cam_CalibrationIlluminant1 1 // Daylight
467// cropping
468#define CAM_JPEG_WIDTH  3264
469#define CAM_JPEG_HEIGHT 2448
470#define CAM_ACTIVE_AREA_X1 8
471#define CAM_ACTIVE_AREA_Y1 8
472#define CAM_ACTIVE_AREA_X2 3304
473#define CAM_ACTIVE_AREA_Y2 2480
474
475// camera name
476#define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
477
478
479//----------------------------------------------------------
480#elif defined (CAMERA_a610)
481    #define CAM_PROPSET                 1
482
483    #define CAM_RAW_ROWPIX              2672   // for 5 MP
484    #define CAM_RAW_ROWS                1968   // for 5 MP
485   
486    #define CAM_SWIVEL_SCREEN           1
487    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
488    #undef  CAM_HAS_IS
489    #define CAM_CAN_MUTE_MICROPHONE     1
490    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
491    #define CAM_EV_IN_VIDEO             1
492    #define DNG_SUPPORT                 1
493    // pattern
494    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
495    // color
496    #define CAM_COLORMATRIX1                               \
497      15887,  10000, -6524, 10000, -1622, 10000,           \
498     -5467,   10000, 13449, 10000,  2209, 10000,           \
499     -1325,   10000, 1859,  10000,  5172, 10000
500   
501    #define cam_CalibrationIlluminant1 17 // Standard light A
502    // cropping
503    #define CAM_JPEG_WIDTH  2592
504    #define CAM_JPEG_HEIGHT 1944
505    #define CAM_ACTIVE_AREA_X1 14
506    #define CAM_ACTIVE_AREA_Y1 10
507    #define CAM_ACTIVE_AREA_X2 2626
508    #define CAM_ACTIVE_AREA_Y2 1966
509    // camera name
510    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
511
512    #define DNG_EXT_FROM ".DPS"
513
514
515//----------------------------------------------------------
516#elif defined (CAMERA_a620)
517    #define CAM_PROPSET                 1
518
519    #define CAM_RAW_ROWPIX              3152   // for 7 MP
520    #define CAM_RAW_ROWS                2340   // for 7 MP
521   
522    #define CAM_SWIVEL_SCREEN           1
523    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
524    #undef  CAM_HAS_IS   
525    #define CAM_CAN_MUTE_MICROPHONE     1
526    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
527    #define CAM_EV_IN_VIDEO             1
528    #define DNG_SUPPORT                 1
529    // pattern
530    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
531    // color
532    #define CAM_COLORMATRIX1                               \
533     15265, 10000, -6193, 10000, -1558, 10000,             \
534     -4125, 10000, 12116, 10000,  2010, 10000,             \
535     -888,  10000,  1639, 10000,  5220, 10000
536   
537    #define cam_CalibrationIlluminant1 17 // Standard light A
538    // cropping
539    #define CAM_JPEG_WIDTH  3072
540    #define CAM_JPEG_HEIGHT 2304
541    #define CAM_ACTIVE_AREA_X1 38
542    #define CAM_ACTIVE_AREA_Y1 14
543    #define CAM_ACTIVE_AREA_X2 3146
544    #define CAM_ACTIVE_AREA_Y2 2338
545    // camera name
546    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
547    #define DNG_EXT_FROM ".DPS"
548
549//----------------------------------------------------------
550#elif defined (CAMERA_a630)
551    #define CAM_PROPSET                 1
552
553    #define CAM_RAW_ROWPIX              3344   // for 8 MP
554    #define CAM_RAW_ROWS                2484   // for 8 MP
555   
556    #define CAM_SWIVEL_SCREEN           1
557    #define CAM_MULTIPART               1
558    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
559    #undef  CAM_HAS_IS
560    #define CAM_CAN_MUTE_MICROPHONE     1
561    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
562    #define CAM_EV_IN_VIDEO             1
563    #define DNG_SUPPORT                 1
564    // pattern
565    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
566    // color
567    #define CAM_COLORMATRIX1                               \
568      656080,  1000000,-226478, 1000000, -85884, 1000000,  \
569     -194636,  1000000, 687905, 1000000,  37862, 1000000,  \
570       22873,  1000000,  75523, 1000000, 265822, 1000000
571   
572    #define cam_CalibrationIlluminant1 1 // Daylight
573    // cropping
574    #define CAM_JPEG_WIDTH  3264
575    #define CAM_JPEG_HEIGHT 2448
576    #define CAM_ACTIVE_AREA_X1 14
577    #define CAM_ACTIVE_AREA_Y1 8
578    #define CAM_ACTIVE_AREA_X2 3298
579    #define CAM_ACTIVE_AREA_Y2 2476
580    // camera name
581    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
582    #define DNG_EXT_FROM ".DPS"
583
584//----------------------------------------------------------
585#elif defined (CAMERA_a640)
586    #define CAM_PROPSET                 1
587
588    #define CAM_RAW_ROWPIX              3736   // for 10 MP
589    #define CAM_RAW_ROWS                2772   // for 10 MP
590   
591    #define CAM_SWIVEL_SCREEN           1
592    #define CAM_MULTIPART               1
593    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
594    #undef  CAM_HAS_IS
595    #define CAM_CAN_MUTE_MICROPHONE     1
596    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
597    #define CAM_EV_IN_VIDEO             1
598    #define DNG_SUPPORT                 1
599    // pattern
600    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
601    // color
602    #define CAM_COLORMATRIX1                               \
603      13124,  10000, -5329, 10000, -1390, 10000,           \
604      -3602,  10000, 11658, 10000,  1944, 10000,           \
605      -1612,  10000,  2863, 10000,  4885, 10000
606   
607    #define cam_CalibrationIlluminant1 17 // Standard light A
608    // cropping
609    #define CAM_JPEG_WIDTH  3648
610    #define CAM_JPEG_HEIGHT 2736
611    #define CAM_ACTIVE_AREA_X1 14
612    #define CAM_ACTIVE_AREA_Y1 8
613    #define CAM_ACTIVE_AREA_X2 3682
614    #define CAM_ACTIVE_AREA_Y2 2764
615    // camera name
616    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
617    #define DNG_EXT_FROM ".DPS"
618
619//----------------------------------------------------------
620#elif defined (CAMERA_a650)
621    #define CAM_PROPSET                 2
622    #define CAM_DRYOS                   1
623
624    #define CAM_RAW_ROWPIX              4104   // for 12 MP
625    #define CAM_RAW_ROWS                3048   // for 12 MP
626   
627    #define CAM_ADJUSTABLE_ALT_BUTTON   1
628    #define CAM_SWIVEL_SCREEN           1
629    #define CAM_CAN_MUTE_MICROPHONE     1
630
631    #undef  CAM_EMUL_KEYPRESS_DURATION
632    #define CAM_EMUL_KEYPRESS_DURATION  10
633    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
634    #define CAM_EV_IN_VIDEO             1
635    #define DNG_SUPPORT                 1
636    // pattern
637    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
638    // color
639    #define CAM_COLORMATRIX1                               \
640      913762, 1000000, -261578, 1000000, -135582, 1000000, \
641     -99049,  1000000, 1067089, 1000000,   61442, 1000000, \
642      48717,  1000000, 96802,   1000000,  412056, 1000000
643   
644    #define cam_CalibrationIlluminant1 1 // Daylight
645    // cropping
646    #define CAM_JPEG_WIDTH  4000
647    #define CAM_JPEG_HEIGHT 3000
648    #define CAM_ACTIVE_AREA_X1 52
649    #define CAM_ACTIVE_AREA_Y1 14
650    #define CAM_ACTIVE_AREA_X2 4076
651    #define CAM_ACTIVE_AREA_Y2 3030
652    // camera name
653    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
654
655    #define DNG_EXT_FROM ".CR2"
656
657//----------------------------------------------------------
658#elif defined (CAMERA_a700)
659    #define CAM_PROPSET                 1
660
661    #define CAM_RAW_ROWPIX              2888   // for 6 MP
662    #define CAM_RAW_ROWS                2136   // for 6 MP
663
664    #undef  CAM_HAS_IS
665    #define CAM_CAN_MUTE_MICROPHONE     1
666    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
667    #define CAM_EV_IN_VIDEO             1
668    #define DNG_SUPPORT                 1
669    // pattern
670    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
671    // color
672    #define CAM_COLORMATRIX1                               \
673     14062, 10000, -5199, 10000, -1446, 10000,             \
674     -4712, 10000, 12470, 10000,  2243, 10000,             \
675     -1286, 10000,  2028, 10000,  4836, 10000
676   
677    #define cam_CalibrationIlluminant1 17 // Standard light A
678    // cropping
679    #define CAM_JPEG_WIDTH  2816
680    #define CAM_JPEG_HEIGHT 2112
681    #define CAM_ACTIVE_AREA_X1 44
682    #define CAM_ACTIVE_AREA_Y1 8
683    #define CAM_ACTIVE_AREA_X2 2884
684    #define CAM_ACTIVE_AREA_Y2 2136
685    // camera name
686    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
687    #define DNG_EXT_FROM ".DPS"
688
689//----------------------------------------------------------
690#elif defined (CAMERA_a710)
691    #define CAM_PROPSET                 1
692
693    #define CAM_RAW_ROWPIX              3152   // for 7 MP
694    #define CAM_RAW_ROWS                2340   // for 7 MP
695
696    #define CAM_MULTIPART               1
697    #define CAM_CAN_MUTE_MICROPHONE     1
698    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
699    #define CAM_EV_IN_VIDEO             1
700    #define DNG_SUPPORT                 1
701    // pattern
702    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
703    // color
704    #define CAM_COLORMATRIX1                   \
705     13349, 10000, -4141, 10000, -2128, 10000, \
706     -4189, 10000, 13178, 10000,  1044, 10000, \
707     -1037, 10000,  2326, 10000,  4720, 10000   
708   
709    #define cam_CalibrationIlluminant1 1 // Daylight
710    // cropping
711    #define CAM_JPEG_WIDTH  3072
712    #define CAM_JPEG_HEIGHT 2304
713    #define CAM_ACTIVE_AREA_X1 38
714    #define CAM_ACTIVE_AREA_Y1 14
715    #define CAM_ACTIVE_AREA_X2 3146
716    #define CAM_ACTIVE_AREA_Y2 2338
717    // camera name
718    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
719
720    #define DNG_EXT_FROM ".DPS"
721
722    #define CAM_EXT_TV_RANGE            1
723
724//----------------------------------------------------------
725#elif defined (CAMERA_a720)
726    #define CAM_PROPSET                 2
727    #define CAM_DRYOS                   1
728
729    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
730    #define CAM_RAW_ROWS                2480   // for new 8 MP
731    #define CAM_CAN_MUTE_MICROPHONE     1
732    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
733    #define CAM_EV_IN_VIDEO             1
734    #undef  CAM_VIDEO_CONTROL
735    #define DNG_SUPPORT                 1
736    // pattern
737    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
738    // color
739    #define CAM_COLORMATRIX1                               \
740      640019, 1000000, -220031, 1000000, -96241, 1000000,  \
741     -77419,  1000000, 639766,  1000000,  44009, 1000000,  \
742      17965,  1000000, 78396,   1000000, 231868, 1000000
743   
744    #define cam_CalibrationIlluminant1 1 // Daylight
745    // cropping
746    #define CAM_JPEG_WIDTH  3264
747    #define CAM_JPEG_HEIGHT 2448
748    #define CAM_ACTIVE_AREA_X1 10
749    #define CAM_ACTIVE_AREA_Y1 8
750    #define CAM_ACTIVE_AREA_X2 3302
751    #define CAM_ACTIVE_AREA_Y2 2474
752    // camera name
753    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
754
755    #define DNG_EXT_FROM ".CR2"
756
757//==========================================================
758// SD-Series (IXUS-Series)
759//==========================================================
760#elif defined (CAMERA_ixus40_sd300)
761    #define CAM_PROPSET                 1
762
763    #define CAM_RAW_ROWPIX              2400
764    #define CAM_RAW_ROWS                1766
765
766    #define CAM_USE_ZOOM_FOR_MF 1
767    #undef  CAM_HAS_ERASE_BUTTON
768    #undef  CAM_HAS_IRIS_DIAPHRAGM
769    #define CAM_HAS_ND_FILTER           1
770    #undef  CAM_HAS_MANUAL_FOCUS
771    #undef  CAM_HAS_USER_TV_MODES
772    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
773    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
774    #undef  CAM_HAS_IS
775    #undef CAM_CONSOLE_LOG_ENABLED
776
777
778    #define DNG_SUPPORT                 1
779    // pattern
780    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
781    // color
782    #define CAM_COLORMATRIX1                                 \
783      652674,  1000000, -172074, 1000000, -107575,  1000000, \
784      -139063, 1000000, 594517,  1000000,  60252,   1000000, \
785      -9088,   1000000, 82013,   1000000,  238080,  1000000
786   
787    #define cam_CalibrationIlluminant1 1 // Daylight
788    // cropping
789    #define CAM_JPEG_WIDTH  2272
790    #define CAM_JPEG_HEIGHT 1704
791    #define CAM_ACTIVE_AREA_X1 12
792    #define CAM_ACTIVE_AREA_Y1 12
793    #define CAM_ACTIVE_AREA_X2 2356
794    #define CAM_ACTIVE_AREA_Y2 1764
795    // camera name
796    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
797
798//----------------------------------------------------------
799
800#elif defined (CAMERA_ixus50_sd400)
801    #define CAM_PROPSET                 1
802
803    #define CAM_RAW_ROWPIX              2672   // for 5 MP
804    #define CAM_RAW_ROWS                1968   // for 5 MP
805
806    #undef  CAM_SYNCH 
807    #undef  CAM_USE_ZOOM_FOR_MF
808    #undef  CAM_HAS_ERASE_BUTTON
809    #undef  CAM_HAS_IRIS_DIAPHRAGM
810    #define CAM_HAS_ND_FILTER           1
811    #undef  CAM_HAS_MANUAL_FOCUS
812    #undef  CAM_HAS_USER_TV_MODES
813    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
814    #undef  CAM_HAS_IS
815        //#define CAM_CONSOLE_LOG_ENABLED     1
816    #undef  CAM_VIDEO_CONTROL
817    #define DNG_SUPPORT                 1
818    // pattern
819    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
820    // color
821    #define CAM_COLORMATRIX1                                  \
822      685247,  1000000, -204939,  1000000, -106531,  1000000, \
823     -267616,  1000000,  790509,  1000000,   73359,  1000000, \
824       32401,  1000000,   15655,  1000000,  314892,  1000000
825   
826    #define cam_CalibrationIlluminant1 1 // Daylight
827    // cropping
828    #define CAM_JPEG_WIDTH  2592
829    #define CAM_JPEG_HEIGHT 1944
830    #define CAM_ACTIVE_AREA_X1 12
831    #define CAM_ACTIVE_AREA_Y1 8
832    #define CAM_ACTIVE_AREA_X2 2628
833    #define CAM_ACTIVE_AREA_Y2 1968
834    // camera name
835    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
836
837
838//----------------------------------------------------------
839
840#elif defined (CAMERA_ixusizoom_sd30)
841    #define CAM_PROPSET                 1
842
843    #define CAM_RAW_ROWPIX              2672   // for 5 MP
844    #define CAM_RAW_ROWS                1968   // for 5 MP
845
846    #undef  CAM_SYNCH 
847    #undef  CAM_USE_ZOOM_FOR_MF
848    #undef  CAM_HAS_ERASE_BUTTON
849    #undef  CAM_HAS_IRIS_DIAPHRAGM
850    #define CAM_HAS_ND_FILTER           1
851    #undef  CAM_HAS_MANUAL_FOCUS
852    #undef  CAM_HAS_USER_TV_MODES
853    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
854    #undef  CAM_HAS_IS
855        //#define CAM_CONSOLE_LOG_ENABLED     1
856    #undef  CAM_VIDEO_CONTROL
857
858//----------------------------------------------------------
859
860//----------------------------------------------------------
861#elif defined (CAMERA_ixus55_sd450)
862    #define CAM_PROPSET                 1
863
864    #define CAM_RAW_ROWPIX              2672   // for 5 MP
865    #define CAM_RAW_ROWS                1968   // for 5 MP
866
867    #undef  CAM_USE_ZOOM_FOR_MF
868    #undef  CAM_HAS_ERASE_BUTTON
869    #undef  CAM_HAS_IRIS_DIAPHRAGM
870    #define CAM_HAS_ND_FILTER           1
871    #undef  CAM_HAS_MANUAL_FOCUS
872    #undef  CAM_HAS_USER_TV_MODES
873    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
874    #undef  CAM_HAS_IS
875    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
876    #define DNG_SUPPORT                 1
877    // pattern
878    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
879    // color
880    #define CAM_COLORMATRIX1                                \
881      536034,  1000000, -173429, 1000000, -89823,  1000000, \
882      -290416, 1000000, 735807,  1000000,  47894,  1000000, \
883      -71455,  1000000, 114314,  1000000,  274533, 1000000         
884   
885    #define cam_CalibrationIlluminant1 1 // Daylight
886    // cropping
887    #define CAM_JPEG_WIDTH  2592
888    #define CAM_JPEG_HEIGHT 1944
889    #define CAM_ACTIVE_AREA_X1 12
890    #define CAM_ACTIVE_AREA_Y1 8
891    #define CAM_ACTIVE_AREA_X2 2628
892    #define CAM_ACTIVE_AREA_Y2 1968
893    // camera name
894    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
895    #define DNG_EXT_FROM ".DPS"
896
897//----------------------------------------------------------
898#elif defined (CAMERA_ixus60_sd600)
899    #define CAM_PROPSET                 1
900
901    #define CAM_RAW_ROWPIX              2888   // for 6 MP
902    #define CAM_RAW_ROWS                2136   // for 6 MP
903
904    #undef  CAM_SYNCH
905    #undef  CAM_USE_ZOOM_FOR_MF
906    #undef  CAM_HAS_ERASE_BUTTON
907    #undef  CAM_HAS_IRIS_DIAPHRAGM
908    #define CAM_HAS_ND_FILTER           1
909    #undef  CAM_HAS_MANUAL_FOCUS
910    #undef  CAM_HAS_USER_TV_MODES
911    #define CAM_DRAW_EXPOSITION             1
912    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
913    #define CAM_FEATURE_FEATHER         1
914
915//    #define CAM_CONSOLE_LOG_ENABLED     1  //100a won't compile if this is defined ("undefined reference to `_iosDevFind'")
916    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
917    #undef  CAM_HAS_IS
918    #define DNG_SUPPORT                 1
919    // pattern
920    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
921    // color
922    #define CAM_COLORMATRIX1                                \
923      767398,  1000000, -227658, 1000000, -144213, 1000000, \
924      -217466, 1000000, 669319,  1000000,  38180,  1000000, \
925      -23152,  1000000, 77743,  1000000,   238669, 1000000
926   
927    #define cam_CalibrationIlluminant1 1 // Daylight
928    // cropping
929    #define CAM_JPEG_WIDTH  2816
930    #define CAM_JPEG_HEIGHT 2112
931    #define CAM_ACTIVE_AREA_X1 44
932    #define CAM_ACTIVE_AREA_Y1 8
933    #define CAM_ACTIVE_AREA_X2 2884
934    #define CAM_ACTIVE_AREA_Y2 2136
935    // camera name
936    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
937
938//----------------------------------------------------------
939#elif defined (CAMERA_ixus65_sd630)
940    #define CAM_PROPSET                 1
941
942    #define CAM_RAW_ROWPIX              2888   // for 6 MP
943    #define CAM_RAW_ROWS                2136   // for 6 MP
944
945    #undef  CAM_USE_ZOOM_FOR_MF
946    #undef  CAM_HAS_ERASE_BUTTON
947    #undef  CAM_HAS_IRIS_DIAPHRAGM
948    #define CAM_HAS_ND_FILTER           1
949    #undef  CAM_HAS_MANUAL_FOCUS
950    #undef  CAM_HAS_USER_TV_MODES
951    #define CAM_DRAW_EXPOSITION             1
952    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
953    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
954    #define CAM_FEATURE_FEATHER         1
955
956    #define CAM_CONSOLE_LOG_ENABLED     1
957    #undef  CAM_HAS_IS
958    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
959    #define DNG_SUPPORT                 1
960    // pattern
961    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
962    // color
963    #define CAM_COLORMATRIX1                                \
964      783384,  1000000, -227078, 1000000, -127919, 1000000, \
965      -181247, 1000000, 661743,  1000000,  58868,  1000000, \
966       25727,  1000000, 43891,   1000000,  247655, 1000000         
967   
968    #define cam_CalibrationIlluminant1 1 // Daylight
969    // cropping
970    #define CAM_JPEG_WIDTH  2816
971    #define CAM_JPEG_HEIGHT 2112
972    #define CAM_ACTIVE_AREA_X1 44
973    #define CAM_ACTIVE_AREA_Y1 8
974    #define CAM_ACTIVE_AREA_X2 2884
975    #define CAM_ACTIVE_AREA_Y2 2136
976    // camera name
977    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
978    #define DNG_EXT_FROM ".DPS"
979
980//----------------------------------------------------------
981
982#elif defined (CAMERA_ixus75_sd750)
983    #define CAM_PROPSET                 2
984
985    #define CAM_RAW_ROWPIX              3152   // for 7 MP
986    #define CAM_RAW_ROWS                2340   // for 7 MP
987
988/*
989    #undef  CAM_USE_ZOOM_FOR_MF
990    #undef  CAM_HAS_ERASE_BUTTON
991    #undef  CAM_HAS_IRIS_DIAPHRAGM
992    #define CAM_HAS_ND_FILTER           1
993    #undef  CAM_HAS_MANUAL_FOCUS
994    #undef  CAM_HAS_USER_TV_MODES
995    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
996    #undef  CAM_HAS_IS
997    */
998   
999    #undef  CAM_SWIVEL_SCREEN               // Camera has rotated LCD screen
1000    #undef CAM_USE_ZOOM_FOR_MF            // Zoom lever can be used for manual focus adjustments
1001    #undef  CAM_ADJUSTABLE_ALT_BUTTON       // ALT-button can be set from menu
1002    #undef CAM_REMOTE                     // Camera supports USB-remote
1003    #define CAM_MULTIPART               1   // Camera supports SD-card multipartitioning
1004    #define CAM_HAS_ZOOM_LEVER          1   // Camera has dedicated zoom buttons
1005    #undef  CAM_DRAW_EXPOSITION             // Output expo-pair on screen (for cameras which (sometimes) don't do that)
1006    #undef CAM_HAS_ERASE_BUTTON           // Camera has dedicated erase button
1007    #undef  CAM_HAS_IRIS_DIAPHRAGM
1008    #define  CAM_HAS_ND_FILTER         1      // Camera has build-in ND filter
1009    #undef CAM_CAN_SD_OVER_NOT_IN_MF      // Camera allows subject distance (focus) override when not in manual focus mode
1010    #undef CAM_CAN_SD_OVERRIDE            // Camera allows to do subject distance override
1011    #undef CAM_HAS_MANUAL_FOCUS           // Camera has manual focus mode
1012    #define CAM_HAS_USER_TV_MODES       1   // Camera has tv-priority or manual modes with ability to set tv value
1013    #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 
1014//    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // adress for zoom_status missing, probably more
1015    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO  1 // Camera can unlock optical zoom in video (if it is locked)
1016    #define  CAM_FEATURE_FEATHER        1     // Cameras with "feather" or touch wheel.
1017    #undef CAM_HAS_IS                     // Camera has image stabilizer
1018
1019//    #define  CAM_CONSOLE_LOG_ENABLED   1      // Development: internal camera stdout -> A/stdout.txt       
1020    #define DNG_SUPPORT                 1
1021    // pattern
1022    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1023    // color
1024    #define CAM_COLORMATRIX1                                \
1025      689833,  1000000, -198299, 1000000, -101299, 1000000, \
1026      -164267, 1000000, 667466,  1000000,  74132,  1000000, \
1027       -36515,  1000000, 123872,   1000000,  248498, 1000000
1028   
1029    #define cam_CalibrationIlluminant1 1 // Daylight
1030    // cropping
1031    #define CAM_JPEG_WIDTH  3072
1032    #define CAM_JPEG_HEIGHT 2304
1033    #define CAM_ACTIVE_AREA_X1 38
1034    #define CAM_ACTIVE_AREA_Y1 14
1035    #define CAM_ACTIVE_AREA_X2 3146
1036    #define CAM_ACTIVE_AREA_Y2 2338
1037    // camera name
1038    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1039   
1040    #define DNG_EXT_FROM ".DPS"
1041
1042//----------------------------------------------------------
1043#elif defined (CAMERA_ixus70_sd1000)
1044    #define CAM_PROPSET                 2
1045
1046    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1047    #define CAM_RAW_ROWS                2340   // for 7 MP
1048
1049    #undef  CAM_USE_ZOOM_FOR_MF
1050    #undef  CAM_HAS_ERASE_BUTTON
1051    #undef  CAM_HAS_IRIS_DIAPHRAGM
1052    #define CAM_HAS_ND_FILTER           1
1053    #undef  CAM_HAS_MANUAL_FOCUS
1054    #undef  CAM_HAS_USER_TV_MODES
1055    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1056    #undef  CAM_HAS_IS
1057    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1058    #define DNG_SUPPORT                 1
1059    #define CAM_MULTIPART               1
1060    // pattern
1061    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1062    // color
1063    #define CAM_COLORMATRIX1                                \
1064      652674,  1000000, -172074, 1000000, -107575, 1000000, \
1065      -139063, 1000000, 594517,  1000000,  60252,  1000000, \
1066       -9088,  1000000, 82013,   1000000,  238048, 1000000
1067   
1068    #define cam_CalibrationIlluminant1 1 // Daylight
1069    // cropping
1070    #define CAM_JPEG_WIDTH  3072
1071    #define CAM_JPEG_HEIGHT 2304
1072    #define CAM_ACTIVE_AREA_X1 38
1073    #define CAM_ACTIVE_AREA_Y1 14
1074    #define CAM_ACTIVE_AREA_X2 3146
1075    #define CAM_ACTIVE_AREA_Y2 2338
1076    // camera name
1077    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1078
1079    #define DNG_EXT_FROM ".DPS"
1080
1081    #define CAM_EXT_TV_RANGE            1
1082
1083//----------------------------------------------------------
1084#elif defined (CAMERA_ixus80_sd1100)
1085    #define CAM_PROPSET                 2
1086    #define CAM_DRYOS                   1
1087
1088    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1089    #define CAM_RAW_ROWS                2480   // for new 8 MP
1090
1091    #undef  CAM_USE_ZOOM_FOR_MF
1092    #undef  CAM_HAS_ERASE_BUTTON
1093    #undef  CAM_HAS_IRIS_DIAPHRAGM
1094    #define CAM_HAS_ND_FILTER           1
1095    #undef  CAM_HAS_MANUAL_FOCUS
1096    #undef  CAM_HAS_USER_TV_MODES
1097    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1098        // TODO / test
1099        #undef  CAM_REMOTE
1100        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1101    #undef  CAM_CAN_MUTE_MICROPHONE
1102    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 0
1103    #define DNG_SUPPORT                 1
1104    // pattern
1105    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1106    // color
1107    #define CAM_COLORMATRIX1                                \
1108      893969,  1000000, -343107, 1000000, -119590, 1000000, \
1109      -41350,  1000000, 581255,  1000000,  49523,  1000000, \
1110       24221,  1000000, 47554,   1000000,  209996, 1000000
1111   
1112    #define cam_CalibrationIlluminant1 1 // Daylight
1113    // cropping
1114    #define CAM_JPEG_WIDTH  3264
1115    #define CAM_JPEG_HEIGHT 2448
1116    #define CAM_ACTIVE_AREA_X1 6
1117    #define CAM_ACTIVE_AREA_Y1 6
1118    #define CAM_ACTIVE_AREA_X2 3304
1119    #define CAM_ACTIVE_AREA_Y2 2476
1120    // camera name
1121    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1122
1123    #define CAM_EXT_TV_RANGE            1
1124
1125//----------------------------------------------------------
1126#elif defined (CAMERA_ixus700_sd500)
1127    #define CAM_PROPSET                 1
1128
1129    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1130    #define CAM_RAW_ROWS                2340   // for 7 MP
1131
1132    #undef  CAM_SYNCH
1133    #undef  CAM_USE_ZOOM_FOR_MF
1134    #define CAM_DRAW_EXPOSITION         1
1135    #undef  CAM_HAS_ERASE_BUTTON
1136    #undef  CAM_HAS_IRIS_DIAPHRAGM
1137    #define CAM_HAS_ND_FILTER           1
1138    #undef  CAM_HAS_MANUAL_FOCUS
1139    #undef  CAM_HAS_USER_TV_MODES
1140    #undef  CAM_CAN_SD_OVERRIDE
1141    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1142    #undef  CAM_HAS_IS
1143    #define CAM_MULTIPART               1
1144    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1145    #define DNG_SUPPORT                 1
1146    // pattern
1147    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1148    // color
1149    #define CAM_COLORMATRIX1         \
1150      15265, 1, -6193,  1, -1558, 1, \
1151     -4125,  1,  12116, 1,  2010, 1, \
1152      -888,  1,  1639,  1,  5220, 1
1153   
1154    #define cam_CalibrationIlluminant1 17 // Standard light A
1155    // cropping
1156    #define CAM_JPEG_WIDTH  3072
1157    #define CAM_JPEG_HEIGHT 2304
1158    #define CAM_ACTIVE_AREA_X1 38
1159    #define CAM_ACTIVE_AREA_Y1 14
1160    #define CAM_ACTIVE_AREA_X2 3146
1161    #define CAM_ACTIVE_AREA_Y2 2338
1162    // camera name
1163    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
1164    #define DNG_EXT_FROM ".DPS"
1165
1166//----------------------------------------------------------
1167
1168#elif defined (CAMERA_ixus750_sd550)
1169    #define CAM_PROPSET                1
1170
1171    #define CAM_RAW_ROWPIX              3152  // for 7 MP
1172    #define CAM_RAW_ROWS                2340  // for 7 MP
1173
1174    #define  CAM_USE_ZOOM_FOR_MF    1
1175    #define CAM_DRAW_EXPOSITION        1
1176    #undef  CAM_HAS_ERASE_BUTTON
1177    #undef  CAM_HAS_IRIS_DIAPHRAGM
1178    #define CAM_HAS_ND_FILTER          1
1179    #undef  CAM_HAS_MANUAL_FOCUS
1180    #undef  CAM_HAS_USER_TV_MODES
1181    #define  CAM_CAN_SD_OVERRIDE    1
1182    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1183    #undef  CAM_HAS_IS
1184    #define CAM_MULTIPART              1
1185    #undef CAM_SYNCH
1186    #define DNG_SUPPORT                 1
1187    // pattern
1188    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1189    // color
1190    #define CAM_COLORMATRIX1                               \
1191      580280, 1000000, -172239, 1000000, -89707,  1000000, \
1192     -206596, 1000000,  634926, 1000000,  63877,  1000000, \
1193      10377,  1000000,  62053,  1000000,  242646, 1000000
1194   
1195    #define cam_CalibrationIlluminant1 1 // Daylight
1196    // cropping
1197    #define CAM_JPEG_WIDTH  3072
1198    #define CAM_JPEG_HEIGHT 2304
1199    #define CAM_ACTIVE_AREA_X1 36
1200    #define CAM_ACTIVE_AREA_Y1 12
1201    #define CAM_ACTIVE_AREA_X2 3148
1202    #define CAM_ACTIVE_AREA_Y2 2340
1203    // camera name
1204    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1205
1206//----------------------------------------------------------
1207#elif defined (CAMERA_ixus800_sd700)
1208    #define CAM_PROPSET                 1
1209
1210    #define CAM_RAW_ROWPIX              2888   // for 6 MP
1211    #define CAM_RAW_ROWS                2136   // for 6 MP
1212
1213    #undef  CAM_USE_ZOOM_FOR_MF
1214    #define CAM_DRAW_EXPOSITION         1
1215    #undef  CAM_HAS_ERASE_BUTTON
1216    #undef  CAM_HAS_IRIS_DIAPHRAGM
1217    #define CAM_HAS_ND_FILTER           1
1218    #undef  CAM_HAS_MANUAL_FOCUS
1219    #undef  CAM_HAS_USER_TV_MODES
1220    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1221    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
1222    #define DNG_SUPPORT                 1
1223
1224 // Warning! DNG4PS2 has both ixus800 and sd700 support with different CFA patterns and color matrices.
1225 // Used settings for IXUS800
1226
1227    // pattern
1228    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1229    // color
1230    #define CAM_COLORMATRIX1          \
1231      14062, 1, -5199,  1, -1446,  1, \
1232      -4712, 1,  12470, 1,  2243,  1, \
1233      -1286, 1,  2028,  1,  4836,  1
1234   
1235    #define cam_CalibrationIlluminant1 17 // Standard light A
1236    // cropping
1237    #define CAM_JPEG_WIDTH  2816
1238    #define CAM_JPEG_HEIGHT 2112
1239    #define CAM_ACTIVE_AREA_X1 44
1240    #define CAM_ACTIVE_AREA_Y1 8
1241    #define CAM_ACTIVE_AREA_X2 2884
1242    #define CAM_ACTIVE_AREA_Y2 2136
1243    // camera name
1244    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1245    #define DNG_EXT_FROM ".DPS"
1246   
1247//----------------------------------------------------------
1248#elif defined (CAMERA_ixus850_sd800)
1249    #define CAM_PROPSET                 1
1250
1251    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1252    #define CAM_RAW_ROWS                2340   // for 7 MP
1253
1254    #undef  CAM_USE_ZOOM_FOR_MF
1255    #undef  CAM_HAS_ERASE_BUTTON
1256    #undef  CAM_HAS_IRIS_DIAPHRAGM
1257    #define CAM_HAS_ND_FILTER           1
1258    #undef  CAM_HAS_MANUAL_FOCUS
1259    #undef  CAM_HAS_USER_TV_MODES
1260    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1261    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1262    #define CAM_MULTIPART               1
1263    #define DNG_SUPPORT                 1
1264    // pattern
1265    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1266    // color
1267    #define CAM_COLORMATRIX1                               \
1268      661014, 1000000, -189364, 1000000, -115797, 1000000, \
1269     -168772, 1000000,  661827, 1000000,   47392, 1000000, \
1270      -35846, 1000000,  107148, 1000000,  233705, 1000000
1271   
1272    #define cam_CalibrationIlluminant1 17 // Standard light A
1273    // cropping
1274    #define CAM_JPEG_WIDTH  3072
1275    #define CAM_JPEG_HEIGHT 2304
1276    #define CAM_ACTIVE_AREA_X1 12
1277    #define CAM_ACTIVE_AREA_Y1 8
1278    #define CAM_ACTIVE_AREA_X2 3108
1279    #define CAM_ACTIVE_AREA_Y2 2332
1280    // camera name
1281    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1282
1283    #define DNG_EXT_FROM ".DPS"
1284   
1285//----------------------------------------------------------
1286#elif defined (CAMERA_ixus860_sd870)
1287    #define CAM_PROPSET                 2
1288    #define CAM_DRYOS                   1
1289
1290    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1291    #define CAM_RAW_ROWS                2480   // for new 8 MP
1292
1293    #undef  CAM_USE_ZOOM_FOR_MF
1294    #undef  CAM_HAS_ERASE_BUTTON
1295    #undef  CAM_HAS_IRIS_DIAPHRAGM
1296    #define CAM_HAS_ND_FILTER           1
1297    #undef  CAM_HAS_MANUAL_FOCUS
1298    #undef  CAM_HAS_USER_TV_MODES
1299    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1300        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1301    #undef  CAM_CAN_MUTE_MICROPHONE
1302    #undef  CAM_VIDEO_CONTROL
1303    #define DNG_SUPPORT                 1
1304    // pattern
1305    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1306    // color
1307    #define CAM_COLORMATRIX1                               \
1308      747939, 1000000, -268233, 1000000, -129266, 1000000, \
1309     -50633,  1000000, 515687,  1000000,  23509,  1000000, \
1310     -21341,  1000000, 76495,   1000000, 186385,  1000000
1311   
1312    #define cam_CalibrationIlluminant1 1 // Daylight                   
1313    // cropping
1314    #define CAM_JPEG_WIDTH  3264
1315    #define CAM_JPEG_HEIGHT 2448
1316    #define CAM_ACTIVE_AREA_X1 10
1317    #define CAM_ACTIVE_AREA_Y1 8
1318    #define CAM_ACTIVE_AREA_X2 3302
1319    #define CAM_ACTIVE_AREA_Y2 2474
1320    // camera name
1321    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1322
1323    #define DNG_EXT_FROM ".CR2"
1324
1325//----------------------------------------------------------
1326#elif defined (CAMERA_ixus950_sd850)
1327
1328    #define CAM_EXT_TV_RANGE            1
1329    #define CAM_PROPSET                 2
1330
1331    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1332    #define CAM_RAW_ROWS                2480   // for new 8 MP
1333
1334    #undef  CAM_USE_ZOOM_FOR_MF
1335    #undef  CAM_HAS_ERASE_BUTTON
1336    #undef  CAM_HAS_IRIS_DIAPHRAGM
1337    #define CAM_HAS_ND_FILTER           1
1338    #undef  CAM_HAS_MANUAL_FOCUS
1339    #undef  CAM_HAS_USER_TV_MODES
1340    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1341    #define CAM_MULTIPART               1
1342    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1343    #define DNG_SUPPORT                 1
1344    // pattern
1345    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1346    // color
1347    #define CAM_COLORMATRIX1        \
1348      14573, 1, -5482, 1, -1546, 1, \
1349     -1266,  1, 9799,  1, 1468,  1, \
1350     -1040,  1, 1912,  1, 3810,  1
1351   
1352    #define cam_CalibrationIlluminant1 1 // Daylight                   
1353    // cropping
1354    #define CAM_JPEG_WIDTH  3264
1355    #define CAM_JPEG_HEIGHT 2448
1356    #define CAM_ACTIVE_AREA_X1 10
1357    #define CAM_ACTIVE_AREA_Y1 8
1358    #define CAM_ACTIVE_AREA_X2 3302
1359    #define CAM_ACTIVE_AREA_Y2 2474
1360    // camera name
1361    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1362    #define DNG_EXT_FROM ".DPS"
1363   
1364//----------------------------------------------------------
1365#elif defined (CAMERA_ixus960_sd950)
1366    #define CAM_PROPSET                 2
1367    #define CAM_DRYOS                   1
1368
1369    #define CAM_RAW_ROWPIX              4104   
1370    #define CAM_RAW_ROWS                3048   
1371
1372    #undef  CAM_USE_ZOOM_FOR_MF
1373    #undef  CAM_HAS_ERASE_BUTTON
1374    #undef  CAM_HAS_IRIS_DIAPHRAGM
1375    #define CAM_HAS_ND_FILTER           1
1376    #undef  CAM_HAS_MANUAL_FOCUS
1377    #undef  CAM_HAS_USER_TV_MODES
1378    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1379    #define DNG_SUPPORT                 1
1380    // pattern
1381    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1382    // color
1383    #define CAM_COLORMATRIX1                               \
1384      913762, 1000000, -261578, 1000000, -135582, 1000000, \
1385      -99049, 1000000, 1067089, 1000000,  61442,  1000000, \
1386      48717,  1000000, 96802,   1000000,  412056, 1000000
1387   
1388    #define cam_CalibrationIlluminant1 1 // Daylight
1389    // cropping
1390    #define CAM_JPEG_WIDTH  4000
1391    #define CAM_JPEG_HEIGHT 3000
1392    #define CAM_ACTIVE_AREA_X1 48
1393    #define CAM_ACTIVE_AREA_Y1 12
1394    #define CAM_ACTIVE_AREA_X2 4080
1395    #define CAM_ACTIVE_AREA_Y2 3036
1396    // camera name
1397    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1398
1399    #define DNG_EXT_FROM ".CR2"
1400
1401//----------------------------------------------------------
1402 #elif defined (CAMERA_ixus970_sd890)
1403    #define CAM_PROPSET                 2
1404    #define CAM_DRYOS                   1
1405
1406    #define CAM_RAW_ROWPIX              3720
1407    #define CAM_RAW_ROWS                2772
1408
1409    #undef CAM_USE_ZOOM_FOR_MF
1410    #undef CAM_HAS_ERASE_BUTTON
1411    #undef CAM_HAS_IRIS_DIAPHRAGM
1412    #define CAM_HAS_ND_FILTER           1
1413    #undef CAM_HAS_MANUAL_FOCUS
1414    #define CAM_MULTIPART               1
1415    #define CAM_HAS_JOGDIAL             1
1416    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1417    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1418    #define DNG_SUPPORT                 1
1419    #define CAM_EXT_TV_RANGE            1
1420
1421    // pattern
1422    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1423
1424    // color
1425    #define CAM_COLORMATRIX1                               \
1426      827547, 1000000, -290458, 1000000, -126086, 1000000, \
1427     -12829,  1000000, 530507,  1000000, 50537,   1000000, \
1428      5181,   1000000, 48183,   1000000, 245014,  1000000
1429    #define cam_CalibrationIlluminant1 1 // Daylight
1430
1431    // cropping
1432    #define CAM_JPEG_WIDTH  3648
1433    #define CAM_JPEG_HEIGHT 2736
1434    #define CAM_ACTIVE_AREA_X1 6
1435    #define CAM_ACTIVE_AREA_Y1 12
1436    #define CAM_ACTIVE_AREA_X2 3690
1437    #define CAM_ACTIVE_AREA_Y2 2772
1438
1439    // camera name
1440    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1441
1442    // 12 bit support
1443    #undef  CAM_SENSOR_BITS_PER_PIXEL
1444    #undef  CAM_WHITE_LEVEL
1445    #undef  CAM_BLACK_LEVEL
1446    #define CAM_SENSOR_BITS_PER_PIXEL   12
1447    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1448    #define CAM_BLACK_LEVEL             127
1449
1450#elif defined (CAMERA_ixus980_sd990)
1451    #define CAM_PROPSET                 2 // all values checked so far match propset 2
1452    #define CAM_DRYOS                   1
1453
1454    #define CAM_RAW_ROWPIX              4480 // 14.7 MP 12bpp
1455    #define CAM_RAW_ROWS                3348   
1456
1457    #undef  CAM_USE_ZOOM_FOR_MF
1458    #undef  CAM_HAS_ERASE_BUTTON
1459    #define CAM_MULTIPART               1
1460    #undef  CAM_HAS_IRIS_DIAPHRAGM
1461    #define CAM_HAS_ND_FILTER           1
1462    #define  CAM_HAS_MANUAL_FOCUS               1
1463    #define  CAM_HAS_USER_TV_MODES              1 //include M/P ? needed to make Tv bracketing work
1464    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1465    #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1
1466    #undef  CAM_VIDEO_CONTROL
1467    #undef CAM_UNCACHED_BIT  // shut up compiler
1468    #define CAM_UNCACHED_BIT    0x40000000
1469    #undef CAM_BITMAP_PALETTE
1470    #define CAM_BITMAP_PALETTE    2
1471
1472        #undef CAM_BLACK_LEVEL
1473    #define CAM_BLACK_LEVEL             127
1474    #define CAM_HAS_JOGDIAL             1
1475//    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1476    #define CAM_VIDEO_QUALITY_ONLY          1 
1477    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1478        #undef CAM_SENSOR_BITS_PER_PIXEL
1479    #define CAM_SENSOR_BITS_PER_PIXEL   12
1480        #undef CAM_WHITE_LEVEL
1481    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1482
1483    #define DNG_SUPPORT                 1
1484    // pattern
1485    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1486    // color preliminary
1487    #define CAM_COLORMATRIX1                               \
1488      837237, 1000000, -290137, 1000000, -128156, 1000000, \
1489      -127762, 1000000, 643909, 1000000,  52973,  1000000, \
1490      4446,  1000000, 88354,   1000000,  224246, 1000000
1491   
1492    #define cam_CalibrationIlluminant1 1 // Daylight
1493    // cropping
1494    #define CAM_JPEG_WIDTH  4416
1495    #define CAM_JPEG_HEIGHT 3312
1496    #define CAM_ACTIVE_AREA_X1 12
1497    #define CAM_ACTIVE_AREA_Y1 12
1498    #define CAM_ACTIVE_AREA_X2 4444
1499    #define CAM_ACTIVE_AREA_Y2 3324
1500    // camera name
1501    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData sd990: OK
1502
1503//    #define DNG_EXT_FROM ".CR2"
1504
1505//==========================================================
1506// S-Series
1507//==========================================================
1508#elif defined (CAMERA_s2is)
1509    #define CAM_PROPSET                 1
1510
1511    #define CAM_RAW_ROWPIX              2672   // for 5 MP
1512    #define CAM_RAW_ROWS                1968   // for 5 MP
1513   
1514    #undef  CAM_SYNCH   
1515    #define CAM_SWIVEL_SCREEN           1
1516    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1517    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1518    #define  CAM_HAS_VIDEO_BUTTON       1
1519    #undef  CAM_VIDEO_CONTROL
1520    #define DNG_SUPPORT                 1
1521    // pattern
1522    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1523    // color
1524    #define CAM_COLORMATRIX1                                \
1525      547708,  1000000, -143462, 1000000,  -99243, 1000000, \
1526     -186838,  1000000, 663925,  1000000,   50970, 1000000, \
1527     -5810,    1000000, 79162,   1000000,  266988, 1000000
1528   
1529    #define cam_CalibrationIlluminant1 1 // Daylight
1530    // cropping
1531    #define CAM_JPEG_WIDTH  2592
1532    #define CAM_JPEG_HEIGHT 1944
1533    #define CAM_ACTIVE_AREA_X1 14
1534    #define CAM_ACTIVE_AREA_Y1 10
1535    #define CAM_ACTIVE_AREA_X2 2626
1536    #define CAM_ACTIVE_AREA_Y2 1966
1537    // camera name
1538    #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData
1539    #define CAM_BRACKETING              1
1540    #define DNG_EXT_FROM ".DPS"
1541
1542//----------------------------------------------------------
1543#elif defined (CAMERA_s3is)
1544    #define CAM_PROPSET                 1
1545
1546    #define CAM_RAW_ROWPIX              2888   // for 6 MP
1547    #define CAM_RAW_ROWS                2136   // for 6 MP
1548   
1549    #undef  CAM_SYNCH 
1550    #define CAM_SWIVEL_SCREEN           1
1551    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1552    #define CAM_MULTIPART               1
1553    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1554    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1555    #define  CAM_HAS_VIDEO_BUTTON       1
1556    #define DNG_SUPPORT                 1
1557    // pattern
1558    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1559    // color
1560    #define CAM_COLORMATRIX1                               \
1561     14062, 10000, -5199, 10000, -1446, 10000,             \
1562     -4712, 10000, 12470, 10000,  2243, 10000,             \
1563     -1286, 10000,  2028, 10000,  4836, 10000
1564   
1565    #define cam_CalibrationIlluminant1 17 // Standard light A
1566    // cropping
1567    #define CAM_JPEG_WIDTH  2816
1568    #define CAM_JPEG_HEIGHT 2112
1569    #define CAM_ACTIVE_AREA_X1 44
1570    #define CAM_ACTIVE_AREA_Y1 8
1571    #define CAM_ACTIVE_AREA_X2 2884
1572    #define CAM_ACTIVE_AREA_Y2 2136
1573    // camera name
1574    #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData
1575    #define CAM_BRACKETING              1
1576    #define DNG_EXT_FROM ".DPS"
1577
1578    #define CAM_EXT_TV_RANGE            1
1579
1580//----------------------------------------------------------
1581#elif defined (CAMERA_s5is)
1582    #define CAM_PROPSET                 2
1583    #define CAM_DRYOS                   1
1584
1585    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1586    #define CAM_RAW_ROWS                2480   // for new 8 MP
1587   
1588    #define CAM_SWIVEL_SCREEN           1
1589    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1590    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1591    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1592    #define CAM_HAS_VIDEO_BUTTON       1
1593    #define CAM_EXT_TV_RANGE            1
1594    #define DNG_SUPPORT                 1
1595    // pattern
1596    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1597    // color
1598    #define CAM_COLORMATRIX1                               \
1599      650591, 1000000, -199585, 1000000, -123118, 1000000, \
1600     -69617,  1000000, 583926,  1000000,  34354,  1000000, \
1601     -19113,  1000000, 82163,   1000000, 210786,  1000000
1602   
1603    #define cam_CalibrationIlluminant1 1 // Daylight
1604    // cropping
1605    #define CAM_JPEG_WIDTH  3264
1606    #define CAM_JPEG_HEIGHT 2448
1607    #define CAM_ACTIVE_AREA_X1 10
1608    #define CAM_ACTIVE_AREA_Y1 8
1609    #define CAM_ACTIVE_AREA_X2 3302
1610    #define CAM_ACTIVE_AREA_Y2 2474
1611    // camera name
1612    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1613    #define CAM_BRACKETING              1
1614    #define DNG_EXT_FROM ".DPS"
1615
1616//==========================================================
1617// TX-Series
1618//==========================================================
1619#elif defined (CAMERA_tx1)
1620    #define CAM_PROPSET                 2
1621   
1622    #define CAM_RAW_ROWPIX              3152   // for 7 MP
1623    #define CAM_RAW_ROWS                2340   // for 7 MP
1624
1625    #define CAM_SWIVEL_SCREEN           1
1626    #define CAM_HAS_ND_FILTER           1
1627    #undef  CAM_HAS_ERASE_BUTTON
1628    #undef  CAM_HAS_MANUAL_FOCUS
1629    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1630    #define CAM_MULTIPART               1
1631    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1632    #define  CAM_HAS_VIDEO_BUTTON       1
1633    #define DNG_SUPPORT                 1
1634    // pattern
1635    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1636    // color
1637    #define CAM_COLORMATRIX1                                \
1638      510370,  1000000, -68998,  1000000, -86859,  1000000, \
1639      -279980, 1000000, 766686,  1000000,  67944,  1000000, \
1640      -14382,  1000000, 113688,  1000000, 239853,  1000000
1641   
1642    #define cam_CalibrationIlluminant1 1 // Daylight
1643    // cropping
1644    #define CAM_JPEG_WIDTH  3072
1645    #define CAM_JPEG_HEIGHT 2304
1646    #define CAM_ACTIVE_AREA_X1 12
1647    #define CAM_ACTIVE_AREA_Y1 8
1648    #define CAM_ACTIVE_AREA_X2 3108
1649    #define CAM_ACTIVE_AREA_Y2 2332
1650    // camera name
1651    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1652    #define DNG_EXT_FROM ".DPS"
1653
1654//==========================================================
1655// SX-Series
1656//==========================================================
1657#elif defined (CAMERA_sx100is)
1658    #define CAM_PROPSET                 2
1659    #define CAM_DRYOS                   1
1660
1661    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
1662    #define CAM_RAW_ROWS                2480   // for new 8 MP
1663    #undef CAM_SYNCH
1664    #define CAM_CAN_MUTE_MICROPHONE     1
1665    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
1666    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1667    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1668    #undef  CAM_VIDEO_CONTROL
1669    #define DNG_SUPPORT                 1
1670    #define CAM_REAR_CURTAIN            1
1671    #define CAM_HAS_JOGDIAL             1
1672    // pattern
1673    #define cam_CFAPattern 0x01000201 // Green  Blue  Red  Green
1674    // color
1675    #define CAM_COLORMATRIX1                               \
1676      656793, 1000000, -168702, 1000000, -108030, 1000000, \
1677      -2711,  1000000, 661538,  1000000,  37919,  1000000, \
1678      77255,  1000000, 48834,   1000000, 241797,  1000000
1679   
1680    #define cam_CalibrationIlluminant1 1 // Daylight
1681    // cropping
1682    #define CAM_JPEG_WIDTH  3264
1683    #define CAM_JPEG_HEIGHT 2448
1684    #define CAM_ACTIVE_AREA_X1 10
1685    #define CAM_ACTIVE_AREA_Y1 8
1686    #define CAM_ACTIVE_AREA_X2 3302
1687    #define CAM_ACTIVE_AREA_Y2 2474
1688    // camera name
1689    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1690
1691    #define DNG_EXT_FROM ".CR2"
1692    #define CAM_MULTIPART               1
1693
1694
1695//----------------------------------------------------------
1696
1697#elif defined (CAMERA_sx10)
1698    #define CAM_PROPSET                 2
1699    #define CAM_DRYOS                   1
1700
1701    #define CAM_RAW_ROWPIX              3720   
1702    #define CAM_RAW_ROWS                2772   
1703   
1704    #define CAM_SWIVEL_SCREEN           1
1705    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1706    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1707    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1708    #define CAM_HAS_VIDEO_BUTTON       1
1709    #define CAM_VIDEO_QUALITY_ONLY          1 
1710    #define CAM_BRACKETING              1
1711    #undef  CAM_VIDEO_CONTROL
1712    #define CAM_MULTIPART               1
1713    #define CAM_HAS_JOGDIAL             1
1714    #undef  CAM_USE_ZOOM_FOR_MF
1715    #undef  CAM_UNCACHED_BIT  // shut up compiler
1716    #define CAM_UNCACHED_BIT    0x40000000
1717
1718
1719    #define DNG_SUPPORT                 1
1720    // pattern
1721    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1722    // color
1723
1724    #define CAM_COLORMATRIX1                               \
1725      827547, 1000000, -290458, 1000000, -126086, 1000000, \
1726     -12829,  1000000, 530507,  1000000, 50537,   1000000, \
1727      5181,   1000000, 48183,   1000000, 245014,  1000000
1728
1729    #define cam_CalibrationIlluminant1 1 // Daylight
1730    // cropping
1731    #define CAM_JPEG_WIDTH  3648
1732    #define CAM_JPEG_HEIGHT 2736
1733    #define CAM_ACTIVE_AREA_X1 6
1734    #define CAM_ACTIVE_AREA_Y1 12
1735    #define CAM_ACTIVE_AREA_X2 3690
1736    #define CAM_ACTIVE_AREA_Y2 2772
1737    // camera name
1738    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1739    #undef  CAM_SENSOR_BITS_PER_PIXEL
1740    #undef  CAM_WHITE_LEVEL
1741    #undef  CAM_BLACK_LEVEL
1742    #define CAM_SENSOR_BITS_PER_PIXEL   12
1743    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1744    #define CAM_BLACK_LEVEL             127
1745
1746    #define CAM_EXT_TV_RANGE            1
1747
1748#elif defined (CAMERA_sx1)
1749    #define CAM_PROPSET                 2
1750    #define CAM_DRYOS                   1
1751
1752    #define CAM_RAW_ROWPIX              4152
1753    #define CAM_RAW_ROWS                2772 
1754   
1755    #define CAM_SWIVEL_SCREEN           1
1756    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1757    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1758    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
1759    #define CAM_HAS_VIDEO_BUTTON       1
1760    #define CAM_VIDEO_QUALITY_ONLY          1 
1761    #define CAM_BRACKETING              1
1762    #undef  CAM_VIDEO_CONTROL
1763    #define CAM_MULTIPART               1
1764    #define CAM_HAS_JOGDIAL             1
1765    #undef  CAM_USE_ZOOM_FOR_MF
1766    #undef  CAM_UNCACHED_BIT  // shut up compiler
1767    #define CAM_UNCACHED_BIT    0x40000000
1768
1769
1770    #define DNG_SUPPORT                 1
1771    // pattern
1772    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1773    // color
1774
1775    #define CAM_COLORMATRIX1                               \
1776      827547, 1000000, -290458, 1000000, -126086, 1000000, \
1777     -12829,  1000000, 530507,  1000000, 50537,   1000000, \
1778      5181,   1000000, 48183,   1000000, 245014,  1000000
1779
1780    #define cam_CalibrationIlluminant1 1 // Daylight
1781    // cropping
1782    #define CAM_JPEG_WIDTH  3648
1783    #define CAM_JPEG_HEIGHT 2736
1784    #define CAM_ACTIVE_AREA_X1 344
1785    #define CAM_ACTIVE_AREA_Y1 24
1786    #define CAM_ACTIVE_AREA_X2 3991
1787    #define CAM_ACTIVE_AREA_Y2 2759 
1788    // camera name
1789    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1790    #undef  CAM_SENSOR_BITS_PER_PIXEL
1791    #undef  CAM_WHITE_LEVEL
1792    #undef  CAM_BLACK_LEVEL
1793    #define CAM_SENSOR_BITS_PER_PIXEL   12
1794    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1795    #define CAM_BLACK_LEVEL             127
1796 
1797    #define CAM_EXT_TV_RANGE            1
1798                 
1799    #define CAM_HAS_VARIABLE_ASPECT 1
1800//----------------------------------------------------------
1801        //********
1802        /////SX110
1803        //********
1804#elif defined (CAMERA_sx110is)
1805    #define CAM_PROPSET                 2
1806    #define CAM_DRYOS                   1
1807          #define CAM_RAW_ROWPIX              3720 
1808    #define CAM_RAW_ROWS                2772 
1809    #undef CAM_SYNCH
1810    #define CAM_CAN_MUTE_MICROPHONE     1
1811//    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1         //not needed???
1812    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
1813    #define CAM_REAR_CURTAIN            1
1814//    #define CAM_SWIVEL_SCREEN           1             //not needed???
1815    #define CAM_ADJUSTABLE_ALT_BUTTON   1
1816    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
1817    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
1818//    #define CAM_HAS_VIDEO_BUTTON       1              //?
1819//    #define VIDEO_QUALITY_ONLY          1     //?
1820//    #define CAM_BRACKETING              1     //?
1821    #undef  CAM_VIDEO_CONTROL                                   
1822    #define CAM_MULTIPART               1
1823    #define CAM_HAS_JOGDIAL             1
1824    #undef  CAM_USE_ZOOM_FOR_MF
1825    #undef  CAM_UNCACHED_BIT  // shut up compiler
1826    #define CAM_UNCACHED_BIT    0x40000000
1827        #undef CAM_SENSOR_BITS_PER_PIXEL
1828    #define CAM_SENSOR_BITS_PER_PIXEL   12
1829        #undef CAM_WHITE_LEVEL
1830    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1831    #define DNG_SUPPORT                 1
1832    // camera name
1833    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1834//JS: need to be adjusted
1835//    #undef  CAM_SENSOR_BITS_PER_PIXEL
1836//    #undef  CAM_WHITE_LEVEL
1837//    #undef  CAM_BLACK_LEVEL
1838//    #define CAM_BLACK_LEVEL             127           //JS?
1839//    #define CAM_SENSOR_BITS_PER_PIXEL   10            //JS:?
1840//              #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)
1841       
1842
1843    // pattern
1844// js: need to be adjusted
1845   
1846    #define cam_CFAPattern 0x02010100 // Red  Green  Green  Blue
1847    // color
1848                #define CAM_COLORMATRIX1                               \
1849      1413400, 1000000, -557600,  1000000, -152700,  1000000, \
1850     -659100,  1000000, 1071900,  1000000,  127300,  1000000, \
1851     -115800,  1000000, 292900,   1000000,  358100,  1000000
1852    #define cam_CalibrationIlluminant1 1 // Daylight
1853    // cropping
1854// js: next 6 lines need to be adjusted
1855    #define CAM_JPEG_WIDTH  3456 //js: ok
1856    #define CAM_JPEG_HEIGHT 2592        //js: ok
1857    #define CAM_ACTIVE_AREA_X1 0 //js: ?
1858    #define CAM_ACTIVE_AREA_Y1 0 //js: ?
1859    #define CAM_ACTIVE_AREA_X2 3720 //js: ?
1860    #define CAM_ACTIVE_AREA_Y2 2772 //js:?
1861    // camera name
1862    #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData
1863
1864//    #define DNG_EXT_FROM ".CR2" //not needed?
1865
1866       
1867//----------------------------------------------------------
1868
1869#else
1870    #error camera type not defined
1871
1872#endif
1873
1874// curves only work in 10bpp for now
1875#if CAM_SENSOR_BITS_PER_PIXEL != 10
1876#undef OPT_CURVES
1877#endif
1878
1879#endif /* CAMERA_H */
Note: See TracBrowser for help on using the repository browser.