source: trunk/include/camera.h @ 577

Revision 577, 27.7 KB checked in by phyrephox, 5 years ago (diff)
  • enabled sd1100/ixus80 build again

about the video_control: perhaps it is worth digging out this old thread to check for ewavrs "2nd" way: http://chdk.setepontos.com/index.php/topic,952.msg18413.html#msg18413
i just uncommented this function from cameras that are KNOWN to crash using it. we need more reports.
also: this is a dirty workaround, it just wont show the fast movie control item in the menu of the reported cams. actually it should also be uncommented from the ubasic and lua function.
(added this quickfix because of this bugreport: http://chdk.kernreaktor.org/mantis/view.php?id=90)

  • 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// better: OPT_ stuff in makefile.inc
50    #define ZOOM_OVERRIDE               0   // Shall zoom-override be used? default 0 becoz not implemented right now
51
52//----------------------------------------------------------
53// Overridden values for each camera
54//----------------------------------------------------------
55
56//==========================================================
57// G-series
58//==========================================================
59#if   defined (CAMERA_g7)
60    #define CAM_PROPSET                 1
61
62    #define CAM_RAW_ROWPIX              3736   // for 10 MP
63    #define CAM_RAW_ROWS                2772   // for 10 MP
64   
65    #undef  CAM_USE_ZOOM_FOR_MF
66    #define CAM_ADJUSTABLE_ALT_BUTTON   1
67    #define CAM_MULTIPART               1
68    #define CAM_HAS_ND_FILTER           1
69    #undef  CAM_HAS_IS
70    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
71
72 //----------------------------------------------------------
73#elif defined (CAMERA_g9)
74    #define CAM_PROPSET                 2
75    #define CAM_DRYOS                   1
76
77    #define CAM_RAW_ROWPIX              4104   // for 12 MP
78    #define CAM_RAW_ROWS                3048   // for 12 MP
79
80
81//   #define CAM_MULTIPART               1
82    #define CAM_HAS_ND_FILTER           1
83
84    #define CAM_ADJUSTABLE_ALT_BUTTON   1
85    #define CAM_SWIVEL_SCREEN           1
86    #define CAM_CAN_MUTE_MICROPHONE     1
87
88    #undef  CAM_EMUL_KEYPRESS_DURATION
89    #define CAM_EMUL_KEYPRESS_DURATION  10
90    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
91    #define CAM_EV_IN_VIDEO             1
92//      #define CAM_CONSOLE_LOG_ENABLED     1
93   
94//==========================================================
95// A-series
96//==========================================================
97#elif defined (CAMERA_a450)
98    #define CAM_PROPSET                 2
99
100    #define CAM_RAW_ROWPIX              2664   // for 5 MP 1/3" sensor size
101    #define CAM_RAW_ROWS                1968   // for 5 MP 1/3" sensor size
102
103    #undef  CAM_USE_ZOOM_FOR_MF
104    #undef  CAM_HAS_ZOOM_LEVER
105    #define CAM_DRAW_EXPOSITION         1
106    #undef  CAM_HAS_ERASE_BUTTON
107    #undef  CAM_HAS_IRIS_DIAPHRAGM
108    #define CAM_HAS_ND_FILTER           1
109    #undef  CAM_HAS_MANUAL_FOCUS
110    #undef  CAM_HAS_USER_TV_MODES
111    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
112    #undef  CAM_HAS_IS
113    #define CAM_CAN_MUTE_MICROPHONE     1
114    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
115    #define CAM_EV_IN_VIDEO             1
116   
117//----------------------------------------------------------
118#elif defined (CAMERA_a460)
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   
138//----------------------------------------------------------
139#elif defined (CAMERA_a530)
140    #define CAM_PROPSET                 1
141
142//  2672x1968 image - like most other 5m sensors
143    #define CAM_RAW_ROWPIX              2672   // for 5 MP
144    #define CAM_RAW_ROWS                1968   // for 5 MP
145//  2672x1992 image - eventually probably real sensor size
146//  #define CAM_RAW_ROWPIX              2672   // for 5 MP
147//  #define CAM_RAW_ROWS                1992   // for 5 MP
148
149    #undef  CAM_USE_ZOOM_FOR_MF
150    #define CAM_HAS_ERASE_BUTTON        1
151    #undef  CAM_HAS_IRIS_DIAPHRAGM
152    #define CAM_HAS_ND_FILTER           1
153    #define CAM_HAS_MANUAL_FOCUS        1
154    #define CAM_DRAW_EXPOSITION         1
155    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
156    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
157    #undef  CAM_HAS_IS
158    #define CAM_CAN_MUTE_MICROPHONE     1
159    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
160    #define CAM_EV_IN_VIDEO             1
161
162//----------------------------------------------------------
163#elif defined (CAMERA_a540)
164    #define CAM_PROPSET                 1
165
166    #define CAM_RAW_ROWPIX              2888   // for 6 MP
167    #define CAM_RAW_ROWS                2136   // for 6 MP
168
169    #undef  CAM_USE_ZOOM_FOR_MF
170    #define CAM_HAS_ERASE_BUTTON        1
171    #define CAM_HAS_IRIS_DIAPHRAGM      1
172    #undef  CAM_HAS_ND_FILTER
173    #define CAM_HAS_MANUAL_FOCUS        1
174    #undef  CAM_DRAW_EXPOSITION
175    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
176    #undef  CAM_HAS_IS
177    #define CAM_CAN_MUTE_MICROPHONE     1
178    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
179    #define CAM_EV_IN_VIDEO             1
180
181//----------------------------------------------------------
182#elif defined (CAMERA_a550)
183    #define CAM_PROPSET                 2
184
185    #define CAM_RAW_ROWPIX              3152   // for 7 MP
186    #define CAM_RAW_ROWS                2340   // for 7 MP
187
188    #undef  CAM_USE_ZOOM_FOR_MF
189    #define CAM_MULTIPART               1
190    #undef  CAM_HAS_ERASE_BUTTON
191    #undef  CAM_HAS_IRIS_DIAPHRAGM
192    #define CAM_HAS_ND_FILTER           1
193    #undef  CAM_HAS_MANUAL_FOCUS
194    #undef  CAM_HAS_USER_TV_MODES
195    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
196    #undef  CAM_HAS_IS
197    #define CAM_CAN_MUTE_MICROPHONE     1
198    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
199   
200//----------------------------------------------------------
201#elif defined (CAMERA_a560)
202    #define CAM_PROPSET                 2
203
204    #define CAM_RAW_ROWPIX              3152   // for 7 MP
205    #define CAM_RAW_ROWS                2340   // for 7 MP
206
207    #undef  CAM_USE_ZOOM_FOR_MF
208    #define CAM_MULTIPART               1
209    #undef  CAM_HAS_ERASE_BUTTON
210    #undef  CAM_HAS_IRIS_DIAPHRAGM
211    #define CAM_HAS_ND_FILTER           1
212    #undef  CAM_HAS_MANUAL_FOCUS
213    #undef  CAM_HAS_USER_TV_MODES
214    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
215    #undef  CAM_HAS_IS
216    #define CAM_CAN_MUTE_MICROPHONE     1
217    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
218   
219//----------------------------------------------------------
220#elif defined (CAMERA_a570)
221    #define CAM_PROPSET                 2
222
223    #define CAM_RAW_ROWPIX              3152   // for 7 MP
224    #define CAM_RAW_ROWS                2340   // for 7 MP
225    #define CAM_MULTIPART               1
226    #define CAM_CAN_MUTE_MICROPHONE     1
227    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
228    #define CAM_EV_IN_VIDEO             1
229
230//----------------------------------------------------------
231#elif defined (CAMERA_a610)
232    #define CAM_PROPSET                 1
233
234    #define CAM_RAW_ROWPIX              2672   // for 5 MP
235    #define CAM_RAW_ROWS                1968   // for 5 MP
236   
237    #define CAM_SWIVEL_SCREEN           1
238    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
239    #undef  CAM_HAS_IS
240    #define CAM_CAN_MUTE_MICROPHONE     1
241    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
242    #define CAM_EV_IN_VIDEO             1
243
244//----------------------------------------------------------
245#elif defined (CAMERA_a620)
246    #define CAM_PROPSET                 1
247
248    #define CAM_RAW_ROWPIX              3152   // for 7 MP
249    #define CAM_RAW_ROWS                2340   // for 7 MP
250   
251    #define CAM_SWIVEL_SCREEN           1
252    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
253    #undef  CAM_HAS_IS   
254    #define CAM_CAN_MUTE_MICROPHONE     1
255    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
256    #define CAM_EV_IN_VIDEO             1
257
258//----------------------------------------------------------
259#elif defined (CAMERA_a630)
260    #define CAM_PROPSET                 1
261
262    #define CAM_RAW_ROWPIX              3344   // for 8 MP
263    #define CAM_RAW_ROWS                2484   // for 8 MP
264   
265    #define CAM_SWIVEL_SCREEN           1
266    #define CAM_MULTIPART               1
267    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
268    #undef  CAM_HAS_IS
269    #define CAM_CAN_MUTE_MICROPHONE     1
270    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
271    #define CAM_EV_IN_VIDEO             1
272
273//----------------------------------------------------------
274#elif defined (CAMERA_a640)
275    #define CAM_PROPSET                 1
276
277    #define CAM_RAW_ROWPIX              3736   // for 10 MP
278    #define CAM_RAW_ROWS                2772   // for 10 MP
279   
280    #define CAM_SWIVEL_SCREEN           1
281    #define CAM_MULTIPART               1
282    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
283    #undef  CAM_HAS_IS
284    #define CAM_CAN_MUTE_MICROPHONE     1
285    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
286    #define CAM_EV_IN_VIDEO             1
287
288//----------------------------------------------------------
289#elif defined (CAMERA_a650)
290    #define CAM_PROPSET                 2
291    #define CAM_DRYOS                   1
292
293    #define CAM_RAW_ROWPIX              4104   // for 12 MP
294    #define CAM_RAW_ROWS                3048   // for 12 MP
295   
296    #define CAM_ADJUSTABLE_ALT_BUTTON   1
297    #define CAM_SWIVEL_SCREEN           1
298    #define CAM_CAN_MUTE_MICROPHONE     1
299
300    #undef  CAM_EMUL_KEYPRESS_DURATION
301    #define CAM_EMUL_KEYPRESS_DURATION  10
302    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
303    #define CAM_EV_IN_VIDEO             1
304
305//----------------------------------------------------------
306#elif defined (CAMERA_a700)
307    #define CAM_PROPSET                 1
308
309    #define CAM_RAW_ROWPIX              2888   // for 6 MP
310    #define CAM_RAW_ROWS                2136   // for 6 MP
311
312    #undef  CAM_HAS_IS
313    #define CAM_CAN_MUTE_MICROPHONE     1
314    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
315    #define CAM_EV_IN_VIDEO             1
316
317//----------------------------------------------------------
318#elif defined (CAMERA_a710)
319    #define CAM_PROPSET                 1
320
321    #define CAM_RAW_ROWPIX              3152   // for 7 MP
322    #define CAM_RAW_ROWS                2340   // for 7 MP
323
324    #define CAM_MULTIPART               1
325    #define CAM_CAN_MUTE_MICROPHONE     1
326    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
327    #define CAM_EV_IN_VIDEO             1
328
329//----------------------------------------------------------
330#elif defined (CAMERA_a720)
331    #define CAM_PROPSET                 2
332    #define CAM_DRYOS                   1
333
334    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
335    #define CAM_RAW_ROWS                2480   // for new 8 MP
336    #define CAM_CAN_MUTE_MICROPHONE     1
337    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
338    #define CAM_EV_IN_VIDEO             1
339    #undef  CAM_VIDEO_CONTROL
340
341//==========================================================
342// SD-Series (IXUS-Series)
343//==========================================================
344#elif defined (CAMERA_ixus40_sd300)
345    #define CAM_PROPSET                 1
346
347    #define CAM_RAW_ROWPIX              (2376) //(2272+80) //for 4 MP guessed!!
348    #define CAM_RAW_ROWS                (1704+24) // for 4 MP guessed!!
349
350    #define CAM_USE_ZOOM_FOR_MF 1
351    #undef  CAM_HAS_ERASE_BUTTON
352    #undef  CAM_HAS_IRIS_DIAPHRAGM
353    #define CAM_HAS_ND_FILTER           1
354    #undef  CAM_HAS_MANUAL_FOCUS
355    #undef  CAM_HAS_USER_TV_MODES
356    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
357    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
358    #undef  CAM_HAS_IS
359    #undef CAM_CONSOLE_LOG_ENABLED
360//----------------------------------------------------------
361
362#elif defined (CAMERA_ixus50_sd400)
363    #define CAM_PROPSET                 1
364
365    #define CAM_RAW_ROWPIX              2672   // for 5 MP
366    #define CAM_RAW_ROWS                1968   // for 5 MP
367
368    #undef  CAM_SYNCH 
369    #undef  CAM_USE_ZOOM_FOR_MF
370    #undef  CAM_HAS_ERASE_BUTTON
371    #undef  CAM_HAS_IRIS_DIAPHRAGM
372    #define CAM_HAS_ND_FILTER           1
373    #undef  CAM_HAS_MANUAL_FOCUS
374    #undef  CAM_HAS_USER_TV_MODES
375    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
376    #undef  CAM_HAS_IS
377        //#define CAM_CONSOLE_LOG_ENABLED     1
378    #undef  CAM_VIDEO_CONTROL
379
380//----------------------------------------------------------
381#elif defined (CAMERA_ixus55_sd450)
382    #define CAM_PROPSET                 1
383
384    #define CAM_RAW_ROWPIX              2672   // for 5 MP
385    #define CAM_RAW_ROWS                1968   // for 5 MP
386
387    #undef  CAM_USE_ZOOM_FOR_MF
388    #undef  CAM_HAS_ERASE_BUTTON
389    #undef  CAM_HAS_IRIS_DIAPHRAGM
390    #define CAM_HAS_ND_FILTER           1
391    #undef  CAM_HAS_MANUAL_FOCUS
392    #undef  CAM_HAS_USER_TV_MODES
393    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
394    #undef  CAM_HAS_IS
395    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
396
397//----------------------------------------------------------
398#elif defined (CAMERA_ixus60_sd600)
399    #define CAM_PROPSET                 1
400
401    #define CAM_RAW_ROWPIX              2888   // for 6 MP
402    #define CAM_RAW_ROWS                2136   // for 6 MP
403
404    #undef  CAM_SYNCH
405    #undef  CAM_USE_ZOOM_FOR_MF
406    #undef  CAM_HAS_ERASE_BUTTON
407    #undef  CAM_HAS_IRIS_DIAPHRAGM
408    #define CAM_HAS_ND_FILTER           1
409    #undef  CAM_HAS_MANUAL_FOCUS
410    #undef  CAM_HAS_USER_TV_MODES
411    #define CAM_DRAW_EXPOSITION             1
412    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
413    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
414    #define CAM_FEATURE_FEATHER         1
415
416//    #define CAM_CONSOLE_LOG_ENABLED     1  //100a won't compile if this is defined ("undefined reference to `_iosDevFind'")
417    #undef  CAM_HAS_IS
418    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
419
420//----------------------------------------------------------
421#elif defined (CAMERA_ixus65_sd630)
422    #define CAM_PROPSET                 1
423
424    #define CAM_RAW_ROWPIX              2888   // for 6 MP
425    #define CAM_RAW_ROWS                2136   // for 6 MP
426
427    #undef  CAM_USE_ZOOM_FOR_MF
428    #undef  CAM_HAS_ERASE_BUTTON
429    #undef  CAM_HAS_IRIS_DIAPHRAGM
430    #define CAM_HAS_ND_FILTER           1
431    #undef  CAM_HAS_MANUAL_FOCUS
432    #undef  CAM_HAS_USER_TV_MODES
433    #define CAM_DRAW_EXPOSITION             1
434    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
435    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
436    #define CAM_FEATURE_FEATHER         1
437
438    #define CAM_CONSOLE_LOG_ENABLED     1
439    #undef  CAM_HAS_IS
440    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
441
442//----------------------------------------------------------
443
444#elif defined (CAMERA_ixus75_sd750)
445    #define CAM_PROPSET                 2
446
447    #define CAM_RAW_ROWPIX              3152   // for 7 MP
448    #define CAM_RAW_ROWS                2340   // for 7 MP
449
450/*
451    #undef  CAM_USE_ZOOM_FOR_MF
452    #undef  CAM_HAS_ERASE_BUTTON
453    #undef  CAM_HAS_IRIS_DIAPHRAGM
454    #define CAM_HAS_ND_FILTER           1
455    #undef  CAM_HAS_MANUAL_FOCUS
456    #undef  CAM_HAS_USER_TV_MODES
457    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
458    #undef  CAM_HAS_IS
459    */
460   
461    #undef  CAM_SWIVEL_SCREEN               // Camera has rotated LCD screen
462    #undef CAM_USE_ZOOM_FOR_MF            // Zoom lever can be used for manual focus adjustments
463    #undef  CAM_ADJUSTABLE_ALT_BUTTON       // ALT-button can be set from menu
464    #undef CAM_REMOTE                     // Camera supports USB-remote
465    #undef  CAM_MULTIPART                   // Camera supports SD-card multipartitioning
466    #define CAM_HAS_ZOOM_LEVER          1   // Camera has dedicated zoom buttons
467    #undef  CAM_DRAW_EXPOSITION             // Output expo-pair on screen (for cameras which (sometimes) don't do that)
468    #undef CAM_HAS_ERASE_BUTTON           // Camera has dedicated erase button
469    #undef  CAM_HAS_IRIS_DIAPHRAGM
470    #define  CAM_HAS_ND_FILTER         1      // Camera has build-in ND filter
471    #undef CAM_CAN_SD_OVER_NOT_IN_MF      // Camera allows subject distance (focus) override when not in manual focus mode
472    #undef CAM_CAN_SD_OVERRIDE            // Camera allows to do subject distance override
473    #undef CAM_HAS_MANUAL_FOCUS           // Camera has manual focus mode
474    #define CAM_HAS_USER_TV_MODES       1   // Camera has tv-priority or manual modes with ability to set tv value
475    #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 
476//    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // adress for zoom_status missing, probably more
477    #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO  1 // Camera can unlock optical zoom in video (if it is locked)
478    #define  CAM_FEATURE_FEATHER        1     // Cameras with "feather" or touch wheel.
479    #undef CAM_HAS_IS                     // Camera has image stabilizer
480
481//    #define  CAM_CONSOLE_LOG_ENABLED   1      // Development: internal camera stdout -> A/stdout.txt       
482
483//----------------------------------------------------------
484#elif defined (CAMERA_ixus70_sd1000)
485    #define CAM_PROPSET                 2
486
487    #define CAM_RAW_ROWPIX              3152   // for 7 MP
488    #define CAM_RAW_ROWS                2340   // for 7 MP
489
490    #undef  CAM_USE_ZOOM_FOR_MF
491    #undef  CAM_HAS_ERASE_BUTTON
492    #undef  CAM_HAS_IRIS_DIAPHRAGM
493    #define CAM_HAS_ND_FILTER           1
494    #undef  CAM_HAS_MANUAL_FOCUS
495    #undef  CAM_HAS_USER_TV_MODES
496    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
497    #undef  CAM_HAS_IS
498    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
499
500//----------------------------------------------------------
501#elif defined (CAMERA_ixus80_sd1100)
502    #define CAM_PROPSET                 2
503    #define CAM_DRYOS                   1
504
505    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
506    #define CAM_RAW_ROWS                2480   // for new 8 MP
507
508    #undef  CAM_USE_ZOOM_FOR_MF
509    #undef  CAM_HAS_ERASE_BUTTON
510    #undef  CAM_HAS_IRIS_DIAPHRAGM
511    #define CAM_HAS_ND_FILTER           1
512    #undef  CAM_HAS_MANUAL_FOCUS
513    #undef  CAM_HAS_USER_TV_MODES
514    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
515        // TODO / test
516        #undef  CAM_REMOTE
517        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
518    #undef  CAM_CAN_MUTE_MICROPHONE
519    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 0
520
521//----------------------------------------------------------
522#elif defined (CAMERA_ixus700_sd500)
523    #define CAM_PROPSET                 1
524
525    #define CAM_RAW_ROWPIX              3152   // for 7 MP
526    #define CAM_RAW_ROWS                2340   // for 7 MP
527
528    #undef  CAM_SYNCH
529    #undef  CAM_USE_ZOOM_FOR_MF
530    #define CAM_DRAW_EXPOSITION         1
531    #undef  CAM_HAS_ERASE_BUTTON
532    #undef  CAM_HAS_IRIS_DIAPHRAGM
533    #define CAM_HAS_ND_FILTER           1
534    #undef  CAM_HAS_MANUAL_FOCUS
535    #undef  CAM_HAS_USER_TV_MODES
536    #undef  CAM_CAN_SD_OVERRIDE
537    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
538    #undef  CAM_HAS_IS
539    #define CAM_MULTIPART               1
540    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
541
542//----------------------------------------------------------
543
544#elif defined (CAMERA_ixus750_sd550)
545    #define CAM_PROPSET                1
546
547    #define CAM_RAW_ROWPIX              3152  // for 7 MP
548    #define CAM_RAW_ROWS                2340  // for 7 MP
549
550    #define  CAM_USE_ZOOM_FOR_MF    1
551    #define CAM_DRAW_EXPOSITION        1
552    #undef  CAM_HAS_ERASE_BUTTON
553    #undef  CAM_HAS_IRIS_DIAPHRAGM
554    #define CAM_HAS_ND_FILTER          1
555    #undef  CAM_HAS_MANUAL_FOCUS
556    #undef  CAM_HAS_USER_TV_MODES
557    #define  CAM_CAN_SD_OVERRIDE    1
558    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
559    #undef  CAM_HAS_IS
560    #define CAM_MULTIPART              1
561    #undef CAM_SYNCH
562//----------------------------------------------------------
563#elif defined (CAMERA_ixus800_sd700)
564    #define CAM_PROPSET                 1
565
566    #define CAM_RAW_ROWPIX              2888   // for 6 MP
567    #define CAM_RAW_ROWS                2136   // for 6 MP
568
569    #undef  CAM_USE_ZOOM_FOR_MF
570    #define CAM_DRAW_EXPOSITION         1
571    #undef  CAM_HAS_ERASE_BUTTON
572    #undef  CAM_HAS_IRIS_DIAPHRAGM
573    #define CAM_HAS_ND_FILTER           1
574    #undef  CAM_HAS_MANUAL_FOCUS
575    #undef  CAM_HAS_USER_TV_MODES
576    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
577    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2
578   
579//----------------------------------------------------------
580#elif defined (CAMERA_ixus850_sd800)
581    #define CAM_PROPSET                 1
582
583    #define CAM_RAW_ROWPIX              3152   // for 7 MP
584    #define CAM_RAW_ROWS                2340   // for 7 MP
585
586    #undef  CAM_USE_ZOOM_FOR_MF
587    #undef  CAM_HAS_ERASE_BUTTON
588    #undef  CAM_HAS_IRIS_DIAPHRAGM
589    #define CAM_HAS_ND_FILTER           1
590    #undef  CAM_HAS_MANUAL_FOCUS
591    #undef  CAM_HAS_USER_TV_MODES
592    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
593    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
594   
595//----------------------------------------------------------
596#elif defined (CAMERA_ixus860_sd870)
597    #define CAM_PROPSET                 2
598    #define CAM_DRYOS                   1
599
600    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
601    #define CAM_RAW_ROWS                2480   // for new 8 MP
602
603    #undef  CAM_USE_ZOOM_FOR_MF
604    #undef  CAM_HAS_ERASE_BUTTON
605    #undef  CAM_HAS_IRIS_DIAPHRAGM
606    #define CAM_HAS_ND_FILTER           1
607    #undef  CAM_HAS_MANUAL_FOCUS
608    #undef  CAM_HAS_USER_TV_MODES
609    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
610        #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
611    #undef  CAM_CAN_MUTE_MICROPHONE
612    #undef  CAM_VIDEO_CONTROL
613//----------------------------------------------------------
614#elif defined (CAMERA_ixus950_sd850)
615    #define CAM_PROPSET                 2
616
617    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
618    #define CAM_RAW_ROWS                2480   // for new 8 MP
619
620    #undef  CAM_USE_ZOOM_FOR_MF
621    #undef  CAM_HAS_ERASE_BUTTON
622    #undef  CAM_HAS_IRIS_DIAPHRAGM
623    #define CAM_HAS_ND_FILTER           1
624    #undef  CAM_HAS_MANUAL_FOCUS
625    #undef  CAM_HAS_USER_TV_MODES
626    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
627    #define CAM_MULTIPART               1
628    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
629   
630//----------------------------------------------------------
631#elif defined (CAMERA_ixus960_sd950)
632    #define CAM_PROPSET                 2
633    #define CAM_DRYOS                   1
634
635    #define CAM_RAW_ROWPIX              4104   
636    #define CAM_RAW_ROWS                3048   
637
638    #undef  CAM_USE_ZOOM_FOR_MF
639    #undef  CAM_HAS_ERASE_BUTTON
640    #undef  CAM_HAS_IRIS_DIAPHRAGM
641    #define CAM_HAS_ND_FILTER           1
642    #undef  CAM_HAS_MANUAL_FOCUS
643    #undef  CAM_HAS_USER_TV_MODES
644    #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
645
646//==========================================================
647// S-Series
648//==========================================================
649#elif defined (CAMERA_s2is)
650    #define CAM_PROPSET                 1
651
652    #define CAM_RAW_ROWPIX              2672   // for 5 MP
653    #define CAM_RAW_ROWS                1968   // for 5 MP
654   
655    #undef  CAM_SYNCH   
656    #define CAM_SWIVEL_SCREEN           1
657    #define CAM_ADJUSTABLE_ALT_BUTTON   1
658    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
659    #define CAM_HAS_VIDEO_BUTTON       1
660    #undef  CAM_VIDEO_CONTROL
661
662//----------------------------------------------------------
663#elif defined (CAMERA_s3is)
664    #define CAM_PROPSET                 1
665
666    #define CAM_RAW_ROWPIX              2888   // for 6 MP
667    #define CAM_RAW_ROWS                2136   // for 6 MP
668   
669    #undef  CAM_SYNCH 
670    #define CAM_SWIVEL_SCREEN           1
671    #define CAM_ADJUSTABLE_ALT_BUTTON   1
672    #define CAM_MULTIPART               1
673    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
674    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
675    #define  CAM_HAS_VIDEO_BUTTON       1
676
677
678//----------------------------------------------------------
679#elif defined (CAMERA_s5is)
680    #define CAM_PROPSET                 2
681    #define CAM_DRYOS                   1
682
683    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
684    #define CAM_RAW_ROWS                2480   // for new 8 MP
685   
686    #define CAM_SWIVEL_SCREEN           1
687    #define CAM_ADJUSTABLE_ALT_BUTTON   1
688    #undef  CAM_CAN_SD_OVER_NOT_IN_MF
689    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
690    #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
691    #define  CAM_HAS_VIDEO_BUTTON       1
692
693
694//==========================================================
695// TX-Series
696//==========================================================
697#elif defined (CAMERA_tx1)
698    #define CAM_PROPSET                 2
699   
700    #define CAM_RAW_ROWPIX              3152   // for 7 MP
701    #define CAM_RAW_ROWS                2340   // for 7 MP
702
703    #define CAM_SWIVEL_SCREEN           1
704    #define CAM_HAS_ND_FILTER           1
705    #undef  CAM_HAS_ERASE_BUTTON
706    #undef  CAM_HAS_MANUAL_FOCUS
707    #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
708    #define CAM_MULTIPART               1
709    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
710
711//==========================================================
712// SX-Series
713//==========================================================
714#elif defined (CAMERA_sx100is)
715    #define CAM_PROPSET                 2
716    #define CAM_DRYOS                   1
717
718    #define CAM_RAW_ROWPIX              3336   // for new 8 MP
719    #define CAM_RAW_ROWS                2480   // for new 8 MP
720    #undef CAM_SYNCH
721#define CAM_CAN_MUTE_MICROPHONE     1
722#define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
723   #define CAM_ADJUSTABLE_ALT_BUTTON   1
724   #define CAM_SHOW_OSD_IN_SHOOT_MENU  1
725   #undef  CAM_VIDEO_CONTROL
726//----------------------------------------------------------
727
728#else
729    #error camera type not defined
730
731#endif
732
733#endif /* CAMERA_H */
Note: See TracBrowser for help on using the repository browser.