Changeset 1140
- Timestamp:
- 04/11/11 03:54:29 (2 years ago)
- Location:
- trunk
- Files:
-
- 65 added
- 2 edited
-
include/camera.h (modified) (3 diffs)
-
makefile.inc (modified) (1 diff)
-
platform/a2000/platform_camera.h (added)
-
platform/a430/platform_camera.h (added)
-
platform/a450/platform_camera.h (added)
-
platform/a460/platform_camera.h (added)
-
platform/a470/platform_camera.h (added)
-
platform/a480/platform_camera.h (added)
-
platform/a530/platform_camera.h (added)
-
platform/a540/platform_camera.h (added)
-
platform/a550/platform_camera.h (added)
-
platform/a560/platform_camera.h (added)
-
platform/a570/platform_camera.h (added)
-
platform/a580/platform_camera.h (added)
-
platform/a590/platform_camera.h (added)
-
platform/a610/platform_camera.h (added)
-
platform/a620/platform_camera.h (added)
-
platform/a630/platform_camera.h (added)
-
platform/a640/platform_camera.h (added)
-
platform/a650/platform_camera.h (added)
-
platform/a700/platform_camera.h (added)
-
platform/a710/platform_camera.h (added)
-
platform/a720/platform_camera.h (added)
-
platform/d10/platform_camera.h (added)
-
platform/g11/platform_camera.h (added)
-
platform/g12/platform_camera.h (added)
-
platform/g7/platform_camera.h (added)
-
platform/g9/platform_camera.h (added)
-
platform/ixus100_sd780/platform_camera.h (added)
-
platform/ixus120_sd940/platform_camera.h (added)
-
platform/ixus40_sd300/platform_camera.h (added)
-
platform/ixus50_sd400/platform_camera.h (added)
-
platform/ixus55_sd450/platform_camera.h (added)
-
platform/ixus60_sd600/platform_camera.h (added)
-
platform/ixus65_sd630/platform_camera.h (added)
-
platform/ixus700_sd500/platform_camera.h (added)
-
platform/ixus70_sd1000/platform_camera.h (added)
-
platform/ixus750_sd550/platform_camera.h (added)
-
platform/ixus75_sd750/platform_camera.h (added)
-
platform/ixus800_sd700/platform_camera.h (added)
-
platform/ixus80_sd1100/platform_camera.h (added)
-
platform/ixus850_sd800/platform_camera.h (added)
-
platform/ixus85_sd770/platform_camera.h (added)
-
platform/ixus860_sd870/platform_camera.h (added)
-
platform/ixus870_sd880/platform_camera.h (added)
-
platform/ixus900_sd900/platform_camera.h (added)
-
platform/ixus90_sd790/platform_camera.h (added)
-
platform/ixus950_sd850/platform_camera.h (added)
-
platform/ixus95_sd1200/platform_camera.h (added)
-
platform/ixus960_sd950/platform_camera.h (added)
-
platform/ixus970_sd890/platform_camera.h (added)
-
platform/ixus980_sd990/platform_camera.h (added)
-
platform/ixusizoom_sd30/platform_camera.h (added)
-
platform/s2is/platform_camera.h (added)
-
platform/s3is/platform_camera.h (added)
-
platform/s5is/platform_camera.h (added)
-
platform/s90/platform_camera.h (added)
-
platform/s95/platform_camera.h (added)
-
platform/sx1/platform_camera.h (added)
-
platform/sx10/platform_camera.h (added)
-
platform/sx100is/platform_camera.h (added)
-
platform/sx110is/platform_camera.h (added)
-
platform/sx130is/platform_camera.h (added)
-
platform/sx20/platform_camera.h (added)
-
platform/sx200is/platform_camera.h (added)
-
platform/sx30/platform_camera.h (added)
-
platform/tx1/platform_camera.h (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/camera.h
r1136 r1140 1 // camera.h 2 3 // This file contains the default values for various settings that may change across camera models. 4 // Setting values specific to each camera model can be found in the platform/XXX/platform_camera.h file for camera. 5 6 // If adding a new settings value put a suitable default value in here, along with documentation on 7 // what the setting does and how to determine the correct value. 8 // If the setting should not have a default value then add it here using the '#undef' directive 9 // along with appropriate documentation. 10 1 11 #ifndef CAMERA_H 2 12 #define CAMERA_H … … 9 19 // Default values 10 20 //---------------------------------------------------------- 11 #undef CAM_RAW_ROWPIX // Number of pixels in RAW row12 #undef CAM_RAW_ROWS // Number of rows in RAW13 21 14 #undef CAM_DRYOS // Camera is DryOS-based15 #undef CAM_PROPSET // Camera's properties group (the generation)22 #undef CAM_DRYOS // Camera is DryOS-based 23 #undef CAM_PROPSET // Camera's properties group (the generation) 16 24 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" 25 #undef CAM_SWIVEL_SCREEN // Camera has rotated LCD screen 26 #define CAM_USE_ZOOM_FOR_MF 1 // Zoom lever can be used for manual focus adjustments 27 #undef CAM_ADJUSTABLE_ALT_BUTTON // ALT-button can be set from menu 28 #define CAM_REMOTE 1 // Camera supports USB-remote 29 #undef SYNCHABLE_REMOTE_NOT_ENABLED // Disable support for synchable remote switch (in kbd.c) TODO only used by one camera ??? 30 #define CAM_SYNCH 1 // Camera supports SDM precision synch 31 #undef CAM_MULTIPART // Camera supports SD-card multipartitioning 32 #define CAM_HAS_ZOOM_LEVER 1 // Camera has dedicated zoom buttons 33 #undef CAM_DRAW_EXPOSITION // Output expo-pair on screen (for cameras which (sometimes) don't do that) 34 #define CAM_HAS_ERASE_BUTTON 1 // Camera has dedicated erase button 35 #define CAM_HAS_IRIS_DIAPHRAGM 1 // Camera has real diaphragm mechanism 36 #undef CAM_HAS_ND_FILTER // Camera has build-in ND filter 37 #define CAM_CAN_SD_OVER_NOT_IN_MF 1 // Camera allows subject distance (focus) override when not in manual focus mode 38 #define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override 39 #define CAM_HAS_MANUAL_FOCUS 1 // Camera has manual focus mode 40 #define CAM_HAS_USER_TV_MODES 1 // Camera has tv-priority or manual modes with ability to set tv value 41 #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 42 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1 // Camera can unlock optical zoom in video (if it is locked) 43 #undef CAM_FEATURE_FEATHER // Cameras with "feather" or touch wheel. 44 #define CAM_HAS_IS 1 // Camera has image stabilizer 45 #undef CAM_HAS_JOGDIAL // Camera has a "jog dial" 37 46 38 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt39 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1 // In CHDK for this camera realized adjustable video compression40 #undef CAM_CAN_MUTE_MICROPHONE // Camera has function to mute microphone47 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt 48 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1 // In CHDK for this camera realized adjustable video compression 49 #undef CAM_CAN_MUTE_MICROPHONE // Camera has function to mute microphone 41 50 42 #define CAM_EMUL_KEYPRESS_DELAY 40 // Delay to interpret <alt>-button press as longpress43 #define CAM_EMUL_KEYPRESS_DURATION 5 // Length of keypress emulation51 #define CAM_EMUL_KEYPRESS_DELAY 40 // Delay to interpret <alt>-button press as longpress 52 #define CAM_EMUL_KEYPRESS_DURATION 5 // Length of keypress emulation 44 53 45 #define CAM_MENU_BORDERWIDTH 30 // Related to screen layout somehow.46 // TODO someone explain what this does, probably doesn't really belong here54 #define CAM_MENU_BORDERWIDTH 30 // Related to screen layout somehow. 55 // TODO someone explain what this does, probably doesn't really belong here 47 56 48 #undef CAM_AF_SCAN_DURING_VIDEO_RECORD // CHDK can make single AF scan during video record49 #undef CAM_HAS_VIDEO_BUTTON // Camera can take stills in video mode, and vice versa50 #undef CAM_EV_IN_VIDEO // CHDK can change exposure in video mode51 #define CAM_VIDEO_CONTROL 1 // pause / unpause video recordings52 #undef CAM_VIDEO_QUALITY_ONLY // Override Video Bitrate is not supported57 #undef CAM_AF_SCAN_DURING_VIDEO_RECORD // CHDK can make single AF scan during video record 58 #undef CAM_HAS_VIDEO_BUTTON // Camera can take stills in video mode, and vice versa 59 #undef CAM_EV_IN_VIDEO // CHDK can change exposure in video mode 60 #define CAM_VIDEO_CONTROL 1 // pause / unpause video recordings 61 #undef CAM_VIDEO_QUALITY_ONLY // Override Video Bitrate is not supported 53 62 54 #define ZOOM_OVERRIDE 0 // Shall zoom-override be used? default 0 becoz not implemented right now63 #define ZOOM_OVERRIDE 0 // Shall zoom-override be used? default 0 becoz not implemented right now 55 64 56 #define DNG_SUPPORT 1 // Camera supports DNG format for saving of RAW images 65 #undef CAM_REAR_CURTAIN // Camera do not have front/rear curtain flash sync in menu 66 #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!) 67 #undef CAM_EXT_TV_RANGE // CHDK can make exposure time longer than 64s 68 #define CAM_CHDK_PTP 1 // include CHDK PTP support 57 69 58 #undef CAM_REAR_CURTAIN // Camera do not have front/rear curtain flash sync in menu 59 #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!) 60 #undef CAM_EXT_TV_RANGE // CHDK can make exposure time longer than 64s 61 #define CAM_CHDK_PTP 1 // include CHDK PTP support 70 #define CAM_UNCACHED_BIT 0x10000000 // bit indicating the uncached memory 62 71 63 #define CAM_UNCACHED_BIT 0x10000000 // bit indicating the uncached memory 72 #define CAM_MAKE "Canon" 73 #define CAM_SENSOR_BITS_PER_PIXEL 10 // Bits per pixel. 10 is standard, 12 is supported except for curves 74 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1) 75 #define CAM_BLACK_LEVEL 31 64 76 65 #define CAM_MAKE "Canon" 66 #define CAM_SENSOR_BITS_PER_PIXEL 10 // Bits per pixel. 10 is standard, 12 is supported except for curves 67 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1) 68 #define CAM_BLACK_LEVEL 31 77 #define CAM_BITMAP_PALETTE 1 // which color set is used for this camera 69 78 70 #define CAM_BITMAP_PALETTE 1 // which color set is used for this camera 79 #undef CAM_HAS_VARIABLE_ASPECT // can switch between 16:9 and 4:3 71 80 72 #undef CAM_HAS_VARIABLE_ASPECT // can switch between 16:9 and 4:3 73 #define DEFAULT_RAW_EXT 1 // extension to use for raw (see raw_exts in conf.c) 81 // by nandoide sept-2009 82 // zebra adjust buffer height: show use at sx200is: needed for save memory space 83 #define ZEBRA_HMARGIN0 0 74 84 75 // by nandoide sept-2009 76 // zebra adjust buffer height: show use at sx200is: needed for save memory space 77 #define ZEBRA_HMARGIN0 0 85 // aspect corrections 86 #define CAM_USES_ASPECT_CORRECTION 0 // if true, camera uses a modified graphics primitives to draw with exact display aspect-ratio. 87 // Could slow the graphics output (but not perceived on sx200is), but adds rectangle drawing optimizations to compensate. 88 // To extend to other cameras see sx200is camera.h comments in and comments on core gui_draw.c 89 #define CAM_USES_ASPECT_YCORRECTION 0 78 90 79 // aspect corrections 80 #define CAM_USES_ASPECT_CORRECTION 0 // if true, camera uses a modified graphics primitives to draw with exact display aspect-ratio. 81 // Could slow the graphics output (but not perceived on sx200is), but adds rectangle drawing optimizations to compensate. 82 // To extend to other cameras see sx200is camera.h comments in and comments on core gui_draw.c 83 #define CAM_USES_ASPECT_YCORRECTION 0 91 // menu, alt (default) 92 #define ASPECT_XCORRECTION(x) ( ((x)<<1) ) // see comments on 200is 93 #define ASPECT_YCORRECTION(y) ( (y) ) // no correction the same for coordinate y. I think there are no cameras actually needing both corrections. 94 // viewport, defaults used if there is no aspect correction 95 #define ASPECT_VIEWPORT_XCORRECTION(x) ( (x) ) // see comments on 200is 96 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) ) // no correction 84 97 85 // menu, alt (default) 86 #define ASPECT_XCORRECTION(x) ( ((x)<<1) ) // see comments on 200is 87 #define ASPECT_YCORRECTION(y) ( (y) ) // no correction the same for coordinate y. I think there are no cameras actually needing both corrections. 88 // viewport, defaults used if there is no aspect correction 89 #define ASPECT_VIEWPORT_XCORRECTION(x) ( (x) ) // see comments on 200is 90 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) ) // no correction 98 #define EDGE_HMARGIN 0 // define sup and inf screen margins on edge overlay without overlay. Necessary to save memory buffer space. sx200is needs values other than 0 99 // end of section by nandoid 91 100 92 #define EDGE_HMARGIN 0 // define sup and inf screen margins on edge overlay without overlay. Necessary to save memory buffer space. sx200is needs values other than 0 93 // end of section by nandoid 101 #undef CAM_QUALITY_OVERRIDE // camera may need shooting quality override (sx200is lacks SuperFine quality) 94 102 95 #undef CAM_QUALITY_OVERRIDE // camera may need shooting quality override (sx200is lacks SuperFine quality) 103 #undef CAM_ZEBRA_ASPECT_ADJUST // zebra needs to account for real bitmap size being different from what lib.c reports 104 // also used by some cameras with normal bitmap layouts for memory saving ? 105 #undef CAM_ZEBRA_NOBUF // zebra draws directly on bitmap buffer. Requires above as well 96 106 97 #undef CAM_ZEBRA_ASPECT_ADJUST // zebra needs to account for real bitmap size being different from what lib.c reports 98 // also used by some cameras with normal bitmap layouts for memory saving ? 99 #undef CAM_ZEBRA_NOBUF // zebra draws directly on bitmap buffer. Requires above as well 107 #undef CAM_DATE_FOLDER_NAMING // set if camera uses date based folder naming (Option "Create Folder" in Canon Menu) and get_target_dir_name is implemented 100 108 101 #undef CAM_DATE_FOLDER_NAMING // set if camera uses date based folder naming (Option "Create Folder" in Canon Menu) and get_target_dir_name is implemented 109 #undef CAM_KEY_CLICK_DELAY // additional delay between press and release for scripted click 110 #define CAM_KEY_PRESS_DELAY 20 // delay after a press - TODO can we combine this with above ? 111 #define CAM_KEY_RELEASE_DELAY 20 // delay after a release - TODO do we really need to wait after release ? 102 112 103 #undef CAM_KEY_CLICK_DELAY // additional delay between press and release for scripted click 104 #define CAM_KEY_PRESS_DELAY 20 // delay after a press - TODO can we combine this with above ? 105 #define CAM_KEY_RELEASE_DELAY 20 // delay after a release - TODO do we really need to wait after release ? 113 #undef CAM_DATE_FOLDER_NAMING // Camera uses date for naming image folders 114 115 #undef CAM_STARTUP_CRASH_FILE_OPEN_FIX // enable fix for camera crash at startup when opening the conf / font files 116 // see http://chdk.setepontos.com/index.php?topic=6179.0 117 118 // RAW & DNG related values 119 #define DNG_SUPPORT 1 // Camera supports DNG format for saving of RAW images 120 #define DEFAULT_RAW_EXT 1 // extension to use for raw (see raw_exts in conf.c) 121 #undef CAM_RAW_ROWPIX // Number of pixels in RAW row (physical size of the sensor) 122 #undef CAM_RAW_ROWS // Number of rows in RAW (physical size of the sensor) 123 #undef CAM_JPEG_WIDTH // Default crop size (width) stored in DNG (to match camera JPEG size) 124 #undef CAM_JPEG_HEIGHT // Default crop size (height) stored in DNG (to match camera JPEG size) 125 #undef CAM_ACTIVE_AREA_X1 // Define usable area of the sensor 126 #undef CAM_ACTIVE_AREA_Y1 // Define usable area of the sensor 127 #undef CAM_ACTIVE_AREA_X2 // Define usable area of the sensor 128 #undef CAM_ACTIVE_AREA_Y2 // Define usable area of the sensor 129 #undef cam_CFAPattern // Camera Bayer sensor data layout 130 #undef CAM_COLORMATRIX1 // DNG color profile matrix 131 #undef cam_CalibrationIlluminant1 // DNG color profile illuminant 132 #undef CAM_DNG_EXPOSURE_BIAS // Specify DNG exposure bias value (to override default of -0.5 in the dng.c code) 133 #undef DNG_EXT_FROM // Extension in the cameras known extensions to replace with .DNG to allow DNG 134 // files to be transfered over standard PTP. Only applicable to older cameras 135 136 // Games definitions 137 #define GAMES_SCREEN_WIDTH 360 // Logical screen width for games 138 #define GAMES_SCREEN_HEIGHT 240 // Logical screen height for games 139 #define ASPECT_GAMES_XCORRECTION(x) ((x)<<1) // Aspect ratio correction for games. Default for games is 360x240 logical screen. Physical camera screen is 140 #define ASPECT_GAMES_YCORRECTION(y) (y) // 720x240 so x*2 needed for X axis correction, no correction for Y. 141 142 // Grid definitions 143 #define ASPECT_GRID_XCORRECTION(x) (x) // Aspect ratio correction for grids. Grids are designed on a 360x240 logical screen size which matches the 144 #define ASPECT_GRID_YCORRECTION(y) (y) // default CHDK logical screen size so no correction needed. 145 146 #undef PARAM_CAMERA_NAME // parameter number for GetParameterData to get camera name 106 147 107 148 //---------------------------------------------------------- … … 109 150 //---------------------------------------------------------- 110 151 111 //========================================================== 112 // G-series 113 //========================================================== 114 #if defined (CAMERA_g7) 115 #define CAM_PROPSET 1 152 // Include the settings file for the camera model currently being compiled. 153 #include "platform_camera.h" 116 154 117 #define CAM_RAW_ROWPIX 3736 // for 10 MP118 #define CAM_RAW_ROWS 2772 // for 10 MP119 120 #undef CAM_USE_ZOOM_FOR_MF121 #define CAM_ADJUSTABLE_ALT_BUTTON 1122 #define CAM_MULTIPART 1123 #define CAM_HAS_ND_FILTER 1124 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1125 #define CAM_HAS_JOGDIAL 1126 // pattern127 #define cam_CFAPattern 0x02010100 // Red Green Green Blue128 // color129 #define CAM_COLORMATRIX1 \130 575419, 1000000,-185557, 1000000, -77898, 1000000, \131 -213702, 1000000, 733569, 1000000, 81514, 1000000, \132 -24604, 1000000, 131906, 1000000, 280378, 1000000133 134 #define cam_CalibrationIlluminant1 1 // Daylight135 // cropping136 #define CAM_JPEG_WIDTH 3648137 #define CAM_JPEG_HEIGHT 2736138 #define CAM_ACTIVE_AREA_X1 14139 #define CAM_ACTIVE_AREA_Y1 8140 #define CAM_ACTIVE_AREA_X2 3682141 #define CAM_ACTIVE_AREA_Y2 2764142 // camera name143 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData144 #define CAM_BRACKETING 1145 #define DNG_EXT_FROM ".DPS"146 //----------------------------------------------------------147 148 #elif defined (CAMERA_g9)149 #define CAM_PROPSET 2150 #define CAM_DRYOS 1151 152 #define CAM_RAW_ROWPIX 4104 // for 12 MP153 #define CAM_RAW_ROWS 3048 // for 12 MP154 #define CAM_HAS_ND_FILTER 1155 #define CAM_ADJUSTABLE_ALT_BUTTON 1156 #undef CAM_EMUL_KEYPRESS_DURATION157 #define CAM_EMUL_KEYPRESS_DURATION 10158 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1159 #define CAM_HAS_JOGDIAL 1160 // #define CAM_CONSOLE_LOG_ENABLED 1161 #define CAM_BRACKETING 1162 #define CAM_MULTIPART 1163 #define CAM_EXT_TV_RANGE 1164 165 // camera name166 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData167 168 // pattern169 #define cam_CFAPattern 0x02010100 // Red Green Green Blue170 // color (alternativ: http://lclevy.free.fr/cr2/)171 #define CAM_COLORMATRIX1 \172 1679727, 1000000, 422803, 1000000, 803343, 1000000, \173 220204, 1000000, 1784845, 1000000, -63290, 1000000, \174 -282882, 1000000, -475034, 1000000, 4502592, 1000000175 176 #define cam_CalibrationIlluminant1 1 // Daylight177 178 // cropping179 #define CAM_JPEG_WIDTH 4000180 #define CAM_JPEG_HEIGHT 3000181 #define CAM_ACTIVE_AREA_X1 52182 #define CAM_ACTIVE_AREA_Y1 14183 #define CAM_ACTIVE_AREA_X2 4076184 #define CAM_ACTIVE_AREA_Y2 3030185 //----------------------------------------------------------186 187 188 //==========================================================189 // A-series190 //==========================================================191 #elif defined (CAMERA_a430)192 #define CAM_PROPSET 1193 194 #define CAM_RAW_ROWPIX 2392 // for 4 MP 1/3" sensor size195 #define CAM_RAW_ROWS 1752 // for 4 MP 1/3" sensor size196 197 #undef CAM_USE_ZOOM_FOR_MF198 #undef CAM_HAS_ZOOM_LEVER199 #define CAM_DRAW_EXPOSITION 1200 #undef CAM_HAS_ERASE_BUTTON201 #undef CAM_HAS_IRIS_DIAPHRAGM202 #define CAM_HAS_ND_FILTER 1203 #undef CAM_HAS_MANUAL_FOCUS204 #undef CAM_HAS_USER_TV_MODES205 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1206 #undef CAM_HAS_IS207 #define CAM_CAN_MUTE_MICROPHONE 1208 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1209 #define CAM_EV_IN_VIDEO 1210 // pattern211 #define cam_CFAPattern 0x01000201 // Green Blue Red Green212 // color213 #define CAM_COLORMATRIX1 \214 479627, 1000000, -156240, 1000000, -84926, 1000000, \215 -215238, 1000000, 534902, 1000000, 60219, 1000000, \216 -96906, 1000000, 148194, 1000000, 191583, 1000000217 218 #define CAM_CONSOLE_LOG_ENABLED 1219 #define cam_CalibrationIlluminant1 1 // Daylight220 // cropping221 #define CAM_JPEG_WIDTH 2272222 #define CAM_JPEG_HEIGHT 1704223 #define CAM_ACTIVE_AREA_X1 0224 #define CAM_ACTIVE_AREA_Y1 8225 #define CAM_ACTIVE_AREA_X2 2336226 #define CAM_ACTIVE_AREA_Y2 1748227 // camera name228 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData229 #define CAM_BRACKETING 1230 // #define CAM_MULTIPART 1231 //----------------------------------------------------------232 233 #elif defined (CAMERA_a450)234 #define CAM_PROPSET 2235 236 #define CAM_RAW_ROWPIX 2664 // for 5 MP 1/3" sensor size237 #define CAM_RAW_ROWS 1968 // for 5 MP 1/3" sensor size238 239 #undef CAM_USE_ZOOM_FOR_MF240 #undef CAM_HAS_ZOOM_LEVER241 #define CAM_DRAW_EXPOSITION 1242 #undef CAM_HAS_ERASE_BUTTON243 #undef CAM_HAS_IRIS_DIAPHRAGM244 #define CAM_HAS_ND_FILTER 1245 #undef CAM_HAS_MANUAL_FOCUS246 #undef CAM_HAS_USER_TV_MODES247 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1248 #undef CAM_HAS_IS249 #define CAM_CAN_MUTE_MICROPHONE 1250 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1251 #define CAM_EV_IN_VIDEO 1252 // pattern253 #define cam_CFAPattern 0x02010100 // Red Green Green Blue254 // color255 #define CAM_COLORMATRIX1 \256 652279, 1000000, -199279, 1000000, -101833, 1000000, \257 -159819, 1000000, 619308, 1000000, 78172, 1000000, \258 -58827, 1000000, 150963, 1000000, 264216, 1000000259 260 #define cam_CalibrationIlluminant1 1 // Daylight261 // cropping262 #define CAM_JPEG_WIDTH 2592263 #define CAM_JPEG_HEIGHT 1944264 #define CAM_ACTIVE_AREA_X1 6265 #define CAM_ACTIVE_AREA_Y1 6266 #define CAM_ACTIVE_AREA_X2 2618267 #define CAM_ACTIVE_AREA_Y2 1962268 // camera name269 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData270 //----------------------------------------------------------271 272 #elif defined (CAMERA_a460)273 #define CAM_PROPSET 2274 275 #define CAM_RAW_ROWPIX 2664 // for 5 MP 1/3" sensor size276 #define CAM_RAW_ROWS 1968 // for 5 MP 1/3" sensor size277 278 #undef CAM_USE_ZOOM_FOR_MF279 #undef CAM_HAS_ZOOM_LEVER280 #define CAM_DRAW_EXPOSITION 1281 #undef CAM_HAS_ERASE_BUTTON282 #undef CAM_HAS_IRIS_DIAPHRAGM283 #define CAM_HAS_ND_FILTER 1284 #undef CAM_HAS_MANUAL_FOCUS285 #undef CAM_HAS_USER_TV_MODES286 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1287 #undef CAM_HAS_IS288 #define CAM_CAN_MUTE_MICROPHONE 1289 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1290 #define CAM_EV_IN_VIDEO 1291 // pattern292 #define cam_CFAPattern 0x02010100 // Red Green Green Blue293 // color294 #define CAM_COLORMATRIX1 \295 649324, 1000000,-233893, 1000000, -88521, 1000000, \296 -158955, 1000000, 593407, 1000000, 69775, 1000000, \297 -44551, 1000000, 136891, 1000000, 254362, 1000000298 299 #define cam_CalibrationIlluminant1 1 // Daylight300 // cropping301 #define CAM_JPEG_WIDTH 2592302 #define CAM_JPEG_HEIGHT 1944303 #define CAM_ACTIVE_AREA_X1 6304 #define CAM_ACTIVE_AREA_Y1 6305 #define CAM_ACTIVE_AREA_X2 2618306 #define CAM_ACTIVE_AREA_Y2 1962307 // camera name308 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData309 #define DNG_EXT_FROM ".DPS"310 //----------------------------------------------------------311 312 #elif defined (CAMERA_a470)313 #define CAM_PROPSET 2314 #define CAM_DRYOS 1315 316 #define CAM_RAW_ROWPIX 3152 // for 7 MP317 #define CAM_RAW_ROWS 2340 // for 7 MP318 319 #undef CAM_USE_ZOOM_FOR_MF320 #undef CAM_HAS_ZOOM_LEVER321 #undef CAM_HAS_ERASE_BUTTON322 #undef CAM_HAS_IRIS_DIAPHRAGM323 #define CAM_HAS_ND_FILTER 1324 #undef CAM_HAS_MANUAL_FOCUS325 #undef CAM_HAS_USER_TV_MODES326 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1327 #undef CAM_HAS_IS328 #define CAM_CAN_MUTE_MICROPHONE 1329 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1330 #define CAM_EV_IN_VIDEO 1331 #define CAM_MULTIPART 1332 333 // pattern334 #define cam_CFAPattern 0x02010100 // Red Green Green Blue335 // color336 #define CAM_COLORMATRIX1 \337 673251, 1000000,-200684, 1000000, -98680, 1000000, \338 -163638, 1000000, 651247, 1000000, 74004, 1000000, \339 14221, 1000000, 52979, 1000000, 265291, 1000000340 #define cam_CalibrationIlluminant1 1 // Daylight341 // cropping342 #define CAM_JPEG_WIDTH 3096343 #define CAM_JPEG_HEIGHT 2324344 #define CAM_ACTIVE_AREA_X1 12345 #define CAM_ACTIVE_AREA_Y1 8346 #define CAM_ACTIVE_AREA_X2 3108347 #define CAM_ACTIVE_AREA_Y2 2332348 // camera name349 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData350 //#define DNG_EXT_FROM ".DPS"351 //----------------------------------------------------------352 353 #elif defined (CAMERA_a480)354 #define CAM_PROPSET 2355 #define CAM_DRYOS 1356 357 #define CAM_RAW_ROWPIX 3720358 #define CAM_RAW_ROWS 2772359 360 #undef CAM_USE_ZOOM_FOR_MF361 #undef CAM_HAS_ERASE_BUTTON362 #undef CAM_HAS_IRIS_DIAPHRAGM363 #define CAM_HAS_ND_FILTER 1364 #undef CAM_HAS_MANUAL_FOCUS365 #undef CAM_HAS_USER_TV_MODES366 #undef CAM_HAS_IS367 #define CAM_MULTIPART 1368 #undef CAM_VIDEO_CONTROL369 #define CAM_REAR_CURTAIN 1370 #undef DEFAULT_RAW_EXT371 #define DEFAULT_RAW_EXT 2 // use .CR2372 #define CAM_EXT_TV_RANGE 1373 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1374 #define CAM_CAN_MUTE_MICROPHONE 1375 #define CAM_EV_IN_VIDEO 1376 377 // pattern378 #define cam_CFAPattern 0x02010100 // Red Green Green Blue379 // color380 381 #define CAM_COLORMATRIX1 \382 827547, 1000000, -290458, 1000000, -126086, 1000000, \383 -12829, 1000000, 530507, 1000000, 50537, 1000000, \384 5181, 1000000, 48183, 1000000, 245014, 1000000385 386 #define cam_CalibrationIlluminant1 1 // Daylight387 // cropping388 #define CAM_JPEG_WIDTH 3648389 #define CAM_JPEG_HEIGHT 2736390 #define CAM_ACTIVE_AREA_X1 6391 #define CAM_ACTIVE_AREA_Y1 12392 #define CAM_ACTIVE_AREA_X2 3690393 #define CAM_ACTIVE_AREA_Y2 2772394 395 // camera name396 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData397 #undef CAM_SENSOR_BITS_PER_PIXEL398 #undef CAM_WHITE_LEVEL399 #undef CAM_BLACK_LEVEL400 #define CAM_SENSOR_BITS_PER_PIXEL 12401 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)402 #define CAM_BLACK_LEVEL 127403 //----------------------------------------------------------404 405 #elif defined (CAMERA_a530)406 #define CAM_PROPSET 1407 408 // 2672x1968 image - like most other 5m sensors409 #define CAM_RAW_ROWPIX 2672 // for 5 MP410 #define CAM_RAW_ROWS 1968 // for 5 MP411 // 2672x1992 image - eventually probably real sensor size412 // #define CAM_RAW_ROWPIX 2672 // for 5 MP413 // #define CAM_RAW_ROWS 1992 // for 5 MP414 415 #undef CAM_USE_ZOOM_FOR_MF416 #define CAM_HAS_ERASE_BUTTON 1417 #undef CAM_HAS_IRIS_DIAPHRAGM418 #define CAM_HAS_ND_FILTER 1419 #define CAM_HAS_MANUAL_FOCUS 1420 #define CAM_DRAW_EXPOSITION 1421 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1422 #undef CAM_CAN_SD_OVER_NOT_IN_MF423 #undef CAM_HAS_IS424 #define CAM_CAN_MUTE_MICROPHONE 1425 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2426 #define CAM_EV_IN_VIDEO 1427 // pattern428 #define cam_CFAPattern 0x02010100 // Red Green Green Blue429 // color430 #define CAM_COLORMATRIX1 \431 725264, 1000000,-240542, 1000000, -122310, 1000000, \432 -210248, 1000000, 656077, 1000000, 52390, 1000000, \433 -11282, 1000000, 70400, 1000000, 300712, 1000000434 435 #define cam_CalibrationIlluminant1 1 // Daylight436 // cropping437 #define CAM_JPEG_WIDTH 2592438 #define CAM_JPEG_HEIGHT 1944439 #define CAM_ACTIVE_AREA_X1 12440 #define CAM_ACTIVE_AREA_Y1 20441 #define CAM_ACTIVE_AREA_X2 2628442 #define CAM_ACTIVE_AREA_Y2 1968443 // camera name444 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData445 #define DNG_EXT_FROM ".DPS"446 447 #define CAM_EXT_TV_RANGE 1448 //----------------------------------------------------------449 450 #elif defined (CAMERA_a540)451 #define CAM_PROPSET 1452 453 #define CAM_RAW_ROWPIX 2888 // for 6 MP454 #define CAM_RAW_ROWS 2136 // for 6 MP455 456 #undef CAM_USE_ZOOM_FOR_MF457 #define CAM_HAS_ERASE_BUTTON 1458 #define CAM_HAS_IRIS_DIAPHRAGM 1459 #undef CAM_HAS_ND_FILTER460 #define CAM_HAS_MANUAL_FOCUS 1461 #undef CAM_DRAW_EXPOSITION462 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1463 #undef CAM_HAS_IS464 #define CAM_CAN_MUTE_MICROPHONE 1465 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2466 #define CAM_EV_IN_VIDEO 1467 // pattern468 #define cam_CFAPattern 0x02010100 // Red Green Green Blue469 // color470 #define CAM_COLORMATRIX1 \471 687147, 1000000,-201964, 1000000, -125024, 1000000, \472 -148403, 1000000, 566810, 1000000, 45401, 1000000, \473 -9472, 1000000, 63186, 1000000, 208602, 1000000474 475 #define cam_CalibrationIlluminant1 1 // Daylight476 // cropping477 #define CAM_JPEG_WIDTH 2816478 #define CAM_JPEG_HEIGHT 2112479 #define CAM_ACTIVE_AREA_X1 44480 #define CAM_ACTIVE_AREA_Y1 8481 #define CAM_ACTIVE_AREA_X2 2884482 #define CAM_ACTIVE_AREA_Y2 2136483 // camera name484 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData485 #define DNG_EXT_FROM ".DPS"486 487 #define CAM_EXT_TV_RANGE 1488 489 #define CAM_CHDK_PTP 1 // include CHDK PTP support490 491 //----------------------------------------------------------492 493 #elif defined (CAMERA_a550)494 #define CAM_PROPSET 2495 496 #define CAM_RAW_ROWPIX 3152 // for 7 MP497 #define CAM_RAW_ROWS 2340 // for 7 MP498 499 #undef CAM_USE_ZOOM_FOR_MF500 #define CAM_MULTIPART 1501 #undef CAM_HAS_ERASE_BUTTON502 #undef CAM_HAS_IRIS_DIAPHRAGM503 #define CAM_HAS_ND_FILTER 1504 #undef CAM_HAS_MANUAL_FOCUS505 #undef CAM_HAS_USER_TV_MODES506 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1507 #undef CAM_HAS_IS508 #define CAM_CAN_MUTE_MICROPHONE 1509 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1510 // pattern511 #define cam_CFAPattern 0x02010100 // Red Green Green Blue512 // color513 #define CAM_COLORMATRIX1 \514 673251, 1000000,-200684, 1000000, -98680, 1000000, \515 -163638, 1000000, 651247, 1000000, 74004, 1000000, \516 14221, 1000000, 52979, 1000000, 265291, 1000000517 518 #define cam_CalibrationIlluminant1 1 // Daylight519 // cropping520 #define CAM_JPEG_WIDTH 3072521 #define CAM_JPEG_HEIGHT 2304522 #define CAM_ACTIVE_AREA_X1 36523 #define CAM_ACTIVE_AREA_Y1 12524 #define CAM_ACTIVE_AREA_X2 3148525 #define CAM_ACTIVE_AREA_Y2 2340526 // camera name527 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData528 #define DNG_EXT_FROM ".DPS"529 530 #define CAM_EXT_TV_RANGE 1531 //----------------------------------------------------------532 533 #elif defined (CAMERA_a560)534 #define CAM_PROPSET 2535 536 #define CAM_RAW_ROWPIX 3152 // for 7 MP537 #define CAM_RAW_ROWS 2340 // for 7 MP538 539 #undef CAM_USE_ZOOM_FOR_MF540 #define CAM_MULTIPART 1541 #undef CAM_HAS_ERASE_BUTTON542 #undef CAM_HAS_IRIS_DIAPHRAGM543 #define CAM_HAS_ND_FILTER 1544 #undef CAM_HAS_MANUAL_FOCUS545 #undef CAM_HAS_USER_TV_MODES546 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1547 #undef CAM_HAS_IS548 #define CAM_CAN_MUTE_MICROPHONE 1549 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1550 // pattern551 #define cam_CFAPattern 0x02010100 // Red Green Green Blue552 // color553 #define CAM_COLORMATRIX1 \554 15265, 1, -6193, 1, -1558, 1, \555 -4125, 1, 12116, 1, 2010, 1, \556 -888, 1, 1639, 1, 5220, 1557 558 #define cam_CalibrationIlluminant1 17 // Standard light A559 // cropping560 #define CAM_JPEG_WIDTH 3072561 #define CAM_JPEG_HEIGHT 2304562 #define CAM_ACTIVE_AREA_X1 38563 #define CAM_ACTIVE_AREA_Y1 14564 #define CAM_ACTIVE_AREA_X2 3146565 #define CAM_ACTIVE_AREA_Y2 2338566 // camera name567 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData568 #define DNG_EXT_FROM ".DPS"569 570 #define CAM_EXT_TV_RANGE 1571 //----------------------------------------------------------572 573 #elif defined (CAMERA_a570)574 #define CAM_PROPSET 2575 576 #define CAM_RAW_ROWPIX 3152 // for 7 MP577 #define CAM_RAW_ROWS 2340 // for 7 MP578 #define CAM_MULTIPART 1579 #define CAM_CAN_MUTE_MICROPHONE 1580 #define CAM_ADJUSTABLE_ALT_BUTTON 1581 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1582 #define CAM_EV_IN_VIDEO 1583 #define CAM_REAR_CURTAIN 1584 // pattern585 #define cam_CFAPattern 0x02010100 // Red Green Green Blue586 // color587 #define CAM_COLORMATRIX1 \588 528283, 1000000,-144259, 1000000, -85966, 1000000, \589 -202789, 1000000, 736563, 1000000, 73008, 1000000, \590 -27130, 1000000, 107702, 1000000, 264543, 1000000591 592 #define cam_CalibrationIlluminant1 1 // Daylight593 // cropping594 #define CAM_JPEG_WIDTH 3072595 #define CAM_JPEG_HEIGHT 2304596 #define CAM_ACTIVE_AREA_X1 38597 #define CAM_ACTIVE_AREA_Y1 14598 #define CAM_ACTIVE_AREA_X2 3146599 #define CAM_ACTIVE_AREA_Y2 2338600 // camera name601 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData602 603 #define DNG_EXT_FROM ".DPS"604 #define CAM_EXT_TV_RANGE 1605 #define CAM_CHDK_PTP 1 // include CHDK PTP support606 //----------------------------------------------------------607 608 #elif defined (CAMERA_a590)609 #define CAM_ADJUSTABLE_ALT_BUTTON 1610 #define CAM_PROPSET 2611 #define CAM_DRYOS 1612 613 #define CAM_RAW_ROWPIX 3336 // for new 8 MP614 #define CAM_RAW_ROWS 2480 // for new 8 MP615 616 #define CAM_USE_ZOOM_FOR_MF 1617 618 #define CAM_CAN_MUTE_MICROPHONE 1619 #define CAM_HAS_IRIS_DIAPHRAGM 1620 #undef CAM_HAS_ND_FILTER621 622 #define CAM_HAS_MANUAL_FOCUS 1623 624 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1625 //#define CAM_EV_IN_VIDEO 1 // not working on 101b!!!626 // pattern627 #define cam_CFAPattern 0x01000201 // Green Blue Red Green628 // color629 #define CAM_COLORMATRIX1 \630 726857, 1000000, -176454, 1000000, -124118, 1000000, \631 -71340, 1000000, 592001, 1000000, 75622, 1000000, \632 63222, 1000000, 50547, 1000000, 219582, 1000000633 634 #define cam_CalibrationIlluminant1 1 // Daylight635 // cropping636 #define CAM_JPEG_WIDTH 3264637 #define CAM_JPEG_HEIGHT 2448638 #define CAM_ACTIVE_AREA_X1 12639 #define CAM_ACTIVE_AREA_Y1 10640 // note: the above contains some pixels which have valid data,641 // but are not at the same levels as the rest of the frame642 // the values below crop the "different" looking pixels.643 //#define CAM_ACTIVE_AREA_X1 16644 //#define CAM_ACTIVE_AREA_Y1 18645 #define CAM_ACTIVE_AREA_X2 3300646 #define CAM_ACTIVE_AREA_Y2 2480647 648 // camera name649 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData650 651 #define CAM_EXT_TV_RANGE 1652 #define CAM_MULTIPART 1653 #define CAM_CHDK_PTP 1 // include CHDK PTP support654 //----------------------------------------------------------655 656 #elif defined (CAMERA_a580)657 #define CAM_PROPSET 2658 #define CAM_DRYOS 1659 660 #define CAM_RAW_ROWPIX 3336 // for new 8 MP661 #define CAM_RAW_ROWS 2480 // for new 8 MP662 663 #define CAM_USE_ZOOM_FOR_MF 1664 665 #undef CAM_CAN_MUTE_MICROPHONE666 #define CAM_HAS_IRIS_DIAPHRAGM 1667 #undef CAM_HAS_ND_FILTER668 669 #define CAM_HAS_MANUAL_FOCUS 1670 671 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1672 //#define CAM_EV_IN_VIDEO 1 // not working on 101b!!!673 #define DNG_SUPPORT 1674 // pattern675 #define cam_CFAPattern 0x01000201 // Green Blue Red Green676 // color677 #define CAM_COLORMATRIX1 \678 726857, 1000000, -176454, 1000000, -124118, 1000000, \679 -71340, 1000000, 592001, 1000000, 75622, 1000000, \680 63222, 1000000, 50547, 1000000, 219582, 1000000681 682 #define cam_CalibrationIlluminant1 1 // Daylight683 // cropping684 #define CAM_JPEG_WIDTH 3264685 #define CAM_JPEG_HEIGHT 2448686 #define CAM_ACTIVE_AREA_X1 12687 #define CAM_ACTIVE_AREA_Y1 10688 // note: the above contains some pixels which have valid data,689 // but are not at the same levels as the rest of the frame690 // the values below crop the "different" looking pixels.691 //#define CAM_ACTIVE_AREA_X1 16692 //#define CAM_ACTIVE_AREA_Y1 18693 #define CAM_ACTIVE_AREA_X2 3300694 #define CAM_ACTIVE_AREA_Y2 2480695 696 // camera name697 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData698 699 #undef CAM_ADJUSTABLE_ALT_BUTTON700 #undef CAM_EXT_TV_RANGE701 //#define CAM_MULTIPART 1702 #undef CAM_MULTIPART703 //----------------------------------------------------------704 705 #elif defined (CAMERA_a610)706 #define CAM_PROPSET 1707 708 #define CAM_RAW_ROWPIX 2672 // for 5 MP709 #define CAM_RAW_ROWS 1968 // for 5 MP710 711 #define CAM_SWIVEL_SCREEN 1712 #define CAM_MULTIPART 1713 #undef CAM_CAN_SD_OVER_NOT_IN_MF714 #undef CAM_HAS_IS715 #define CAM_CAN_MUTE_MICROPHONE 1716 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2717 #define CAM_EV_IN_VIDEO 1718 #define CAM_EXT_TV_RANGE 1719 720 // pattern721 #define cam_CFAPattern 0x02010100 // Red Green Green Blue722 // color723 #define CAM_COLORMATRIX1 \724 15887, 10000, -6524, 10000, -1622, 10000, \725 -5467, 10000, 13449, 10000, 2209, 10000, \726 -1325, 10000, 1859, 10000, 5172, 10000727 728 #define cam_CalibrationIlluminant1 17 // Standard light A729 // cropping730 #define CAM_JPEG_WIDTH 2592731 #define CAM_JPEG_HEIGHT 1944732 #define CAM_ACTIVE_AREA_X1 14733 #define CAM_ACTIVE_AREA_Y1 10734 #define CAM_ACTIVE_AREA_X2 2626735 #define CAM_ACTIVE_AREA_Y2 1966736 // camera name737 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData738 739 #define DNG_EXT_FROM ".DPS"740 #define CAM_CHDK_PTP 1 // include CHDK PTP support741 //----------------------------------------------------------742 743 #elif defined (CAMERA_a620)744 #define CAM_PROPSET 1745 746 #define CAM_RAW_ROWPIX 3152 // for 7 MP747 #define CAM_RAW_ROWS 2340 // for 7 MP748 749 #define CAM_SWIVEL_SCREEN 1750 #undef CAM_CAN_SD_OVER_NOT_IN_MF751 #undef CAM_HAS_IS752 #define CAM_CAN_MUTE_MICROPHONE 1753 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2754 #define CAM_EV_IN_VIDEO 1755 // pattern756 #define cam_CFAPattern 0x02010100 // Red Green Green Blue757 // color758 #define CAM_COLORMATRIX1 \759 15265, 10000, -6193, 10000, -1558, 10000, \760 -4125, 10000, 12116, 10000, 2010, 10000, \761 -888, 10000, 1639, 10000, 5220, 10000762 763 #define cam_CalibrationIlluminant1 17 // Standard light A764 // cropping765 #define CAM_JPEG_WIDTH 3072766 #define CAM_JPEG_HEIGHT 2304767 #define CAM_ACTIVE_AREA_X1 38768 #define CAM_ACTIVE_AREA_Y1 14769 #define CAM_ACTIVE_AREA_X2 3146770 #define CAM_ACTIVE_AREA_Y2 2338771 // camera name772 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData773 #define DNG_EXT_FROM ".DPS"774 //----------------------------------------------------------775 776 #elif defined (CAMERA_a630)777 #define CAM_PROPSET 1778 779 #define CAM_RAW_ROWPIX 3344 // for 8 MP780 #define CAM_RAW_ROWS 2484 // for 8 MP781 782 #define CAM_SWIVEL_SCREEN 1783 #define CAM_MULTIPART 1784 #undef CAM_CAN_SD_OVER_NOT_IN_MF785 #undef CAM_HAS_IS786 #define CAM_CAN_MUTE_MICROPHONE 1787 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1788 #define CAM_EV_IN_VIDEO 1789 // pattern790 #define cam_CFAPattern 0x02010100 // Red Green Green Blue791 // color792 #define CAM_COLORMATRIX1 \793 656080, 1000000,-226478, 1000000, -85884, 1000000, \794 -194636, 1000000, 687905, 1000000, 37862, 1000000, \795 22873, 1000000, 75523, 1000000, 265822, 1000000796 797 #define cam_CalibrationIlluminant1 1 // Daylight798 // cropping799 #define CAM_JPEG_WIDTH 3264800 #define CAM_JPEG_HEIGHT 2448801 #define CAM_ACTIVE_AREA_X1 14802 #define CAM_ACTIVE_AREA_Y1 8803 #define CAM_ACTIVE_AREA_X2 3298804 #define CAM_ACTIVE_AREA_Y2 2476805 // camera name806 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData807 #define DNG_EXT_FROM ".DPS"808 #define CAM_EXT_TV_RANGE 1809 //----------------------------------------------------------810 811 #elif defined (CAMERA_a640)812 #define CAM_PROPSET 1813 814 #define CAM_RAW_ROWPIX 3736 // for 10 MP815 #define CAM_RAW_ROWS 2772 // for 10 MP816 817 #define CAM_SWIVEL_SCREEN 1818 #define CAM_MULTIPART 1819 #undef CAM_CAN_SD_OVER_NOT_IN_MF820 #undef CAM_HAS_IS821 #define CAM_CAN_MUTE_MICROPHONE 1822 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1823 #define CAM_EV_IN_VIDEO 1824 // pattern825 #define cam_CFAPattern 0x02010100 // Red Green Green Blue826 // color827 #define CAM_COLORMATRIX1 \828 13124, 10000, -5329, 10000, -1390, 10000, \829 -3602, 10000, 11658, 10000, 1944, 10000, \830 -1612, 10000, 2863, 10000, 4885, 10000831 832 #define cam_CalibrationIlluminant1 17 // Standard light A833 // cropping834 #define CAM_JPEG_WIDTH 3648835 #define CAM_JPEG_HEIGHT 2736836 #define CAM_ACTIVE_AREA_X1 14837 #define CAM_ACTIVE_AREA_Y1 8838 #define CAM_ACTIVE_AREA_X2 3682839 #define CAM_ACTIVE_AREA_Y2 2764840 // camera name841 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData842 #define DNG_EXT_FROM ".DPS"843 //----------------------------------------------------------844 845 #elif defined (CAMERA_a650)846 #define CAM_PROPSET 2847 #define CAM_DRYOS 1848 849 #define CAM_RAW_ROWPIX 4104 // for 12 MP850 #define CAM_RAW_ROWS 3048 // for 12 MP851 852 #define CAM_ADJUSTABLE_ALT_BUTTON 1853 #define CAM_SWIVEL_SCREEN 1854 #define CAM_CAN_MUTE_MICROPHONE 1855 856 #undef CAM_EMUL_KEYPRESS_DURATION857 #define CAM_EMUL_KEYPRESS_DURATION 10858 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1859 #define CAM_EV_IN_VIDEO 1860 // pattern861 #define cam_CFAPattern 0x02010100 // Red Green Green Blue862 // color863 #define CAM_COLORMATRIX1 \864 913762, 1000000, -261578, 1000000, -135582, 1000000, \865 -99049, 1000000, 1067089, 1000000, 61442, 1000000, \866 48717, 1000000, 96802, 1000000, 412056, 1000000867 868 #define cam_CalibrationIlluminant1 1 // Daylight869 // cropping870 #define CAM_JPEG_WIDTH 4000871 #define CAM_JPEG_HEIGHT 3000872 #define CAM_ACTIVE_AREA_X1 52873 #define CAM_ACTIVE_AREA_Y1 14874 #define CAM_ACTIVE_AREA_X2 4076875 #define CAM_ACTIVE_AREA_Y2 3030876 // camera name877 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData878 879 #define DNG_EXT_FROM ".CR2"880 //----------------------------------------------------------881 882 #elif defined (CAMERA_a700)883 #define CAM_PROPSET 1884 885 #define CAM_RAW_ROWPIX 2888 // for 6 MP886 #define CAM_RAW_ROWS 2136 // for 6 MP887 888 #undef CAM_HAS_IS889 #define CAM_CAN_MUTE_MICROPHONE 1890 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 2891 #define CAM_EV_IN_VIDEO 1892 // pattern893 #define cam_CFAPattern 0x02010100 // Red Green Green Blue894 // color895 #define CAM_COLORMATRIX1 \896 14062, 10000, -5199, 10000, -1446, 10000, \897 -4712, 10000, 12470, 10000, 2243, 10000, \898 -1286, 10000, 2028, 10000, 4836, 10000899 900 #define cam_CalibrationIlluminant1 17 // Standard light A901 // cropping902 #define CAM_JPEG_WIDTH 2816903 #define CAM_JPEG_HEIGHT 2112904 #define CAM_ACTIVE_AREA_X1 44905 #define CAM_ACTIVE_AREA_Y1 8906 #define CAM_ACTIVE_AREA_X2 2884907 #define CAM_ACTIVE_AREA_Y2 2136908 // camera name909 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData910 #define DNG_EXT_FROM ".DPS"911 //----------------------------------------------------------912 913 #elif defined (CAMERA_a710)914 #define CAM_PROPSET 1915 916 #define CAM_RAW_ROWPIX 3152 // for 7 MP917 #define CAM_RAW_ROWS 2340 // for 7 MP918 919 #define CAM_MULTIPART 1920 #define CAM_CAN_MUTE_MICROPHONE 1921 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1922 #define CAM_EV_IN_VIDEO 1923 #define CAM_REAR_CURTAIN 1 // http://chdk.setepontos.com/index.php/topic,650.msg54434.html#msg54434924 // pattern925 #define cam_CFAPattern 0x02010100 // Red Green Green Blue926 // color927 #define CAM_COLORMATRIX1 \928 13349, 10000, -4141, 10000, -2128, 10000, \929 -4189, 10000, 13178, 10000, 1044, 10000, \930 -1037, 10000, 2326, 10000, 4720, 10000931 932 #define cam_CalibrationIlluminant1 1 // Daylight933 // cropping934 #define CAM_JPEG_WIDTH 3072935 #define CAM_JPEG_HEIGHT 2304936 #define CAM_ACTIVE_AREA_X1 38937 #define CAM_ACTIVE_AREA_Y1 14938 #define CAM_ACTIVE_AREA_X2 3146939 #define CAM_ACTIVE_AREA_Y2 2338940 // camera name941 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData942 943 #define DNG_EXT_FROM ".DPS"944 945 #define CAM_EXT_TV_RANGE 1946 //----------------------------------------------------------947 948 #elif defined (CAMERA_a720)949 #define CAM_PROPSET 2950 #define CAM_DRYOS 1951 952 #define CAM_RAW_ROWPIX 3336 // for new 8 MP953 #define CAM_RAW_ROWS 2480 // for new 8 MP954 955 #define CAM_MULTIPART 1956 #define CAM_ADJUSTABLE_ALT_BUTTON 1957 #define CAM_CAN_MUTE_MICROPHONE 1958 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1959 #define CAM_EV_IN_VIDEO 1960 #undef CAM_VIDEO_CONTROL961 // disabled for now, see http://chdk.setepontos.com/index.php?topic=6182.0962 // #define CAM_EXT_TV_RANGE 1963 964 // pattern965 #define cam_CFAPattern 0x01000201 // Green Blue Red Green966 // color967 #define CAM_COLORMATRIX1 \968 640019, 1000000, -220031, 1000000, -96241, 1000000, \969 -77419, 1000000, 639766, 1000000, 44009, 1000000, \970 17965, 1000000, 78396, 1000000, 231868, 1000000971 972 #define cam_CalibrationIlluminant1 1 // Daylight973 // cropping974 #define CAM_JPEG_WIDTH 3264975 #define CAM_JPEG_HEIGHT 2448976 #define CAM_ACTIVE_AREA_X1 10977 #define CAM_ACTIVE_AREA_Y1 8978 #define CAM_ACTIVE_AREA_X2 3302979 #define CAM_ACTIVE_AREA_Y2 2474980 // camera name981 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData982 983 #define DNG_EXT_FROM ".CR2"984 #define CAM_CHDK_PTP 1 // include CHDK PTP support985 //----------------------------------------------------------986 987 #elif defined (CAMERA_a2000)988 ////////////////////////////////989 // Sure values990 ////////////////////////////////991 #define CAM_PROPSET 2992 #define CAM_DRYOS 1993 994 #define CAM_RAW_ROWPIX 3720995 #define CAM_RAW_ROWS 2772996 997 #define CAM_JPEG_WIDTH 3648998 #define CAM_JPEG_HEIGHT 2736999 1000 1001 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1002 1003 #undef CAM_HAS_IRIS_DIAPHRAGM1004 #define CAM_HAS_ND_FILTER 11005 1006 ////////////////////////////////1007 // Almost sure, sensor data taken from1008 // ixus870_sd880 which should have same sensor..1009 ////////////////////////////////1010 #undef CAM_SENSOR_BITS_PER_PIXEL1011 #undef CAM_WHITE_LEVEL1012 #undef CAM_BLACK_LEVEL1013 #define CAM_SENSOR_BITS_PER_PIXEL 121014 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)1015 #define CAM_BLACK_LEVEL 1271016 1017 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1018 #define CAM_COLORMATRIX1 \1019 827547, 1000000, -290458, 1000000, -126086, 1000000, \1020 -12829, 1000000, 530507, 1000000, 50537, 1000000, \1021 5181, 1000000, 48183, 1000000, 245014, 10000001022 #define cam_CalibrationIlluminant1 1 // Daylight1023 1024 // cropping (from ixus870_sd880)1025 #define CAM_ACTIVE_AREA_X1 141026 #define CAM_ACTIVE_AREA_Y1 81027 #define CAM_ACTIVE_AREA_X2 36821028 #define CAM_ACTIVE_AREA_Y2 27641029 1030 #undef CAM_HAS_MANUAL_FOCUS1031 // for the purposes of CHDK, the FACE button is treated as the erase button1032 // #undef CAM_HAS_ERASE_BUTTON1033 //----------------------------------------------------------1034 1035 #elif defined (CAMERA_d10)1036 #define CAM_PROPSET 21037 #define CAM_DRYOS 11038 1039 #define CAM_RAW_ROWPIX 4104 // 12 MP 12bpp1040 #define CAM_RAW_ROWS 3048 // from " CrwAddress %lx, CrwSize H %ld V %ld\r"1041 1042 #undef CAM_HAS_ERASE_BUTTON1043 #undef CAM_USE_ZOOM_FOR_MF1044 #define CAM_MULTIPART 11045 #undef CAM_HAS_IRIS_DIAPHRAGM1046 #define CAM_HAS_ND_FILTER 11047 1048 #define CAM_HAS_ZOOM_LEVER 1 // note, has zoom in/out buttons, not lever1049 1050 1051 // TODO1052 // #define CAM_CAN_SD_OVER_NOT_IN_MF 1 // Camera allows subject distance (focus) override when not in manual focus mode1053 // #define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override1054 1055 #define CAM_HAS_MANUAL_FOCUS 11056 // long shutter is acutally user TV, may work ?1057 #undef CAM_HAS_USER_TV_MODES1058 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11059 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11060 // TODO this doesn't seem to be working1061 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11062 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1 // In CHDK for this camera realized adjustable video compression1063 1064 #define CAM_HAS_IS 11065 #undef CAM_HAS_JOGDIAL1066 1067 #undef CAM_VIDEO_CONTROL1068 #define CAM_VIDEO_QUALITY_ONLY 11069 1070 1071 // #define CAM_EXT_TV_RANGE 11072 1073 #undef CAM_UNCACHED_BIT1074 #define CAM_UNCACHED_BIT 0x400000001075 1076 #undef CAM_BITMAP_PALETTE1077 // OK looks similar to ixus100 based on forum posts1078 #define CAM_BITMAP_PALETTE 51079 1080 #define CAM_QUALITY_OVERRIDE 11081 #undef CAM_SENSOR_BITS_PER_PIXEL1082 #define CAM_SENSOR_BITS_PER_PIXEL 121083 #undef CAM_WHITE_LEVEL1084 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)1085 #undef CAM_BLACK_LEVEL1086 #define CAM_BLACK_LEVEL 1271087 1088 #define cam_CFAPattern 0x01000201 // Green Blue Red Green1089 1090 #define CAM_COLORMATRIX1 \1091 14052, 10000, -5229, 10000, -1156, 10000, \1092 -1325, 10000, 9420, 10000, 2252, 10000, \1093 -498, 10000, 1957, 10000, 4116, 100001094 #define cam_CalibrationIlluminant1 21 // D651095 1096 // cropping OK1097 #define CAM_JPEG_WIDTH 40001098 #define CAM_JPEG_HEIGHT 30001099 #define CAM_ACTIVE_AREA_X1 0 // some data all the way to left, normal 8 ?1100 #define CAM_ACTIVE_AREA_Y1 101101 #define CAM_ACTIVE_AREA_X2 4072 // or 40241102 #define CAM_ACTIVE_AREA_Y2 3040 // or 3041 or 30201103 1104 // camera name OK1105 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1106 1107 // XXXX1108 #undef CAM_USES_ASPECT_CORRECTION1109 #undef CAM_USES_ASPECT_YCORRECTION1110 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized1111 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate1112 1113 #undef ASPECT_XCORRECTION1114 #define ASPECT_XCORRECTION(x) ( ((x)<<1) )1115 1116 // Note color palette affects grids!1117 #undef ASPECT_GRID_XCORRECTION1118 #define ASPECT_GRID_XCORRECTION(x) ( (x) )1119 1120 #undef ASPECT_GRID_YCORRECTION1121 #define ASPECT_GRID_YCORRECTION(y) ( (y) )1122 1123 #undef ASPECT_VIEWPORT_XCORRECTION1124 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x)1125 #undef ASPECT_VIEWPORT_YCORRECTION1126 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )1127 1128 // Note color palette affects games!1129 //games mappings1130 #undef GAMES_SCREEN_WIDTH1131 #undef GAMES_SCREEN_HEIGHT1132 #define GAMES_SCREEN_WIDTH 3601133 #define GAMES_SCREEN_HEIGHT 2401134 #undef ASPECT_GAMES_XCORRECTION1135 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution1136 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for1137 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...1138 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )1139 #undef ASPECT_GAMES_YCORRECTION1140 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none1141 1142 #define CAM_ZEBRA_ASPECT_ADJUST 11143 1144 #define CAM_CHDK_PTP 1 // include CHDK PTP support1145 1146 //----------------------------------------------------------1147 1148 1149 //==========================================================1150 // SD-Series (IXUS-Series)1151 //==========================================================1152 #elif defined (CAMERA_ixus40_sd300)1153 #define CAM_PROPSET 11154 1155 #define CAM_RAW_ROWPIX 24001156 #define CAM_RAW_ROWS 17661157 1158 #define CAM_USE_ZOOM_FOR_MF 11159 #undef CAM_HAS_ERASE_BUTTON1160 #undef CAM_HAS_IRIS_DIAPHRAGM1161 #define CAM_HAS_ND_FILTER 11162 #undef CAM_HAS_MANUAL_FOCUS1163 #undef CAM_HAS_USER_TV_MODES1164 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11165 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO1166 #undef CAM_HAS_IS1167 #undef CAM_CONSOLE_LOG_ENABLED1168 1169 1170 // pattern1171 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1172 // color1173 #define CAM_COLORMATRIX1 \1174 652674, 1000000, -172074, 1000000, -107575, 1000000, \1175 -139063, 1000000, 594517, 1000000, 60252, 1000000, \1176 -9088, 1000000, 82013, 1000000, 238080, 10000001177 1178 #define cam_CalibrationIlluminant1 1 // Daylight1179 // cropping1180 #define CAM_JPEG_WIDTH 22721181 #define CAM_JPEG_HEIGHT 17041182 #define CAM_ACTIVE_AREA_X1 121183 #define CAM_ACTIVE_AREA_Y1 121184 #define CAM_ACTIVE_AREA_X2 23561185 #define CAM_ACTIVE_AREA_Y2 17641186 // camera name1187 #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData1188 //----------------------------------------------------------1189 1190 #elif defined (CAMERA_ixus50_sd400)1191 #define CAM_PROPSET 11192 1193 #define CAM_RAW_ROWPIX 2672 // for 5 MP1194 #define CAM_RAW_ROWS 1968 // for 5 MP1195 1196 #undef CAM_SYNCH1197 #undef CAM_USE_ZOOM_FOR_MF1198 #undef CAM_HAS_ERASE_BUTTON1199 #undef CAM_HAS_IRIS_DIAPHRAGM1200 #define CAM_HAS_ND_FILTER 11201 #undef CAM_HAS_MANUAL_FOCUS1202 #undef CAM_HAS_USER_TV_MODES1203 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11204 #undef CAM_HAS_IS1205 //#define CAM_CONSOLE_LOG_ENABLED 11206 #undef CAM_VIDEO_CONTROL1207 // pattern1208 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1209 // color1210 #define CAM_COLORMATRIX1 \1211 685247, 1000000, -204939, 1000000, -106531, 1000000, \1212 -267616, 1000000, 790509, 1000000, 73359, 1000000, \1213 32401, 1000000, 15655, 1000000, 314892, 10000001214 1215 #define cam_CalibrationIlluminant1 1 // Daylight1216 // cropping1217 #define CAM_JPEG_WIDTH 25921218 #define CAM_JPEG_HEIGHT 19441219 #define CAM_ACTIVE_AREA_X1 121220 #define CAM_ACTIVE_AREA_Y1 81221 #define CAM_ACTIVE_AREA_X2 26281222 #define CAM_ACTIVE_AREA_Y2 19681223 // camera name1224 #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData1225 //----------------------------------------------------------1226 1227 #elif defined (CAMERA_ixusizoom_sd30)1228 #define CAM_PROPSET 11229 1230 #define CAM_RAW_ROWPIX 2672 // for 5 MP1231 #define CAM_RAW_ROWS 1968 // for 5 MP1232 1233 #undef CAM_SYNCH1234 #undef CAM_USE_ZOOM_FOR_MF1235 #undef CAM_HAS_ERASE_BUTTON1236 #undef CAM_HAS_IRIS_DIAPHRAGM1237 #define CAM_HAS_ND_FILTER 11238 #undef CAM_HAS_MANUAL_FOCUS1239 #undef CAM_HAS_USER_TV_MODES1240 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11241 #undef CAM_HAS_IS1242 //#define CAM_CONSOLE_LOG_ENABLED 11243 #undef CAM_VIDEO_CONTROL1244 #undef DNG_SUPPORT1245 //----------------------------------------------------------1246 1247 #elif defined (CAMERA_ixus55_sd450)1248 #define CAM_PROPSET 11249 1250 #define CAM_RAW_ROWPIX 2672 // for 5 MP1251 #define CAM_RAW_ROWS 1968 // for 5 MP1252 1253 #undef CAM_USE_ZOOM_FOR_MF1254 #undef CAM_HAS_ERASE_BUTTON1255 #undef CAM_HAS_IRIS_DIAPHRAGM1256 #define CAM_HAS_ND_FILTER 11257 #undef CAM_HAS_MANUAL_FOCUS1258 #undef CAM_HAS_USER_TV_MODES1259 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11260 #undef CAM_HAS_IS1261 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 21262 // pattern1263 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1264 // color1265 #define CAM_COLORMATRIX1 \1266 536034, 1000000, -173429, 1000000, -89823, 1000000, \1267 -290416, 1000000, 735807, 1000000, 47894, 1000000, \1268 -71455, 1000000, 114314, 1000000, 274533, 10000001269 1270 #define cam_CalibrationIlluminant1 1 // Daylight1271 // cropping1272 #define CAM_JPEG_WIDTH 25921273 #define CAM_JPEG_HEIGHT 19441274 #define CAM_ACTIVE_AREA_X1 121275 #define CAM_ACTIVE_AREA_Y1 81276 #define CAM_ACTIVE_AREA_X2 26281277 #define CAM_ACTIVE_AREA_Y2 19681278 // camera name1279 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData1280 #define DNG_EXT_FROM ".DPS"1281 //----------------------------------------------------------1282 1283 #elif defined (CAMERA_ixus60_sd600)1284 #define CAM_PROPSET 11285 1286 #define CAM_RAW_ROWPIX 2888 // for 6 MP1287 #define CAM_RAW_ROWS 2136 // for 6 MP1288 1289 #undef CAM_SYNCH1290 #undef CAM_USE_ZOOM_FOR_MF1291 #undef CAM_HAS_ERASE_BUTTON1292 #undef CAM_HAS_IRIS_DIAPHRAGM1293 #define CAM_HAS_ND_FILTER 11294 #undef CAM_HAS_MANUAL_FOCUS1295 #undef CAM_HAS_USER_TV_MODES1296 #define CAM_DRAW_EXPOSITION 11297 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11298 #define CAM_FEATURE_FEATHER 11299 1300 // #define CAM_CONSOLE_LOG_ENABLED 1 //100a won't compile if this is defined ("undefined reference to `_iosDevFind'")1301 #undef CAM_CHDK_HAS_EXT_VIDEO_MENU1302 #undef CAM_HAS_IS1303 // pattern1304 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1305 // color1306 #define CAM_COLORMATRIX1 \1307 767398, 1000000, -227658, 1000000, -144213, 1000000, \1308 -217466, 1000000, 669319, 1000000, 38180, 1000000, \1309 -23152, 1000000, 77743, 1000000, 238669, 10000001310 1311 #define cam_CalibrationIlluminant1 1 // Daylight1312 // cropping1313 #define CAM_JPEG_WIDTH 28161314 #define CAM_JPEG_HEIGHT 21121315 #define CAM_ACTIVE_AREA_X1 441316 #define CAM_ACTIVE_AREA_Y1 81317 #define CAM_ACTIVE_AREA_X2 28841318 #define CAM_ACTIVE_AREA_Y2 21361319 // camera name1320 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData1321 //----------------------------------------------------------1322 1323 #elif defined (CAMERA_ixus65_sd630)1324 #define CAM_PROPSET 11325 1326 #define CAM_RAW_ROWPIX 2888 // for 6 MP1327 #define CAM_RAW_ROWS 2136 // for 6 MP1328 1329 #undef CAM_USE_ZOOM_FOR_MF1330 #undef CAM_HAS_ERASE_BUTTON1331 #undef CAM_HAS_IRIS_DIAPHRAGM1332 #define CAM_HAS_ND_FILTER 11333 #undef CAM_HAS_MANUAL_FOCUS1334 #undef CAM_HAS_USER_TV_MODES1335 #define CAM_DRAW_EXPOSITION 11336 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11337 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO1338 #define CAM_FEATURE_FEATHER 11339 1340 #define CAM_CONSOLE_LOG_ENABLED 11341 #undef CAM_HAS_IS1342 #undef CAM_CHDK_HAS_EXT_VIDEO_MENU1343 // pattern1344 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1345 // color1346 #define CAM_COLORMATRIX1 \1347 783384, 1000000, -227078, 1000000, -127919, 1000000, \1348 -181247, 1000000, 661743, 1000000, 58868, 1000000, \1349 25727, 1000000, 43891, 1000000, 247655, 10000001350 1351 #define cam_CalibrationIlluminant1 1 // Daylight1352 // cropping1353 #define CAM_JPEG_WIDTH 28161354 #define CAM_JPEG_HEIGHT 21121355 #define CAM_ACTIVE_AREA_X1 441356 #define CAM_ACTIVE_AREA_Y1 81357 #define CAM_ACTIVE_AREA_X2 28841358 #define CAM_ACTIVE_AREA_Y2 21361359 // camera name1360 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData1361 #define DNG_EXT_FROM ".DPS"1362 //----------------------------------------------------------1363 1364 #elif defined (CAMERA_ixus75_sd750)1365 #define CAM_PROPSET 21366 1367 #define CAM_RAW_ROWPIX 3152 // for 7 MP1368 #define CAM_RAW_ROWS 2340 // for 7 MP1369 1370 /*1371 #undef CAM_USE_ZOOM_FOR_MF1372 #undef CAM_HAS_ERASE_BUTTON1373 #undef CAM_HAS_IRIS_DIAPHRAGM1374 #define CAM_HAS_ND_FILTER 11375 #undef CAM_HAS_MANUAL_FOCUS1376 #undef CAM_HAS_USER_TV_MODES1377 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11378 #undef CAM_HAS_IS1379 */1380 1381 #undef CAM_SWIVEL_SCREEN // Camera has rotated LCD screen1382 #undef CAM_USE_ZOOM_FOR_MF // Zoom lever can be used for manual focus adjustments1383 #undef CAM_ADJUSTABLE_ALT_BUTTON // ALT-button can be set from menu1384 #undef CAM_REMOTE // Camera supports USB-remote1385 #define CAM_MULTIPART 1 // Camera supports SD-card multipartitioning1386 #define CAM_HAS_ZOOM_LEVER 1 // Camera has dedicated zoom buttons1387 #undef CAM_DRAW_EXPOSITION // Output expo-pair on screen (for cameras which (sometimes) don't do that)1388 #undef CAM_HAS_ERASE_BUTTON // Camera has dedicated erase button1389 #undef CAM_HAS_IRIS_DIAPHRAGM1390 #define CAM_HAS_ND_FILTER 1 // Camera has build-in ND filter1391 #undef CAM_CAN_SD_OVER_NOT_IN_MF // Camera allows subject distance (focus) override when not in manual focus mode1392 #undef CAM_CAN_SD_OVERRIDE // Camera allows to do subject distance override1393 #undef CAM_HAS_MANUAL_FOCUS // Camera has manual focus mode1394 #define CAM_HAS_USER_TV_MODES 1 // Camera has tv-priority or manual modes with ability to set tv value1395 #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 mode1396 // #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO // adress for zoom_status missing, probably more1397 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1 // Camera can unlock optical zoom in video (if it is locked)1398 #define CAM_FEATURE_FEATHER 1 // Cameras with "feather" or touch wheel.1399 #undef CAM_HAS_IS // Camera has image stabilizer1400 1401 // #define CAM_CONSOLE_LOG_ENABLED 1 // Development: internal camera stdout -> A/stdout.txt1402 // pattern1403 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1404 // color1405 #define CAM_COLORMATRIX1 \1406 689833, 1000000, -198299, 1000000, -101299, 1000000, \1407 -164267, 1000000, 667466, 1000000, 74132, 1000000, \1408 -36515, 1000000, 123872, 1000000, 248498, 10000001409 1410 #define cam_CalibrationIlluminant1 1 // Daylight1411 // cropping1412 #define CAM_JPEG_WIDTH 30721413 #define CAM_JPEG_HEIGHT 23041414 #define CAM_ACTIVE_AREA_X1 381415 #define CAM_ACTIVE_AREA_Y1 141416 #define CAM_ACTIVE_AREA_X2 31461417 #define CAM_ACTIVE_AREA_Y2 23381418 // camera name1419 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1420 1421 #define DNG_EXT_FROM ".DPS"1422 //----------------------------------------------------------1423 1424 #elif defined (CAMERA_ixus70_sd1000)1425 #define CAM_PROPSET 21426 1427 #define CAM_RAW_ROWPIX 3152 // for 7 MP1428 #define CAM_RAW_ROWS 2340 // for 7 MP1429 1430 #undef CAM_USE_ZOOM_FOR_MF1431 #undef CAM_HAS_ERASE_BUTTON1432 #undef CAM_HAS_IRIS_DIAPHRAGM1433 #define CAM_HAS_ND_FILTER 11434 #undef CAM_HAS_MANUAL_FOCUS1435 #undef CAM_HAS_USER_TV_MODES1436 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11437 #undef CAM_HAS_IS1438 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11439 #define CAM_MULTIPART 11440 // pattern1441 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1442 // color1443 #define CAM_COLORMATRIX1 \1444 652674, 1000000, -172074, 1000000, -107575, 1000000, \1445 -139063, 1000000, 594517, 1000000, 60252, 1000000, \1446 -9088, 1000000, 82013, 1000000, 238048, 10000001447 1448 #define cam_CalibrationIlluminant1 1 // Daylight1449 // cropping1450 #define CAM_JPEG_WIDTH 30721451 #define CAM_JPEG_HEIGHT 23041452 #define CAM_ACTIVE_AREA_X1 381453 #define CAM_ACTIVE_AREA_Y1 141454 #define CAM_ACTIVE_AREA_X2 31461455 #define CAM_ACTIVE_AREA_Y2 23381456 // camera name1457 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1458 1459 #define DNG_EXT_FROM ".DPS"1460 1461 #define CAM_EXT_TV_RANGE 11462 //----------------------------------------------------------1463 1464 #elif defined (CAMERA_ixus80_sd1100)1465 #define CAM_PROPSET 21466 #define CAM_DRYOS 11467 1468 #define CAM_RAW_ROWPIX 3336 // for new 8 MP1469 #define CAM_RAW_ROWS 2480 // for new 8 MP1470 1471 #undef CAM_USE_ZOOM_FOR_MF1472 #undef CAM_HAS_ERASE_BUTTON1473 #undef CAM_HAS_IRIS_DIAPHRAGM1474 #define CAM_HAS_ND_FILTER 11475 #undef CAM_HAS_MANUAL_FOCUS1476 #undef CAM_HAS_USER_TV_MODES1477 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11478 // TODO / test1479 #undef CAM_REMOTE1480 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11481 #undef CAM_CAN_MUTE_MICROPHONE1482 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 01483 // pattern1484 #define cam_CFAPattern 0x01000201 // Green Blue Red Green1485 // color1486 #define CAM_COLORMATRIX1 \1487 893969, 1000000, -343107, 1000000, -119590, 1000000, \1488 -41350, 1000000, 581255, 1000000, 49523, 1000000, \1489 24221, 1000000, 47554, 1000000, 209996, 10000001490 1491 #define cam_CalibrationIlluminant1 1 // Daylight1492 // cropping1493 #define CAM_JPEG_WIDTH 32641494 #define CAM_JPEG_HEIGHT 24481495 #define CAM_ACTIVE_AREA_X1 61496 #define CAM_ACTIVE_AREA_Y1 61497 #define CAM_ACTIVE_AREA_X2 33041498 #define CAM_ACTIVE_AREA_Y2 24761499 // camera name1500 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1501 1502 #define CAM_EXT_TV_RANGE 11503 //----------------------------------------------------------1504 1505 #elif defined (CAMERA_ixus700_sd500)1506 #define CAM_PROPSET 11507 1508 #define CAM_RAW_ROWPIX 3152 // for 7 MP1509 #define CAM_RAW_ROWS 2340 // for 7 MP1510 1511 #undef CAM_SYNCH1512 #undef CAM_USE_ZOOM_FOR_MF1513 #define CAM_DRAW_EXPOSITION 11514 #undef CAM_HAS_ERASE_BUTTON1515 #undef CAM_HAS_IRIS_DIAPHRAGM1516 #define CAM_HAS_ND_FILTER 11517 #undef CAM_HAS_MANUAL_FOCUS1518 #undef CAM_HAS_USER_TV_MODES1519 #undef CAM_CAN_SD_OVERRIDE1520 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11521 #undef CAM_HAS_IS1522 #define CAM_MULTIPART 11523 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11524 // pattern1525 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1526 // color1527 #define CAM_COLORMATRIX1 \1528 15265, 1, -6193, 1, -1558, 1, \1529 -4125, 1, 12116, 1, 2010, 1, \1530 -888, 1, 1639, 1, 5220, 11531 1532 #define cam_CalibrationIlluminant1 17 // Standard light A1533 // cropping1534 #define CAM_JPEG_WIDTH 30721535 #define CAM_JPEG_HEIGHT 23041536 #define CAM_ACTIVE_AREA_X1 381537 #define CAM_ACTIVE_AREA_Y1 141538 #define CAM_ACTIVE_AREA_X2 31461539 #define CAM_ACTIVE_AREA_Y2 23381540 // camera name1541 #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData1542 #define DNG_EXT_FROM ".DPS"1543 //----------------------------------------------------------1544 1545 #elif defined (CAMERA_ixus750_sd550)1546 #define CAM_PROPSET 11547 1548 #define CAM_RAW_ROWPIX 3152 // for 7 MP1549 #define CAM_RAW_ROWS 2340 // for 7 MP1550 1551 #define CAM_USE_ZOOM_FOR_MF 11552 #define CAM_DRAW_EXPOSITION 11553 #undef CAM_HAS_ERASE_BUTTON1554 #undef CAM_HAS_IRIS_DIAPHRAGM1555 #define CAM_HAS_ND_FILTER 11556 #undef CAM_HAS_MANUAL_FOCUS1557 #undef CAM_HAS_USER_TV_MODES1558 #define CAM_CAN_SD_OVERRIDE 11559 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11560 #undef CAM_HAS_IS1561 #define CAM_MULTIPART 11562 #undef CAM_SYNCH1563 // pattern1564 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1565 // color1566 #define CAM_COLORMATRIX1 \1567 580280, 1000000, -172239, 1000000, -89707, 1000000, \1568 -206596, 1000000, 634926, 1000000, 63877, 1000000, \1569 10377, 1000000, 62053, 1000000, 242646, 10000001570 1571 #define cam_CalibrationIlluminant1 1 // Daylight1572 // cropping1573 #define CAM_JPEG_WIDTH 30721574 #define CAM_JPEG_HEIGHT 23041575 #define CAM_ACTIVE_AREA_X1 361576 #define CAM_ACTIVE_AREA_Y1 121577 #define CAM_ACTIVE_AREA_X2 31481578 #define CAM_ACTIVE_AREA_Y2 23401579 // camera name1580 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData1581 //----------------------------------------------------------1582 1583 #elif defined (CAMERA_ixus800_sd700)1584 #define CAM_PROPSET 11585 1586 #define CAM_RAW_ROWPIX 2888 // for 6 MP1587 #define CAM_RAW_ROWS 2136 // for 6 MP1588 1589 #undef CAM_USE_ZOOM_FOR_MF1590 #define CAM_DRAW_EXPOSITION 11591 #undef CAM_HAS_ERASE_BUTTON1592 #undef CAM_HAS_IRIS_DIAPHRAGM1593 #define CAM_HAS_ND_FILTER 11594 #undef CAM_HAS_MANUAL_FOCUS1595 #undef CAM_HAS_USER_TV_MODES1596 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11597 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 21598 1599 // Warning! DNG4PS2 has both ixus800 and sd700 support with different CFA patterns and color matrices.1600 // Used settings for IXUS8001601 1602 // pattern1603 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1604 // color1605 #define CAM_COLORMATRIX1 \1606 14062, 1, -5199, 1, -1446, 1, \1607 -4712, 1, 12470, 1, 2243, 1, \1608 -1286, 1, 2028, 1, 4836, 11609 1610 #define cam_CalibrationIlluminant1 17 // Standard light A1611 // cropping1612 #define CAM_JPEG_WIDTH 28161613 #define CAM_JPEG_HEIGHT 21121614 #define CAM_ACTIVE_AREA_X1 441615 #define CAM_ACTIVE_AREA_Y1 81616 #define CAM_ACTIVE_AREA_X2 28841617 #define CAM_ACTIVE_AREA_Y2 21361618 // camera name1619 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData1620 #define DNG_EXT_FROM ".DPS"1621 //----------------------------------------------------------1622 1623 #elif defined (CAMERA_ixus850_sd800)1624 #define CAM_PROPSET 11625 1626 #define CAM_RAW_ROWPIX 3152 // for 7 MP1627 #define CAM_RAW_ROWS 2340 // for 7 MP1628 1629 #undef CAM_USE_ZOOM_FOR_MF1630 #undef CAM_HAS_ERASE_BUTTON1631 #undef CAM_HAS_IRIS_DIAPHRAGM1632 #define CAM_HAS_ND_FILTER 11633 #undef CAM_HAS_MANUAL_FOCUS1634 #undef CAM_HAS_USER_TV_MODES1635 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11636 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11637 #define CAM_MULTIPART 11638 // pattern1639 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1640 // color1641 #define CAM_COLORMATRIX1 \1642 661014, 1000000, -189364, 1000000, -115797, 1000000, \1643 -168772, 1000000, 661827, 1000000, 47392, 1000000, \1644 -35846, 1000000, 107148, 1000000, 233705, 10000001645 1646 #define cam_CalibrationIlluminant1 17 // Standard light A1647 // cropping1648 #define CAM_JPEG_WIDTH 30721649 #define CAM_JPEG_HEIGHT 23041650 #define CAM_ACTIVE_AREA_X1 121651 #define CAM_ACTIVE_AREA_Y1 81652 #define CAM_ACTIVE_AREA_X2 31081653 #define CAM_ACTIVE_AREA_Y2 23321654 // camera name1655 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1656 1657 #define DNG_EXT_FROM ".DPS"1658 //----------------------------------------------------------1659 1660 #elif defined (CAMERA_ixus900_sd900)1661 #define CAM_PROPSET 1 // ToDo: test if correct1662 1663 #define CAM_RAW_ROWPIX 3672 // value from RAW file (3648px + 24px)1664 #define CAM_RAW_ROWS 2760 // value from RAW file (2736 + 24px)1665 1666 //#undef CAM_USE_ZOOM_FOR_MF1667 #define CAM_DRAW_EXPOSITION 1 // ToDo: test if required1668 #undef CAM_HAS_ERASE_BUTTON1669 #undef CAM_HAS_IRIS_DIAPHRAGM1670 #define CAM_HAS_ND_FILTER 11671 //#undef CAM_CAN_SD_OVER_NOT_IN_MF1672 //#undef CAM_CAN_SD_OVERRIDE1673 #undef CAM_HAS_IS1674 #undef CAM_HAS_MANUAL_FOCUS1675 #undef CAM_HAS_USER_TV_MODES1676 #define CAM_SHOW_OSD_IN_SHOOT_MENU 1 // force CHDK OSD to show in record more1677 #define CAM_FEATURE_FEATHER 11678 //#define CAM_CONSOLE_LOG_ENABLED 1 // ToDo: LOG stuff is disabled/removed1679 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11680 #define CAM_MULTIPART 11681 1682 // pattern1683 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1684 // color (from G7)1685 #define CAM_COLORMATRIX1 \1686 575419, 1000000,-185557, 1000000, -77898, 1000000, \1687 -213702, 1000000, 733569, 1000000, 81514, 1000000, \1688 -24604, 1000000, 131906, 1000000, 280378, 10000001689 /*1690 // SD8001691 #define CAM_COLORMATRIX1 \1692 661014, 1000000, -189364, 1000000, -115797, 1000000, \1693 -168772, 1000000, 661827, 1000000, 47392, 1000000, \1694 -35846, 1000000, 107148, 1000000, 233705, 10000001695 */1696 #define cam_CalibrationIlluminant1 1 // ToDo: Daylight (first selectable Illuminant Calibration mode ?)1697 1698 // cropping1699 #define CAM_JPEG_WIDTH 36481700 #define CAM_JPEG_HEIGHT 27361701 #define CAM_ACTIVE_AREA_X1 14 // ??? from G7, A6401702 #define CAM_ACTIVE_AREA_Y1 8 // ??? from G7, A6401703 //#define CAM_ACTIVE_AREA_X2 3672 // from RAW file1704 //#define CAM_ACTIVE_AREA_Y2 2760 // from RAW file1705 #define CAM_ACTIVE_AREA_X2 3682 // ??? from G7, A640, CAM_JPEG_WIDTH + 401706 #define CAM_ACTIVE_AREA_Y2 2764 // ??? from G7, A640, CAM_JPEG_HEIGHT + 401707 // camera name1708 #define PARAM_CAMERA_NAME 4 // camera param id of EXIF camera model1709 1710 #define DNG_EXT_TO ".DPS"1711 //----------------------------------------------------------1712 1713 #elif defined (CAMERA_ixus860_sd870)1714 #define CAM_PROPSET 21715 #define CAM_DRYOS 11716 1717 #define CAM_RAW_ROWPIX 3336 // for new 8 MP1718 #define CAM_RAW_ROWS 2480 // for new 8 MP1719 1720 #undef CAM_USE_ZOOM_FOR_MF1721 #undef CAM_HAS_ERASE_BUTTON1722 #undef CAM_HAS_IRIS_DIAPHRAGM1723 #define CAM_HAS_ND_FILTER 11724 #undef CAM_HAS_MANUAL_FOCUS1725 #undef CAM_HAS_USER_TV_MODES1726 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11727 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11728 #undef CAM_CAN_MUTE_MICROPHONE1729 #undef CAM_VIDEO_CONTROL1730 // pattern1731 #define cam_CFAPattern 0x01000201 // Green Blue Red Green1732 // color1733 #define CAM_COLORMATRIX1 \1734 747939, 1000000, -268233, 1000000, -129266, 1000000, \1735 -50633, 1000000, 515687, 1000000, 23509, 1000000, \1736 -21341, 1000000, 76495, 1000000, 186385, 10000001737 1738 #define cam_CalibrationIlluminant1 1 // Daylight1739 // cropping1740 #define CAM_JPEG_WIDTH 32641741 #define CAM_JPEG_HEIGHT 24481742 #define CAM_ACTIVE_AREA_X1 101743 #define CAM_ACTIVE_AREA_Y1 81744 #define CAM_ACTIVE_AREA_X2 33021745 #define CAM_ACTIVE_AREA_Y2 24741746 // camera name1747 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1748 1749 #define DNG_EXT_FROM ".CR2"1750 //----------------------------------------------------------1751 1752 #elif defined (CAMERA_ixus870_sd880)1753 // Camera details1754 #define CAM_DRYOS 11755 #define CAM_PROPSET 21756 1757 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11758 #define CAM_BITMAP_PALETTE 11759 #define CAM_BRACKETING 1 // XXX1760 #define CAM_CAN_SD_OVER_NOT_IN_MF 11761 #define CAM_CAN_SD_OVERRIDE 11762 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11763 #define CAM_EXT_TV_RANGE 11764 #define CAM_HAS_IS 11765 #define CAM_HAS_JOGDIAL 11766 #define CAM_HAS_ND_FILTER 11767 #define CAM_HAS_ZOOM_LEVER 11768 #define CAM_MULTIPART 11769 #define CAM_REMOTE 11770 #define CAM_SYNCH 11771 #define CAM_CHDK_PTP 11772 #undef CAM_UNCACHED_BIT1773 #define CAM_UNCACHED_BIT 0x40000000 // 0xFF874198 (via ExMem.FreeCacheable1774 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1775 1776 #undef CAM_CAN_MUTE_MICROPHONE // XXX1777 #undef CAM_HAS_ERASE_BUTTON1778 #undef CAM_HAS_IRIS_DIAPHRAGM1779 #undef CAM_HAS_MANUAL_FOCUS1780 #undef CAM_HAS_USER_TV_MODES // XXX1781 #undef CAM_HAS_VIDEO_BUTTON // XXX1782 #undef CAM_EV_IN_VIDEO // XXX1783 #undef CAM_REAR_CURTAIN1784 1785 #define CAM_JPEG_WIDTH 36481786 #define CAM_JPEG_HEIGHT 27361787 #define CAM_RAW_ROWPIX 37201788 #define CAM_RAW_ROWS 27721789 #define CAM_ACTIVE_AREA_X1 14 // XXX1790 #define CAM_ACTIVE_AREA_Y1 8 // XXX1791 #define CAM_ACTIVE_AREA_X2 3682 // XXX1792 #define CAM_ACTIVE_AREA_Y2 2764 // XXX1793 1794 #undef CAM_SENSOR_BITS_PER_PIXEL1795 #undef CAM_WHITE_LEVEL1796 #undef CAM_BLACK_LEVEL1797 #define CAM_SENSOR_BITS_PER_PIXEL 121798 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1) // XXX1799 #define CAM_BLACK_LEVEL 127 // XXX1800 1801 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1802 #define CAM_COLORMATRIX1 \1803 827547, 1000000, -290458, 1000000, -126086, 1000000, \1804 -12829, 1000000, 530507, 1000000, 50537, 1000000, \1805 5181, 1000000, 48183, 1000000, 245014, 1000000 // XXX1806 #define cam_CalibrationIlluminant1 1 // Daylight XXX1807 1808 1809 // CHDK functionality1810 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 1 // XXX1811 #define CAM_EMUL_KEYPRESS_DELAY 401812 #define CAM_EMUL_KEYPRESS_DURATION 51813 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11814 #undef DEFAULT_RAW_EXT1815 #define DEFAULT_RAW_EXT 2 // use .CR21816 1817 #undef CAM_ADJUSTABLE_ALT_BUTTON1818 #undef CAM_CONSOLE_LOG_ENABLED1819 #undef CAM_DRAW_EXPOSITION // XXX1820 #undef CAM_FEATURE_FEATHER // XXX1821 #undef CAM_USE_ZOOM_FOR_MF1822 #undef CAM_VIDEO_CONTROL // XXX1823 //----------------------------------------------------------1824 1825 #elif defined (CAMERA_ixus950_sd850)1826 #define CAM_EXT_TV_RANGE 11827 #define CAM_PROPSET 21828 1829 #define CAM_RAW_ROWPIX 3336 // for new 8 MP1830 #define CAM_RAW_ROWS 2480 // for new 8 MP1831 1832 #undef CAM_USE_ZOOM_FOR_MF1833 #undef CAM_HAS_ERASE_BUTTON1834 #undef CAM_HAS_IRIS_DIAPHRAGM1835 #define CAM_HAS_ND_FILTER 11836 #undef CAM_HAS_MANUAL_FOCUS1837 #undef CAM_HAS_USER_TV_MODES1838 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11839 #define CAM_MULTIPART 11840 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11841 // pattern1842 #define cam_CFAPattern 0x01000201 // Green Blue Red Green1843 // color1844 #define CAM_COLORMATRIX1 \1845 14573, 1, -5482, 1, -1546, 1, \1846 -1266, 1, 9799, 1, 1468, 1, \1847 -1040, 1, 1912, 1, 3810, 11848 1849 #define cam_CalibrationIlluminant1 1 // Daylight1850 // cropping1851 #define CAM_JPEG_WIDTH 32641852 #define CAM_JPEG_HEIGHT 24481853 #define CAM_ACTIVE_AREA_X1 101854 #define CAM_ACTIVE_AREA_Y1 81855 #define CAM_ACTIVE_AREA_X2 33021856 #define CAM_ACTIVE_AREA_Y2 24741857 // camera name1858 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1859 #define DNG_EXT_FROM ".DPS"1860 //----------------------------------------------------------1861 1862 #elif defined (CAMERA_ixus960_sd950)1863 #define CAM_PROPSET 21864 #define CAM_DRYOS 11865 1866 #define CAM_RAW_ROWPIX 41041867 #define CAM_RAW_ROWS 30481868 1869 #undef CAM_USE_ZOOM_FOR_MF1870 #undef CAM_HAS_ERASE_BUTTON1871 #undef CAM_HAS_IRIS_DIAPHRAGM1872 #define CAM_HAS_ND_FILTER 11873 #undef CAM_HAS_MANUAL_FOCUS1874 #undef CAM_HAS_USER_TV_MODES1875 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11876 // pattern1877 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1878 // color1879 #define CAM_COLORMATRIX1 \1880 913762, 1000000, -261578, 1000000, -135582, 1000000, \1881 -99049, 1000000, 1067089, 1000000, 61442, 1000000, \1882 48717, 1000000, 96802, 1000000, 412056, 10000001883 1884 #define cam_CalibrationIlluminant1 1 // Daylight1885 // cropping1886 #define CAM_JPEG_WIDTH 40001887 #define CAM_JPEG_HEIGHT 30001888 #define CAM_ACTIVE_AREA_X1 481889 #define CAM_ACTIVE_AREA_Y1 121890 #define CAM_ACTIVE_AREA_X2 40801891 #define CAM_ACTIVE_AREA_Y2 30361892 // camera name1893 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1894 1895 #define DNG_EXT_FROM ".CR2"1896 //----------------------------------------------------------1897 1898 #elif defined (CAMERA_ixus970_sd890)1899 #define CAM_PROPSET 21900 #define CAM_DRYOS 11901 1902 #define CAM_RAW_ROWPIX 37201903 #define CAM_RAW_ROWS 27721904 1905 #undef CAM_USE_ZOOM_FOR_MF1906 #undef CAM_HAS_ERASE_BUTTON1907 #undef CAM_HAS_IRIS_DIAPHRAGM1908 #define CAM_HAS_ND_FILTER 11909 #undef CAM_HAS_MANUAL_FOCUS1910 #define CAM_MULTIPART 11911 #define CAM_HAS_JOGDIAL 11912 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11913 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11914 #define CAM_EXT_TV_RANGE 11915 1916 // pattern1917 #define cam_CFAPattern 0x02010100 // Red Green Green Blue1918 1919 // color1920 #define CAM_COLORMATRIX1 \1921 827547, 1000000, -290458, 1000000, -126086, 1000000, \1922 -12829, 1000000, 530507, 1000000, 50537, 1000000, \1923 5181, 1000000, 48183, 1000000, 245014, 10000001924 #define cam_CalibrationIlluminant1 1 // Daylight1925 1926 // cropping1927 #define CAM_JPEG_WIDTH 36481928 #define CAM_JPEG_HEIGHT 27361929 #define CAM_ACTIVE_AREA_X1 61930 #define CAM_ACTIVE_AREA_Y1 121931 #define CAM_ACTIVE_AREA_X2 36901932 #define CAM_ACTIVE_AREA_Y2 27721933 1934 // camera name1935 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData1936 1937 // 12 bit support1938 #undef CAM_SENSOR_BITS_PER_PIXEL1939 #undef CAM_WHITE_LEVEL1940 #undef CAM_BLACK_LEVEL1941 #define CAM_SENSOR_BITS_PER_PIXEL 121942 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)1943 #define CAM_BLACK_LEVEL 1271944 #define CAM_CHDK_PTP 1 // include CHDK PTP support1945 //----------------------------------------------------------1946 1947 #elif defined (CAMERA_ixus980_sd990)1948 #define CAM_PROPSET 2 // all values checked so far match propset 21949 #define CAM_DRYOS 11950 1951 #define CAM_RAW_ROWPIX 4480 // 14.7 MP 12bpp1952 #define CAM_RAW_ROWS 33481953 1954 #undef CAM_USE_ZOOM_FOR_MF1955 #undef CAM_HAS_ERASE_BUTTON1956 #define CAM_MULTIPART 11957 #undef CAM_HAS_IRIS_DIAPHRAGM1958 #define CAM_HAS_ND_FILTER 11959 #define CAM_HAS_MANUAL_FOCUS 11960 #define CAM_HAS_USER_TV_MODES 1 //include M/P ? needed to make Tv bracketing work1961 #define CAM_SHOW_OSD_IN_SHOOT_MENU 11962 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 11963 #undef CAM_VIDEO_CONTROL1964 #undef CAM_UNCACHED_BIT // shut up compiler1965 #define CAM_UNCACHED_BIT 0x400000001966 #undef CAM_BITMAP_PALETTE1967 #define CAM_BITMAP_PALETTE 21968 1969 #undef CAM_BLACK_LEVEL1970 #define CAM_BLACK_LEVEL 1271971 #define CAM_HAS_JOGDIAL 11972 // #define CAM_AF_SCAN_DURING_VIDEO_RECORD 11973 #define CAM_VIDEO_QUALITY_ONLY 11974 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 11975 #undef CAM_SENSOR_BITS_PER_PIXEL1976 #define CAM_SENSOR_BITS_PER_PIXEL 121977 #undef CAM_WHITE_LEVEL1978 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)1979 1980 // pattern1981 #define cam_CFAPattern 0x01000201 // Green Blue Red Green1982 // color preliminary1983 #define CAM_COLORMATRIX1 \1984 837237, 1000000, -290137, 1000000, -128156, 1000000, \1985 -127762, 1000000, 643909, 1000000, 52973, 1000000, \1986 4446, 1000000, 88354, 1000000, 224246, 10000001987 1988 #define cam_CalibrationIlluminant1 1 // Daylight1989 // cropping1990 #define CAM_JPEG_WIDTH 44161991 #define CAM_JPEG_HEIGHT 33121992 #define CAM_ACTIVE_AREA_X1 121993 #define CAM_ACTIVE_AREA_Y1 121994 #define CAM_ACTIVE_AREA_X2 44441995 #define CAM_ACTIVE_AREA_Y2 33241996 // camera name1997 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData sd990: OK1998 1999 // copied from DavidBs D10 stuff2000 #undef CAM_USES_ASPECT_CORRECTION2001 #undef CAM_USES_ASPECT_YCORRECTION2002 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2003 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2004 2005 #undef ASPECT_XCORRECTION2006 #define ASPECT_XCORRECTION(x) ( ((x)<<1) )2007 2008 // Note color palette affects grids!2009 #undef ASPECT_GRID_XCORRECTION2010 #define ASPECT_GRID_XCORRECTION(x) ( (x) )2011 2012 #undef ASPECT_GRID_YCORRECTION2013 #define ASPECT_GRID_YCORRECTION(y) ( (y) )2014 2015 #undef ASPECT_VIEWPORT_XCORRECTION2016 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x)2017 #undef ASPECT_VIEWPORT_YCORRECTION2018 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )2019 2020 // Note color palette affects games!2021 //games mappings2022 #undef GAMES_SCREEN_WIDTH2023 #undef GAMES_SCREEN_HEIGHT2024 #define GAMES_SCREEN_WIDTH 3602025 #define GAMES_SCREEN_HEIGHT 2402026 #undef ASPECT_GAMES_XCORRECTION2027 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution2028 // used by gui.c that configures the draw environment (through new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for2029 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...2030 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )2031 #undef ASPECT_GAMES_YCORRECTION2032 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none2033 2034 #define CAM_ZEBRA_ASPECT_ADJUST 12035 2036 // #define DNG_EXT_FROM ".CR2"2037 //----------------------------------------------------------2038 2039 #elif defined (CAMERA_ixus100_sd780)2040 #define CAM_PROPSET 22041 #define CAM_DRYOS 12042 2043 #define CAM_RAW_ROWPIX 4080 // 12 MP 12bpp2044 #define CAM_RAW_ROWS 3048 // VERIFY_SD780 Found RAW #s by searching " CrwAddress %lx, CrwSize H %ld V %ld\r"2045 2046 #undef CAM_HAS_ERASE_BUTTON2047 #undef CAM_USE_ZOOM_FOR_MF2048 #define CAM_MULTIPART 12049 #undef CAM_HAS_IRIS_DIAPHRAGM2050 #define CAM_HAS_ND_FILTER 12051 2052 #undef CAM_REMOTE2053 #undef CAM_SYNCH2054 2055 #define CAM_HAS_ZOOM_LEVER 12056 2057 // #define CAM_CAN_SD_OVER_NOT_IN_MF 1 // Camera allows subject distance (focus) override when not in manual focus mode2058 // #define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override2059 2060 #undef CAM_HAS_MANUAL_FOCUS2061 #define CAM_HAS_USER_TV_MODES 12062 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12063 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12064 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12065 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 12066 2067 #define CAM_HAS_IS 12068 #undef CAM_HAS_JOGDIAL2069 2070 #undef CAM_VIDEO_CONTROL2071 #define CAM_VIDEO_QUALITY_ONLY 12072 2073 #define CAM_EXT_TV_RANGE 12074 2075 #undef CAM_UNCACHED_BIT2076 #define CAM_UNCACHED_BIT 0x400000002077 2078 #undef CAM_BITMAP_PALETTE2079 #define CAM_BITMAP_PALETTE 52080 2081 #undef ZEBRA_HMARGIN02082 #define ZEBRA_HMARGIN0 150 //zebra adjust buffer height: show use at sx200is: needed for save memory space2083 2084 #define CAM_QUALITY_OVERRIDE 12085 #undef CAM_SENSOR_BITS_PER_PIXEL2086 #define CAM_SENSOR_BITS_PER_PIXEL 122087 #undef CAM_WHITE_LEVEL2088 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2089 #undef CAM_BLACK_LEVEL2090 #define CAM_BLACK_LEVEL 1272091 2092 // pattern2093 //RealRom:FFA99FB4 ADR R0, aObRG1G2BLdLdLd ; "\n OB : (R, G1, G2, B) = (%ld, %ld, %ld"...2094 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2095 2096 // color preliminary (see DNG4PS2 wiki)2097 #define CAM_COLORMATRIX1 \2098 661840, 1000000, -185671, 1000000, -97110, 1000000, \2099 -83661, 1000000, 578860, 1000000, 32308, 1000000, \2100 -8681, 1000000, 70356, 1000000, 207341, 10000002101 2102 //Here is an alternate CAM_COLORMATRIX1 - Current one is nice for me but hey I'm no colour expert.2103 //XYZ -> Camera matrix:2104 //0.459395 -0.129083 -0.0680852105 //-0.055837 0.400827 0.0203782106 //-0.004622 0.048662 0.1399702107 2108 #define cam_CalibrationIlluminant1 17 // Standard Light A2109 2110 // cropping2111 #define CAM_JPEG_WIDTH 40002112 #define CAM_JPEG_HEIGHT 30002113 #define CAM_ACTIVE_AREA_X1 402114 #define CAM_ACTIVE_AREA_Y1 242115 #define CAM_ACTIVE_AREA_X2 40562116 #define CAM_ACTIVE_AREA_Y2 30402117 // camera name2118 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData sd990: OK2119 2120 #undef CAM_USES_ASPECT_CORRECTION2121 #undef CAM_USES_ASPECT_YCORRECTION2122 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2123 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2124 2125 #undef ASPECT_XCORRECTION2126 #define ASPECT_XCORRECTION(x) ( ((x)<<1) )2127 2128 // Note color palette affects grids!2129 #undef ASPECT_GRID_XCORRECTION2130 #define ASPECT_GRID_XCORRECTION(x) ( (x) )2131 2132 #undef ASPECT_GRID_YCORRECTION2133 #define ASPECT_GRID_YCORRECTION(y) ( (y) )2134 2135 #undef ASPECT_VIEWPORT_XCORRECTION2136 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x)2137 #undef ASPECT_VIEWPORT_YCORRECTION2138 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )2139 2140 // Note color palette affects games!2141 //games mappings2142 #undef GAMES_SCREEN_WIDTH2143 #undef GAMES_SCREEN_HEIGHT2144 #define GAMES_SCREEN_WIDTH 3602145 #define GAMES_SCREEN_HEIGHT 2402146 #undef ASPECT_GAMES_XCORRECTION2147 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution2148 // used by gui.c that configures the draw environment (through new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for2149 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...2150 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )2151 #undef ASPECT_GAMES_YCORRECTION2152 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none2153 #define CAM_ZEBRA_ASPECT_ADJUST 12154 // camera has little free memory2155 #define CAM_ZEBRA_NOBUF 12156 //----------------------------------------------------------2157 2158 #elif defined (CAMERA_ixus90_sd790)2159 #define CAM_PROPSET 22160 #define CAM_DRYOS 12161 2162 #define CAM_RAW_ROWPIX 37202163 #define CAM_RAW_ROWS 27722164 2165 #undef CAM_USE_ZOOM_FOR_MF2166 #undef CAM_HAS_ERASE_BUTTON2167 #define CAM_MULTIPART 12168 #undef CAM_HAS_IRIS_DIAPHRAGM2169 #undef CAM_HAS_MANUAL_FOCUS2170 2171 #define CAM_HAS_ND_FILTER 12172 #undef CAM_HAS_USER_TV_MODES2173 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12174 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12175 #define CAM_HAS_JOGDIAL 12176 #undef CAM_VIDEO_CONTROL2177 #define CAM_EXT_TV_RANGE 1 // CHDK can make exposure time longer than 64s2178 2179 // pattern2180 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2181 // color2182 #define CAM_COLORMATRIX1 \2183 827547, 1000000, -290458, 1000000, -126086, 1000000, \2184 -12829, 1000000, 530507, 1000000, 50537, 1000000, \2185 5181, 1000000, 48183, 1000000, 245014, 10000002186 #define cam_CalibrationIlluminant1 1 // Daylight2187 2188 // cropping2189 #define CAM_JPEG_WIDTH 36482190 #define CAM_JPEG_HEIGHT 27362191 #define CAM_ACTIVE_AREA_X1 62192 #define CAM_ACTIVE_AREA_Y1 122193 #define CAM_ACTIVE_AREA_X2 36902194 #define CAM_ACTIVE_AREA_Y2 27722195 2196 // camera name2197 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2198 #undef CAM_SENSOR_BITS_PER_PIXEL2199 #undef CAM_WHITE_LEVEL2200 #undef CAM_BLACK_LEVEL2201 #define CAM_SENSOR_BITS_PER_PIXEL 122202 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2203 #define CAM_BLACK_LEVEL 1272204 //----------------------------------------------------------2205 2206 #elif defined (CAMERA_ixus85_sd770)2207 #define CAM_PROPSET 22208 #define CAM_DRYOS 12209 2210 #define CAM_RAW_ROWPIX 37202211 #define CAM_RAW_ROWS 27722212 2213 #undef CAM_USE_ZOOM_FOR_MF2214 #undef CAM_HAS_ERASE_BUTTON2215 #define CAM_MULTIPART 12216 #undef CAM_HAS_IRIS_DIAPHRAGM2217 #undef CAM_HAS_MANUAL_FOCUS2218 2219 #define CAM_HAS_ND_FILTER 12220 #undef CAM_HAS_USER_TV_MODES2221 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12222 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12223 #undef CAM_HAS_JOGDIAL2224 #undef CAM_VIDEO_CONTROL2225 #define CAM_EXT_TV_RANGE 1 // CHDK can make exposure time longer than 64s2226 2227 // pattern2228 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2229 // color2230 #define CAM_COLORMATRIX1 \2231 827547, 1000000, -290458, 1000000, -126086, 1000000, \2232 -12829, 1000000, 530507, 1000000, 50537, 1000000, \2233 5181, 1000000, 48183, 1000000, 245014, 10000002234 #define cam_CalibrationIlluminant1 1 // Daylight2235 2236 // cropping2237 #define CAM_JPEG_WIDTH 36482238 #define CAM_JPEG_HEIGHT 27362239 #define CAM_ACTIVE_AREA_X1 62240 #define CAM_ACTIVE_AREA_Y1 122241 #define CAM_ACTIVE_AREA_X2 36902242 #define CAM_ACTIVE_AREA_Y2 27722243 2244 // camera name2245 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2246 #undef CAM_SENSOR_BITS_PER_PIXEL2247 #undef CAM_WHITE_LEVEL2248 #undef CAM_BLACK_LEVEL2249 #define CAM_SENSOR_BITS_PER_PIXEL 122250 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2251 #define CAM_BLACK_LEVEL 1272252 //----------------------------------------------------------2253 2254 #elif defined (CAMERA_ixus95_sd1200)2255 #define CAM_PROPSET 22256 #define CAM_DRYOS 12257 2258 #define CAM_RAW_ROWPIX 37202259 #define CAM_RAW_ROWS 27722260 2261 #undef CAM_HAS_ERASE_BUTTON2262 #define CAM_USE_ZOOM_FOR_MF 12263 #define CAM_MULTIPART 12264 #undef CAM_HAS_IRIS_DIAPHRAGM2265 #define CAM_HAS_ND_FILTER 12266 2267 #undef CAM_SYNCH2268 2269 #define CAM_HAS_ZOOM_LEVER 12270 2271 #undef CAM_HAS_MANUAL_FOCUS2272 #define CAM_HAS_USER_TV_MODES 12273 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12274 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12275 //#define CAM_AF_SCAN_DURING_VIDEO_RECORD 12276 #undef CAM_AF_SCAN_DURING_VIDEO_RECORD //TODO: change to define and find NSTUB2277 #define CAM_CHDK_HAS_EXT_VIDEO_MENU 12278 2279 #define CAM_HAS_IS 12280 #undef CAM_HAS_JOGDIAL2281 2282 #undef CAM_VIDEO_CONTROL2283 #define CAM_VIDEO_QUALITY_ONLY 12284 2285 //#define CAM_EXT_TV_RANGE 12286 2287 #undef CAM_UNCACHED_BIT // shut up compiler2288 #define CAM_UNCACHED_BIT 0x400000002289 2290 #undef CAM_BITMAP_PALETTE2291 #define CAM_BITMAP_PALETTE 22292 2293 #define CAM_QUALITY_OVERRIDE 12294 #undef CAM_SENSOR_BITS_PER_PIXEL2295 #define CAM_SENSOR_BITS_PER_PIXEL 122296 #undef CAM_WHITE_LEVEL2297 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2298 #undef CAM_BLACK_LEVEL2299 #define CAM_BLACK_LEVEL 1272300 2301 // pattern2302 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2303 2304 // color preliminary2305 // from para in forum2306 #define CAM_COLORMATRIX1 \2307 1484685, 1000000, -530958, 1000000, -208054, 1000000, \2308 143142, 1000000, 793552, 1000000, 83907, 1000000, \2309 146290, 1000000, -44679, 1000000, 430414, 10000002310 2311 #define cam_CalibrationIlluminant1 1 // Daylight2312 2313 // cropping2314 #define CAM_JPEG_WIDTH 36482315 #define CAM_JPEG_HEIGHT 27362316 #define CAM_ACTIVE_AREA_X1 82317 #define CAM_ACTIVE_AREA_Y1 122318 #define CAM_ACTIVE_AREA_X2 36922319 #define CAM_ACTIVE_AREA_Y2 27722320 2321 // camera name2322 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2323 2324 // aspect correction2325 #undef CAM_USES_ASPECT_CORRECTION2326 #undef CAM_USES_ASPECT_YCORRECTION2327 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2328 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2329 2330 #undef ASPECT_XCORRECTION2331 #define ASPECT_XCORRECTION(x) ( ((x)<<1) )2332 2333 // Note color palette affects grids!2334 #undef ASPECT_GRID_XCORRECTION2335 #define ASPECT_GRID_XCORRECTION(x) ( (x) )2336 2337 #undef ASPECT_GRID_YCORRECTION2338 #define ASPECT_GRID_YCORRECTION(y) ( (y) )2339 2340 #undef ASPECT_VIEWPORT_XCORRECTION2341 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x)2342 #undef ASPECT_VIEWPORT_YCORRECTION2343 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )2344 2345 //games mappings2346 #undef GAMES_SCREEN_WIDTH2347 #undef GAMES_SCREEN_HEIGHT2348 #define GAMES_SCREEN_WIDTH 3602349 #define GAMES_SCREEN_HEIGHT 2402350 #undef ASPECT_GAMES_XCORRECTION2351 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution2352 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for2353 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...2354 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )2355 #undef ASPECT_GAMES_YCORRECTION2356 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none2357 2358 #define CAM_ZEBRA_ASPECT_ADJUST 12359 // camera has very little free memory2360 #define CAM_ZEBRA_NOBUF 12361 #define CAM_CHDK_PTP 1 // include CHDK PTP support2362 2363 //----------------------------------------------------------2364 2365 2366 //==========================================================2367 // S-Series2368 //==========================================================2369 #elif defined (CAMERA_s2is)2370 #define CAM_PROPSET 12371 2372 #define CAM_RAW_ROWPIX 2672 // for 5 MP2373 #define CAM_RAW_ROWS 1968 // for 5 MP2374 2375 #undef CAM_SYNCH2376 #define CAM_SWIVEL_SCREEN 12377 #define CAM_ADJUSTABLE_ALT_BUTTON 12378 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2379 #define CAM_HAS_VIDEO_BUTTON 12380 #undef CAM_VIDEO_CONTROL2381 // pattern2382 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2383 // color2384 #define CAM_COLORMATRIX1 \2385 547708, 1000000, -143462, 1000000, -99243, 1000000, \2386 -186838, 1000000, 663925, 1000000, 50970, 1000000, \2387 -5810, 1000000, 79162, 1000000, 266988, 10000002388 2389 #define cam_CalibrationIlluminant1 1 // Daylight2390 // cropping2391 #define CAM_JPEG_WIDTH 25922392 #define CAM_JPEG_HEIGHT 19442393 #define CAM_ACTIVE_AREA_X1 142394 #define CAM_ACTIVE_AREA_Y1 102395 #define CAM_ACTIVE_AREA_X2 26262396 #define CAM_ACTIVE_AREA_Y2 19662397 // camera name2398 #define PARAM_CAMERA_NAME 2 // parameter number for GetParameterData2399 #define CAM_BRACKETING 12400 #define DNG_EXT_FROM ".DPS"2401 //----------------------------------------------------------2402 2403 #elif defined (CAMERA_s3is)2404 #define CAM_PROPSET 12405 2406 #define CAM_RAW_ROWPIX 2888 // for 6 MP2407 #define CAM_RAW_ROWS 2136 // for 6 MP2408 2409 #undef CAM_SYNCH2410 #define CAM_SWIVEL_SCREEN 12411 #define CAM_ADJUSTABLE_ALT_BUTTON 12412 #define CAM_MULTIPART 12413 #undef CAM_CAN_SD_OVER_NOT_IN_MF2414 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2415 #define CAM_HAS_VIDEO_BUTTON 12416 // pattern2417 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2418 // color2419 #define CAM_COLORMATRIX1 \2420 14062, 10000, -5199, 10000, -1446, 10000, \2421 -4712, 10000, 12470, 10000, 2243, 10000, \2422 -1286, 10000, 2028, 10000, 4836, 100002423 2424 #define cam_CalibrationIlluminant1 17 // Standard light A2425 // cropping2426 #define CAM_JPEG_WIDTH 28162427 #define CAM_JPEG_HEIGHT 21122428 #define CAM_ACTIVE_AREA_X1 442429 #define CAM_ACTIVE_AREA_Y1 82430 #define CAM_ACTIVE_AREA_X2 28842431 #define CAM_ACTIVE_AREA_Y2 21362432 // camera name2433 #define PARAM_CAMERA_NAME 3 // parameter number for GetParameterData2434 #define CAM_BRACKETING 12435 #define DNG_EXT_FROM ".DPS"2436 2437 #define CAM_EXT_TV_RANGE 12438 //----------------------------------------------------------2439 2440 #elif defined (CAMERA_s5is)2441 #define CAM_PROPSET 22442 #define CAM_DRYOS 12443 2444 #define CAM_RAW_ROWPIX 3336 // for new 8 MP2445 #define CAM_RAW_ROWS 2480 // for new 8 MP2446 2447 #define CAM_SWIVEL_SCREEN 12448 #define CAM_ADJUSTABLE_ALT_BUTTON 12449 #undef CAM_CAN_SD_OVER_NOT_IN_MF2450 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2451 #define CAM_HAS_VIDEO_BUTTON 12452 #define CAM_EXT_TV_RANGE 12453 // pattern2454 #define cam_CFAPattern 0x01000201 // Green Blue Red Green2455 // color2456 #define CAM_COLORMATRIX1 \2457 650591, 1000000, -199585, 1000000, -123118, 1000000, \2458 -69617, 1000000, 583926, 1000000, 34354, 1000000, \2459 -19113, 1000000, 82163, 1000000, 210786, 10000002460 2461 #define cam_CalibrationIlluminant1 1 // Daylight2462 // cropping2463 #define CAM_JPEG_WIDTH 32642464 #define CAM_JPEG_HEIGHT 24482465 #define CAM_ACTIVE_AREA_X1 102466 #define CAM_ACTIVE_AREA_Y1 82467 #define CAM_ACTIVE_AREA_X2 33022468 #define CAM_ACTIVE_AREA_Y2 24742469 // camera name2470 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2471 #define CAM_BRACKETING 12472 #define DNG_EXT_FROM ".DPS"2473 #define CAM_CHDK_PTP 1 // include CHDK PTP support2474 //----------------------------------------------------------2475 2476 2477 //==========================================================2478 // TX-Series2479 //==========================================================2480 #elif defined (CAMERA_tx1)2481 #define CAM_PROPSET 22482 2483 #define CAM_RAW_ROWPIX 3152 // for 7 MP2484 #define CAM_RAW_ROWS 2340 // for 7 MP2485 2486 #define CAM_SWIVEL_SCREEN 12487 #define CAM_HAS_ND_FILTER 12488 #undef CAM_HAS_ERASE_BUTTON2489 #undef CAM_HAS_MANUAL_FOCUS2490 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2491 #define CAM_MULTIPART 12492 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12493 #define CAM_HAS_VIDEO_BUTTON 12494 // pattern2495 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2496 // color2497 #define CAM_COLORMATRIX1 \2498 510370, 1000000, -68998, 1000000, -86859, 1000000, \2499 -279980, 1000000, 766686, 1000000, 67944, 1000000, \2500 -14382, 1000000, 113688, 1000000, 239853, 10000002501 2502 #define cam_CalibrationIlluminant1 1 // Daylight2503 // cropping2504 #define CAM_JPEG_WIDTH 30722505 #define CAM_JPEG_HEIGHT 23042506 #define CAM_ACTIVE_AREA_X1 122507 #define CAM_ACTIVE_AREA_Y1 82508 #define CAM_ACTIVE_AREA_X2 31082509 #define CAM_ACTIVE_AREA_Y2 23322510 // camera name2511 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2512 #define DNG_EXT_FROM ".DPS"2513 //----------------------------------------------------------2514 2515 2516 //==========================================================2517 // SX-Series2518 //==========================================================2519 #elif defined (CAMERA_sx100is)2520 #define CAM_PROPSET 22521 #define CAM_DRYOS 12522 2523 #define CAM_RAW_ROWPIX 3336 // for new 8 MP2524 #define CAM_RAW_ROWS 2480 // for new 8 MP2525 #undef CAM_SYNCH2526 #define CAM_CAN_MUTE_MICROPHONE 12527 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12528 #define CAM_ADJUSTABLE_ALT_BUTTON 12529 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12530 #undef CAM_VIDEO_CONTROL2531 #define CAM_REAR_CURTAIN 12532 #define CAM_HAS_JOGDIAL 12533 // pattern2534 #define cam_CFAPattern 0x01000201 // Green Blue Red Green2535 // color2536 #define CAM_COLORMATRIX1 \2537 656793, 1000000, -168702, 1000000, -108030, 1000000, \2538 -2711, 1000000, 661538, 1000000, 37919, 1000000, \2539 77255, 1000000, 48834, 1000000, 241797, 10000002540 2541 #define cam_CalibrationIlluminant1 1 // Daylight2542 // cropping2543 #define CAM_JPEG_WIDTH 32642544 #define CAM_JPEG_HEIGHT 24482545 #define CAM_ACTIVE_AREA_X1 102546 #define CAM_ACTIVE_AREA_Y1 82547 #define CAM_ACTIVE_AREA_X2 33022548 #define CAM_ACTIVE_AREA_Y2 24742549 // camera name2550 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2551 2552 #define DNG_EXT_FROM ".CR2"2553 #define CAM_MULTIPART 12554 //----------------------------------------------------------2555 2556 #elif defined (CAMERA_sx10)2557 #define CAM_PROPSET 22558 #define CAM_DRYOS 12559 2560 #define CAM_RAW_ROWPIX 37202561 #define CAM_RAW_ROWS 27722562 2563 #define CAM_SWIVEL_SCREEN 12564 #define CAM_ADJUSTABLE_ALT_BUTTON 12565 #undef CAM_CAN_SD_OVER_NOT_IN_MF2566 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2567 #define CAM_HAS_VIDEO_BUTTON 12568 #define CAM_VIDEO_QUALITY_ONLY 12569 #define CAM_BRACKETING 12570 #undef CAM_VIDEO_CONTROL2571 #define CAM_MULTIPART 12572 #define CAM_HAS_JOGDIAL 12573 #undef CAM_USE_ZOOM_FOR_MF2574 #undef CAM_UNCACHED_BIT // shut up compiler2575 #define CAM_UNCACHED_BIT 0x400000002576 2577 // pattern2578 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2579 // color2580 2581 #define CAM_COLORMATRIX1 \2582 827547, 1000000, -290458, 1000000, -126086, 1000000, \2583 -12829, 1000000, 530507, 1000000, 50537, 1000000, \2584 5181, 1000000, 48183, 1000000, 245014, 10000002585 2586 #define cam_CalibrationIlluminant1 1 // Daylight2587 // cropping2588 #define CAM_JPEG_WIDTH 36482589 #define CAM_JPEG_HEIGHT 27362590 #define CAM_ACTIVE_AREA_X1 62591 #define CAM_ACTIVE_AREA_Y1 122592 #define CAM_ACTIVE_AREA_X2 36902593 #define CAM_ACTIVE_AREA_Y2 27722594 // camera name2595 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2596 #undef CAM_SENSOR_BITS_PER_PIXEL2597 #undef CAM_WHITE_LEVEL2598 #undef CAM_BLACK_LEVEL2599 #define CAM_SENSOR_BITS_PER_PIXEL 122600 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2601 #define CAM_BLACK_LEVEL 1272602 2603 #define CAM_EXT_TV_RANGE 12604 //----------------------------------------------------------2605 2606 #elif defined (CAMERA_sx1)2607 #define CAM_PROPSET 22608 #define CAM_DRYOS 12609 2610 #define CAM_RAW_ROWPIX 41522611 #define CAM_RAW_ROWS 27722612 2613 #define CAM_SWIVEL_SCREEN 12614 #define CAM_ADJUSTABLE_ALT_BUTTON 12615 #undef CAM_CAN_SD_OVER_NOT_IN_MF2616 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2617 #define CAM_HAS_VIDEO_BUTTON 12618 #define CAM_VIDEO_QUALITY_ONLY 12619 #define CAM_BRACKETING 12620 #undef CAM_VIDEO_CONTROL2621 #define CAM_MULTIPART 12622 #define CAM_HAS_JOGDIAL 12623 #undef CAM_USE_ZOOM_FOR_MF2624 #undef CAM_UNCACHED_BIT // shut up compiler2625 #define CAM_UNCACHED_BIT 0x400000002626 2627 // pattern2628 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2629 // color2630 2631 #define CAM_COLORMATRIX1 \2632 827547, 1000000, -290458, 1000000, -126086, 1000000, \2633 -12829, 1000000, 530507, 1000000, 50537, 1000000, \2634 5181, 1000000, 48183, 1000000, 245014, 10000002635 2636 #define cam_CalibrationIlluminant1 1 // Daylight2637 // cropping2638 #define CAM_JPEG_WIDTH 36482639 #define CAM_JPEG_HEIGHT 27362640 #define CAM_ACTIVE_AREA_X1 3442641 #define CAM_ACTIVE_AREA_Y1 242642 #define CAM_ACTIVE_AREA_X2 39912643 #define CAM_ACTIVE_AREA_Y2 27592644 // camera name2645 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2646 #undef CAM_SENSOR_BITS_PER_PIXEL2647 #undef CAM_WHITE_LEVEL2648 #undef CAM_BLACK_LEVEL2649 #define CAM_SENSOR_BITS_PER_PIXEL 122650 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2651 #define CAM_BLACK_LEVEL 1272652 2653 #define CAM_EXT_TV_RANGE 12654 2655 #define CAM_HAS_VARIABLE_ASPECT 12656 //----------------------------------------------------------2657 2658 //********2659 /////SX1102660 //********2661 #elif defined (CAMERA_sx110is)2662 #define CAM_COLORMATRIX1 \2663 530200, 1000000, -42600, 1000000, -33000, 1000000, \2664 -525400, 1000000, 1092700, 1000000, 223700, 1000000, \2665 -103700, 1000000, 117900, 1000000, 421600, 10000002666 #define CAM_ACTIVE_AREA_X1 82667 #define CAM_ACTIVE_AREA_Y1 142668 #define CAM_ACTIVE_AREA_X2 36882669 #define CAM_ACTIVE_AREA_Y2 27722670 2671 #define CAM_PROPSET 22672 #define CAM_DRYOS 12673 #define CAM_RAW_ROWPIX 37202674 #define CAM_RAW_ROWS 27722675 #undef CAM_SYNCH2676 #define CAM_CAN_MUTE_MICROPHONE 12677 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12678 #define CAM_REAR_CURTAIN 12679 #define CAM_ADJUSTABLE_ALT_BUTTON 12680 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12681 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12682 #undef CAM_VIDEO_CONTROL2683 #define CAM_MULTIPART 12684 #define CAM_HAS_JOGDIAL 12685 #undef CAM_USE_ZOOM_FOR_MF2686 #undef CAM_SENSOR_BITS_PER_PIXEL2687 #define CAM_SENSOR_BITS_PER_PIXEL 122688 #undef CAM_WHITE_LEVEL2689 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2690 // black level set to 128 per reports on the forum2691 #undef CAM_BLACK_LEVEL2692 #define CAM_BLACK_LEVEL 1282693 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2694 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2695 #define cam_CalibrationIlluminant1 1 // Daylight2696 #define CAM_JPEG_WIDTH 34562697 #define CAM_JPEG_HEIGHT 25922698 2699 2700 //----------------------------------------------------------2701 2702 #elif defined (CAMERA_sx130is)2703 #define CAM_PROPSET 42704 #define CAM_DRYOS 12705 #define CAM_DRYOS_2_3_R39 12706 2707 #define CAM_RAW_ROWPIX 40802708 #define CAM_RAW_ROWS 30482709 2710 #undef CAM_CAN_SD_OVER_NOT_IN_MF2711 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2712 //#define CAM_HAS_VIDEO_BUTTON 02713 #define CAM_VIDEO_QUALITY_ONLY 12714 #define CAM_BRACKETING 12715 #undef CAM_VIDEO_CONTROL2716 #define CAM_MULTIPART 12717 #define CAM_HAS_JOGDIAL 12718 #undef CAM_USE_ZOOM_FOR_MF2719 #undef CAM_UNCACHED_BIT2720 #define CAM_UNCACHED_BIT 0x400000002721 2722 #define DNG_SUPPORT 12723 // pattern2724 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2725 // color2726 #define CAM_COLORMATRIX1 \2727 827547, 1000000, -290458, 1000000, -126086, 1000000, \2728 -12829, 1000000, 530507, 1000000, 50537, 1000000, \2729 5181, 1000000, 48183, 1000000, 245014, 10000002730 #define cam_CalibrationIlluminant1 1 // Daylight2731 2732 // cropping2733 #define CAM_JPEG_WIDTH 40002734 #define CAM_JPEG_HEIGHT 30002735 #define CAM_ACTIVE_AREA_X1 362736 #define CAM_ACTIVE_AREA_Y1 202737 #define CAM_ACTIVE_AREA_X2 40362738 #define CAM_ACTIVE_AREA_Y2 30202739 // camera name2740 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2741 #undef CAM_SENSOR_BITS_PER_PIXEL2742 #define CAM_SENSOR_BITS_PER_PIXEL 122743 #undef CAM_WHITE_LEVEL2744 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2745 #undef CAM_BLACK_LEVEL2746 #define CAM_BLACK_LEVEL 1272747 2748 #define CAM_EXT_TV_RANGE 12749 #define CAM_QUALITY_OVERRIDE 12750 2751 // copied from the SX200 which has the same video buffer size2752 #undef CAM_USES_ASPECT_CORRECTION2753 #undef CAM_USES_ASPECT_YCORRECTION2754 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2755 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2756 2757 #undef ASPECT_XCORRECTION2758 #define ASPECT_XCORRECTION(x) ((((x)<<3)+(x))>>2) //correction x*screen_buffer_width/screen_width = x*720/320 = x*9/4 = (x<<3 + x)>>22759 2760 #undef ASPECT_GRID_XCORRECTION2761 #define ASPECT_GRID_XCORRECTION(x) ((((x)<<3)/9)) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/92762 #undef ASPECT_GRID_YCORRECTION2763 #define ASPECT_GRID_YCORRECTION(y) ((y)) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.2764 2765 #undef ASPECT_VIEWPORT_XCORRECTION2766 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x)2767 #undef ASPECT_VIEWPORT_YCORRECTION2768 #define ASPECT_VIEWPORT_YCORRECTION(y) ((y))2769 2770 //games mappings2771 #undef GAMES_SCREEN_WIDTH2772 #define GAMES_SCREEN_WIDTH 3602773 #undef GAMES_SCREEN_HEIGHT2774 #define GAMES_SCREEN_HEIGHT 2402775 #undef ASPECT_GAMES_XCORRECTION2776 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution2777 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for2778 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...2779 #define ASPECT_GAMES_XCORRECTION(x) (((x)<<1))2780 #undef ASPECT_GAMES_YCORRECTION2781 #define ASPECT_GAMES_YCORRECTION(y) ((y)) //none2782 2783 #define CAM_ZEBRA_ASPECT_ADJUST 12784 #define CAM_ZEBRA_NOBUF 12785 2786 #undef CAM_BITMAP_PALETTE2787 #define CAM_BITMAP_PALETTE 72788 2789 //zebra letterbox for saving memory2790 #undef ZEBRA_HMARGIN02791 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).2792 2793 //#undef EDGE_HMARGIN2794 //#define EDGE_HMARGIN 282795 #define CAM_CHDK_PTP 12796 #define CAM_DATE_FOLDER_NAMING 12797 2798 // Menu width like in g11 and s902799 #undef CAM_MENU_BORDERWIDTH2800 #define CAM_MENU_BORDERWIDTH 102801 // CR2 accesible through USB2802 #undef DEFAULT_RAW_EXT2803 #define DEFAULT_RAW_EXT 22804 2805 #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1 // enable fix for camera crash at startup when opening the conf / font files2806 // see http://chdk.setepontos.com/index.php?topic=6179.02807 2808 //----------------------------------------------------------2809 2810 //********2811 /////SX2002812 //********2813 #elif defined (CAMERA_sx200is)2814 // copied from SX10 and modified2815 #define CAM_PROPSET 22816 #define CAM_DRYOS 12817 #define CAM_RAW_ROWPIX 4080 // from calcs see 100C lib.c2818 #define CAM_RAW_ROWS 3048 // " " " " "2819 2820 #undef CAM_CAN_SD_OVER_NOT_IN_MF2821 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO2822 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 12823 2824 #define CAM_VIDEO_QUALITY_ONLY 12825 2826 #undef CAM_VIDEO_CONTROL2827 #define CAM_MULTIPART 12828 #define CAM_HAS_JOGDIAL 12829 #undef CAM_USE_ZOOM_FOR_MF2830 #undef CAM_UNCACHED_BIT // shut up compiler2831 #define CAM_UNCACHED_BIT 0x400000002832 // pattern2833 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2834 // color2835 //need fixing *****************************************************2836 #define CAM_COLORMATRIX1 \2837 14134, 1000000, -5576, 1000000, -1527, 1000000, \2838 -1991, 1000000, 10719, 1000000, 1273, 1000000, \2839 -1158, 1000000, 1929, 1000000, 3581, 10000002840 2841 #define cam_CalibrationIlluminant1 17 // Standard Light A2842 // cropping2843 #define CAM_JPEG_WIDTH 40002844 #define CAM_JPEG_HEIGHT 30002845 #define CAM_ACTIVE_AREA_X1 522846 #define CAM_ACTIVE_AREA_Y1 142847 #define CAM_ACTIVE_AREA_X2 40522848 #define CAM_ACTIVE_AREA_Y2 30142849 // camera name2850 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2851 #undef CAM_SENSOR_BITS_PER_PIXEL2852 #undef CAM_WHITE_LEVEL2853 #undef CAM_BLACK_LEVEL2854 #define CAM_SENSOR_BITS_PER_PIXEL 122855 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2856 #define CAM_BLACK_LEVEL 1272857 2858 #define CAM_EXT_TV_RANGE 12859 #undef CAM_BITMAP_PALETTE2860 #define CAM_BITMAP_PALETTE 32861 #undef CAM_HAS_ERASE_BUTTON2862 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12863 2864 //nandoide sept-20092865 #undef CAM_USES_ASPECT_CORRECTION2866 #undef CAM_USES_ASPECT_YCORRECTION2867 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2868 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2869 2870 // reyalp TODO not sure this stuff belongs in camera.h there will probably only be a few different setups2871 // maybe we can just have one CAM_ options that picks what to use ?2872 // values need to be better documented2873 // reyalp - I guess these are bitmap ?2874 //default mappings2875 #undef ASPECT_XCORRECTION2876 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 ) //correction x*screen_buffer_width/screen_width = x*720/320 = x*9/4 = (x<<3 + x)>>22877 2878 //grids2879 #undef ASPECT_GRID_XCORRECTION2880 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/92881 #undef ASPECT_GRID_YCORRECTION2882 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.2883 2884 //viewport2885 #undef ASPECT_VIEWPORT_XCORRECTION2886 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay2887 #undef ASPECT_VIEWPORT_YCORRECTION2888 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )2889 #undef EDGE_HMARGIN2890 #define EDGE_HMARGIN 282891 2892 //games mappings2893 #undef GAMES_SCREEN_WIDTH2894 #undef GAMES_SCREEN_HEIGHT2895 #define GAMES_SCREEN_WIDTH 3602896 #define GAMES_SCREEN_HEIGHT 2402897 #undef ASPECT_GAMES_XCORRECTION2898 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution2899 // used by gui.c that configures the draw environment (through new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for2900 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...2901 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )2902 #undef ASPECT_GAMES_YCORRECTION2903 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none2904 2905 //zebra letterbox for saving memory2906 #undef ZEBRA_HMARGIN02907 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).2908 2909 //end nandoide sept-20092910 #define CAM_QUALITY_OVERRIDE 12911 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12912 #define CAM_ZEBRA_ASPECT_ADJUST 12913 #define CAM_CHDK_PTP 1 // include CHDK PTP support2914 //----------------------------------------------------------2915 2916 #elif defined (CAMERA_g11)2917 #define CAM_DRYOS_2_3_R39 12918 #define CAM_PROPSET 32919 #define CAM_DRYOS 12920 #undef CAM_USE_ZOOM_FOR_MF2921 #define CAM_HAS_ND_FILTER 12922 #define CAM_RAW_ROWPIX 3744 // See g11 lib.c2923 #define CAM_RAW_ROWS 2784 // See g11 lib.c2924 #undef CAM_EMUL_KEYPRESS_DURATION2925 #define CAM_EMUL_KEYPRESS_DURATION 102926 2927 #undef CAM_MENU_BORDERWIDTH2928 #define CAM_MENU_BORDERWIDTH 102929 2930 #define CAM_QUALITY_OVERRIDE 12931 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 12932 #define CAM_HAS_JOGDIAL 12933 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt2934 #define CAM_BRACKETING 12935 #define CAM_MULTIPART 12936 #define CAM_EXT_TV_RANGE 12937 #undef OPT_CURVES2938 #undef CAM_UNCACHED_BIT2939 #define CAM_UNCACHED_BIT 0x40000000 // G11 @FF888204(via ExMem.FreeCacheable)2940 2941 #define CAM_SWIVEL_SCREEN 12942 #define CAM_SHOW_OSD_IN_SHOOT_MENU 12943 2944 // camera name2945 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData2946 #undef CAM_SENSOR_BITS_PER_PIXEL2947 #undef CAM_WHITE_LEVEL2948 #undef CAM_BLACK_LEVEL2949 #define CAM_SENSOR_BITS_PER_PIXEL 122950 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)2951 #define CAM_BLACK_LEVEL 1272952 2953 #undef CAM_USES_ASPECT_CORRECTION2954 #undef CAM_USES_ASPECT_YCORRECTION2955 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized2956 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate2957 //games mappings2958 #undef GAMES_SCREEN_WIDTH2959 #undef GAMES_SCREEN_HEIGHT2960 #define GAMES_SCREEN_WIDTH 3602961 #define GAMES_SCREEN_HEIGHT 2402962 2963 #undef CAM_BITMAP_PALETTE2964 #define CAM_BITMAP_PALETTE 42965 2966 2967 #undef ASPECT_XCORRECTION2968 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 )2969 #undef ASPECT_GAMES_XCORRECTION2970 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )2971 #undef ASPECT_GAMES_YCORRECTION2972 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none2973 2974 #undef ASPECT_GRID_XCORRECTION2975 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/92976 #undef ASPECT_GRID_YCORRECTION2977 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.2978 2979 #undef ASPECT_VIEWPORT_XCORRECTION2980 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay2981 #undef ASPECT_VIEWPORT_YCORRECTION2982 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )2983 #undef EDGE_HMARGIN2984 #define EDGE_HMARGIN 282985 2986 /**** From SX200IS, ok for G11 ?*/2987 // pattern2988 #define cam_CFAPattern 0x02010100 // Red Green Green Blue2989 // color2990 //need fixing *****************************************************2991 #define CAM_COLORMATRIX1 \2992 14134, 1000000, -5576, 1000000, -1527, 1000000, \2993 -1991, 1000000, 10719, 1000000, 1273, 1000000, \2994 -1158, 1000000, 1929, 1000000, 3581, 10000002995 #define cam_CalibrationIlluminant1 17 // Standard Light A2996 2997 // cropping2998 //g11 values from Amit Talwar2999 #define CAM_JPEG_WIDTH 36483000 #define CAM_JPEG_HEIGHT 27363001 #define CAM_ACTIVE_AREA_X1 163002 #define CAM_ACTIVE_AREA_Y1 83003 #define CAM_ACTIVE_AREA_X2 36923004 #define CAM_ACTIVE_AREA_Y2 27763005 3006 /**** From SX200IS, ok for G11 END?*/3007 #define CAM_ZEBRA_ASPECT_ADJUST 13008 //----------------------------------------------------------3009 3010 #elif defined (CAMERA_s90)3011 #define CAM_DRYOS_2_3_R39 13012 #define CAM_PROPSET 33013 #define CAM_DRYOS 13014 #undef CAM_USE_ZOOM_FOR_MF3015 #define CAM_RAW_ROWPIX 3744 // See g11 lib.c3016 #define CAM_RAW_ROWS 2784 // See g11 lib.c3017 #undef CAM_EMUL_KEYPRESS_DURATION3018 #define CAM_EMUL_KEYPRESS_DURATION 103019 3020 #undef CAM_MENU_BORDERWIDTH3021 #define CAM_MENU_BORDERWIDTH 103022 3023 #define CAM_QUALITY_OVERRIDE 13024 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 13025 #define CAM_HAS_JOGDIAL 13026 #undef CAM_HAS_ERASE_BUTTON3027 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt3028 #define CAM_BRACKETING 13029 #define CAM_MULTIPART 13030 #define CAM_EXT_TV_RANGE 13031 #undef OPT_CURVES3032 #undef CAM_UNCACHED_BIT3033 #define CAM_UNCACHED_BIT 0x40000000 // S90 @FF8875FC(via ExMem.FreeCacheable)3034 3035 #define CAM_SHOW_OSD_IN_SHOOT_MENU 13036 3037 // camera name3038 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3039 #undef CAM_SENSOR_BITS_PER_PIXEL3040 #undef CAM_WHITE_LEVEL3041 #undef CAM_BLACK_LEVEL3042 #define CAM_SENSOR_BITS_PER_PIXEL 123043 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3044 #define CAM_BLACK_LEVEL 1273045 3046 #undef CAM_USES_ASPECT_CORRECTION3047 #undef CAM_USES_ASPECT_YCORRECTION3048 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3049 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3050 //games mappings3051 #undef GAMES_SCREEN_WIDTH3052 #undef GAMES_SCREEN_HEIGHT3053 #define GAMES_SCREEN_WIDTH 3603054 #define GAMES_SCREEN_HEIGHT 2403055 3056 #undef CAM_BITMAP_PALETTE3057 #define CAM_BITMAP_PALETTE 43058 3059 #undef ASPECT_XCORRECTION3060 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 )3061 #undef ASPECT_GAMES_XCORRECTION3062 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3063 #undef ASPECT_GAMES_YCORRECTION3064 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3065 3066 #undef ASPECT_GRID_XCORRECTION3067 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/93068 #undef ASPECT_GRID_YCORRECTION3069 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3070 3071 #undef ASPECT_VIEWPORT_XCORRECTION3072 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3073 #undef ASPECT_VIEWPORT_YCORRECTION3074 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )3075 #undef EDGE_HMARGIN3076 #define EDGE_HMARGIN 283077 3078 /**** From SX200IS, ok for S90 ?*/3079 // pattern3080 #define cam_CFAPattern 0x02010100 // Red Green Green Blue3081 // color3082 //need fixing *****************************************************3083 #define CAM_COLORMATRIX1 \3084 14134, 1000000, -5576, 1000000, -1527, 1000000, \3085 -1991, 1000000, 10719, 1000000, 1273, 1000000, \3086 -1158, 1000000, 1929, 1000000, 3581, 10000003087 #define cam_CalibrationIlluminant1 17 // Standard Light A3088 3089 // cropping -> G113090 #define CAM_JPEG_WIDTH 36483091 #define CAM_JPEG_HEIGHT 27363092 #define CAM_ACTIVE_AREA_X1 163093 #define CAM_ACTIVE_AREA_Y1 83094 #define CAM_ACTIVE_AREA_X2 36923095 #define CAM_ACTIVE_AREA_Y2 27763096 /**** From SX200IS, ok for S90 END?*/3097 3098 #define CAM_ZEBRA_ASPECT_ADJUST 13099 //----------------------------------------------------------3100 3101 #elif defined (CAMERA_sx20)3102 #define CAM_PROPSET 33103 #define CAM_DRYOS 13104 #define CAM_DRYOS_2_3_R39 13105 3106 #define CAM_RAW_ROWPIX 40803107 #define CAM_RAW_ROWS 30483108 3109 #define CAM_SWIVEL_SCREEN 13110 #define CAM_ADJUSTABLE_ALT_BUTTON 13111 #undef CAM_CAN_SD_OVER_NOT_IN_MF3112 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO3113 #define CAM_HAS_VIDEO_BUTTON 13114 #define CAM_VIDEO_QUALITY_ONLY 13115 #define CAM_BRACKETING 13116 #undef CAM_VIDEO_CONTROL3117 #define CAM_MULTIPART 13118 #define CAM_HAS_JOGDIAL 13119 #undef CAM_USE_ZOOM_FOR_MF3120 #undef CAM_UNCACHED_BIT // shut up compiler3121 #define CAM_UNCACHED_BIT 0x400000003122 3123 // pattern3124 #define cam_CFAPattern 0x02010100 // Red Green Green Blue3125 // color3126 3127 #define CAM_COLORMATRIX1 \3128 827547, 1000000, -290458, 1000000, -126086, 1000000, \3129 -12829, 1000000, 530507, 1000000, 50537, 1000000, \3130 5181, 1000000, 48183, 1000000, 245014, 10000003131 3132 #define cam_CalibrationIlluminant1 1 // Daylight3133 // cropping3134 #define CAM_JPEG_WIDTH 40003135 #define CAM_JPEG_HEIGHT 30003136 #define CAM_ACTIVE_AREA_X1 243137 #define CAM_ACTIVE_AREA_Y1 123138 #define CAM_ACTIVE_AREA_X2 4080-483139 #define CAM_ACTIVE_AREA_Y2 3048-243140 // camera name3141 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3142 #undef CAM_SENSOR_BITS_PER_PIXEL3143 #undef CAM_WHITE_LEVEL3144 #undef CAM_BLACK_LEVEL3145 #define CAM_SENSOR_BITS_PER_PIXEL 123146 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3147 #define CAM_BLACK_LEVEL 1273148 3149 #define CAM_EXT_TV_RANGE 13150 #define CAM_QUALITY_OVERRIDE 13151 3152 // copied from the SX200 which has the same video buffer size3153 #undef CAM_USES_ASPECT_CORRECTION3154 #undef CAM_USES_ASPECT_YCORRECTION3155 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3156 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3157 3158 #undef ASPECT_XCORRECTION3159 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 ) //correction x*screen_buffer_width/screen_width = x*720/320 = x*9/4 = (x<<3 + x)>>23160 3161 #undef ASPECT_GRID_XCORRECTION3162 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/93163 #undef ASPECT_GRID_YCORRECTION3164 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3165 3166 #undef ASPECT_VIEWPORT_XCORRECTION3167 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3168 #undef ASPECT_VIEWPORT_YCORRECTION3169 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )3170 3171 //games mappings3172 #undef GAMES_SCREEN_WIDTH3173 #undef GAMES_SCREEN_HEIGHT3174 #define GAMES_SCREEN_WIDTH 3603175 #define GAMES_SCREEN_HEIGHT 2403176 #undef ASPECT_GAMES_XCORRECTION3177 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution3178 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for3179 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...3180 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3181 #undef ASPECT_GAMES_YCORRECTION3182 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3183 3184 #define CAM_ZEBRA_ASPECT_ADJUST 13185 #define CAM_ZEBRA_NOBUF 13186 3187 #undef CAM_BITMAP_PALETTE3188 #define CAM_BITMAP_PALETTE 63189 3190 //zebra letterbox for saving memory3191 #undef ZEBRA_HMARGIN03192 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).3193 3194 #undef EDGE_HMARGIN3195 #define EDGE_HMARGIN 283196 #define CAM_CHDK_PTP 13197 //----------------------------------------------------------3198 3199 #elif defined (CAMERA_s95)3200 #define CAM_DRYOS_2_3_R39 13201 #define CAM_PROPSET 43202 #define CAM_DRYOS 13203 #undef CAM_USE_ZOOM_FOR_MF3204 #define CAM_RAW_ROWPIX 37443205 #define CAM_RAW_ROWS 27843206 #undef CAM_EMUL_KEYPRESS_DURATION3207 #define CAM_EMUL_KEYPRESS_DURATION 103208 #undef CAM_MENU_BORDERWIDTH3209 #define CAM_MENU_BORDERWIDTH 103210 #define CAM_QUALITY_OVERRIDE 13211 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 13212 #define CAM_HAS_JOGDIAL 13213 #undef CAM_HAS_ERASE_BUTTON3214 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt3215 #define CAM_BRACKETING 13216 #undef CAM_VIDEO_CONTROL3217 #define CAM_VIDEO_QUALITY_ONLY 13218 #define CAM_MULTIPART 13219 #define CAM_EXT_TV_RANGE 13220 #undef OPT_CURVES3221 #undef CAM_UNCACHED_BIT3222 #define CAM_UNCACHED_BIT 0x40000000 // S94 100E @FF89100C3223 #define CAM_SHOW_OSD_IN_SHOOT_MENU 13224 3225 // camera name3226 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3227 #undef CAM_SENSOR_BITS_PER_PIXEL3228 #define CAM_SENSOR_BITS_PER_PIXEL 123229 #undef CAM_WHITE_LEVEL3230 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3231 #undef CAM_BLACK_LEVEL3232 #define CAM_BLACK_LEVEL 1273233 3234 #undef CAM_USES_ASPECT_CORRECTION3235 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3236 #undef CAM_USES_ASPECT_YCORRECTION3237 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3238 3239 //games mappings3240 #undef GAMES_SCREEN_WIDTH3241 #define GAMES_SCREEN_WIDTH 3603242 #undef GAMES_SCREEN_HEIGHT3243 #define GAMES_SCREEN_HEIGHT 2403244 3245 #undef CAM_BITMAP_PALETTE3246 #define CAM_BITMAP_PALETTE 73247 3248 #undef ASPECT_XCORRECTION3249 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 )3250 #undef ASPECT_GAMES_XCORRECTION3251 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3252 #undef ASPECT_GAMES_YCORRECTION3253 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3254 3255 #undef ASPECT_GRID_XCORRECTION3256 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/93257 #undef ASPECT_GRID_YCORRECTION3258 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3259 3260 #undef ASPECT_VIEWPORT_XCORRECTION3261 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3262 #undef ASPECT_VIEWPORT_YCORRECTION3263 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )3264 #undef EDGE_HMARGIN3265 #define EDGE_HMARGIN 283266 3267 #define DNG_SUPPORT 13268 // pattern3269 #define cam_CFAPattern 0x02010100 // Red Green Green Blue3270 // color3271 //need fixing *****************************************************3272 #define CAM_COLORMATRIX1 \3273 14134, 1000000, -5576, 1000000, -1527, 1000000, \3274 -1991, 1000000, 10719, 1000000, 1273, 1000000, \3275 -1158, 1000000, 1929, 1000000, 3581, 10000003276 #define cam_CalibrationIlluminant1 17 // Standard Light A3277 3278 // cropping3279 #define CAM_JPEG_WIDTH 36003280 #define CAM_JPEG_HEIGHT 27003281 #define CAM_ACTIVE_AREA_X1 523282 #define CAM_ACTIVE_AREA_Y1 143283 #define CAM_ACTIVE_AREA_X2 36483284 #define CAM_ACTIVE_AREA_Y2 27363285 3286 #define CAM_ZEBRA_ASPECT_ADJUST 13287 3288 // todo - we may need this to save memory3289 //#define CAM_ZEBRA_NOBUF 13290 3291 //----------------------------------------------------------3292 #elif defined (CAMERA_sx30)3293 #define CAM_PROPSET 43294 #define CAM_DRYOS 13295 #define CAM_DRYOS_2_3_R39 13296 3297 #define CAM_RAW_ROWPIX 44643298 #define CAM_RAW_ROWS 32763299 3300 #define CAM_SWIVEL_SCREEN 13301 #define CAM_ADJUSTABLE_ALT_BUTTON 13302 #undef CAM_CAN_SD_OVER_NOT_IN_MF3303 #undef CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO3304 #define CAM_HAS_VIDEO_BUTTON 13305 #define CAM_VIDEO_QUALITY_ONLY 13306 #define CAM_BRACKETING 13307 #undef CAM_VIDEO_CONTROL3308 #define CAM_MULTIPART 13309 #define CAM_HAS_JOGDIAL 13310 #undef CAM_USE_ZOOM_FOR_MF3311 #undef CAM_UNCACHED_BIT // shut up compiler3312 #define CAM_UNCACHED_BIT 0x400000003313 3314 #undef DEFAULT_RAW_EXT3315 #define DEFAULT_RAW_EXT 2 // use .CR23316 3317 #undef CAM_MENU_BORDERWIDTH3318 #define CAM_MENU_BORDERWIDTH 103319 3320 // pattern3321 #define cam_CFAPattern 0x01000201 // Green Blue Red Green3322 // color3323 3324 // TODO - Still needs work3325 #define cam_CalibrationIlluminant1 1 // Daylight3326 3327 #define CAM_COLORMATRIX1 \3328 1301431, 1000000, -469837, 1000000, -102652, 1000000, \3329 -200195, 1000000, 961551, 1000000, 238645, 1000000, \3330 -16441, 1000000, 142319, 1000000, 375979, 10000003331 3332 // cropping3333 #define CAM_JPEG_WIDTH 4368 //43203334 #define CAM_JPEG_HEIGHT 3254 //32403335 #define CAM_ACTIVE_AREA_X1 243336 #define CAM_ACTIVE_AREA_Y1 103337 #define CAM_ACTIVE_AREA_X2 (4464-72)3338 #define CAM_ACTIVE_AREA_Y2 (3276-12)3339 // camera name3340 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3341 #undef CAM_SENSOR_BITS_PER_PIXEL3342 #undef CAM_WHITE_LEVEL3343 #undef CAM_BLACK_LEVEL3344 #define CAM_SENSOR_BITS_PER_PIXEL 123345 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3346 #define CAM_BLACK_LEVEL 1273347 3348 #define CAM_EXT_TV_RANGE 13349 #define CAM_QUALITY_OVERRIDE 13350 3351 // copied from the SX200 which has the same video buffer size3352 #undef CAM_USES_ASPECT_CORRECTION3353 #undef CAM_USES_ASPECT_YCORRECTION3354 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3355 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3356 3357 #undef ASPECT_XCORRECTION3358 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 ) //correction x*screen_buffer_width/screen_width = x*720/320 = x*9/4 = (x<<3 + x)>>23359 3360 #undef ASPECT_GRID_XCORRECTION3361 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/93362 #undef ASPECT_GRID_YCORRECTION3363 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3364 3365 #undef ASPECT_VIEWPORT_XCORRECTION3366 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3367 #undef ASPECT_VIEWPORT_YCORRECTION3368 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )3369 3370 #undef ASPECT_GAMES_XCORRECTION3371 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution3372 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for3373 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...3374 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3375 #undef ASPECT_GAMES_YCORRECTION3376 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3377 3378 //games mappings3379 #undef GAMES_SCREEN_WIDTH3380 #undef GAMES_SCREEN_HEIGHT3381 #define GAMES_SCREEN_WIDTH 3603382 #define GAMES_SCREEN_HEIGHT 2403383 3384 #define CAM_ZEBRA_ASPECT_ADJUST 13385 #define CAM_ZEBRA_NOBUF 13386 3387 #undef CAM_BITMAP_PALETTE3388 #define CAM_BITMAP_PALETTE 73389 3390 //zebra letterbox for saving memory3391 #undef ZEBRA_HMARGIN03392 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).3393 3394 #undef EDGE_HMARGIN3395 #define EDGE_HMARGIN 23396 3397 #define CAM_DATE_FOLDER_NAMING 13398 3399 // EXMEM memory allocation values3400 //#define EXMEM_HEAP_SKIP (0x08000000-0x07D08A00) // G12 & SX30 uses movie memory buffers at the top of the memory allocated by exmem_alloc3401 //#define EXMEM_BUFFER_SIZE (1024*1024*2) // desired amount of exmem memory to allocate3402 3403 #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1 // enable fix for camera crash at startup when opening the conf / font files3404 // see http://chdk.setepontos.com/index.php?topic=6179.03405 3406 #define CAM_KEY_CLICK_DELAY 150 // SX30 appears to need extra delay for clicks3407 //----------------------------------------------------------3408 #elif defined (CAMERA_g12)3409 #define CAM_PROPSET 43410 #define CAM_DRYOS 13411 #define CAM_DRYOS_2_3_R39 13412 3413 #define CAM_RAW_ROWPIX 37443414 #define CAM_RAW_ROWS 27843415 3416 #define CAM_SWIVEL_SCREEN 13417 //#define CAM_ADJUSTABLE_ALT_BUTTON 13418 3419 #undef CAM_EMUL_KEYPRESS_DURATION3420 #define CAM_EMUL_KEYPRESS_DURATION 103421 #undef CAM_MENU_BORDERWIDTH3422 #define CAM_MENU_BORDERWIDTH 103423 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 13424 #define CAM_MULTIPART 13425 #define CAM_HAS_JOGDIAL 13426 #undef CAM_USE_ZOOM_FOR_MF3427 #define CAM_HAS_ND_FILTER 13428 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt3429 #define CAM_BRACKETING 13430 #undef CAM_VIDEO_CONTROL3431 #define CAM_VIDEO_QUALITY_ONLY 13432 #define CAM_EXT_TV_RANGE 13433 #define CAM_QUALITY_OVERRIDE 13434 #undef OPT_CURVES3435 #undef CAM_UNCACHED_BIT3436 #define CAM_UNCACHED_BIT 0x40000000 // S90 @FF8875FC(via ExMem.FreeCacheable)3437 #define CAM_SHOW_OSD_IN_SHOOT_MENU 13438 3439 #undef DEFAULT_RAW_EXT3440 #define DEFAULT_RAW_EXT 2 // use .CR23441 3442 #undef CAM_MENU_BORDERWIDTH3443 #define CAM_MENU_BORDERWIDTH 103444 3445 // camera name3446 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3447 #undef CAM_SENSOR_BITS_PER_PIXEL3448 #define CAM_SENSOR_BITS_PER_PIXEL 123449 #undef CAM_WHITE_LEVEL3450 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3451 #undef CAM_BLACK_LEVEL3452 #define CAM_BLACK_LEVEL 1273453 3454 #undef CAM_BITMAP_PALETTE3455 #define CAM_BITMAP_PALETTE 73456 3457 #undef CAM_USES_ASPECT_CORRECTION3458 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3459 #undef CAM_USES_ASPECT_YCORRECTION3460 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3461 3462 #undef ASPECT_XCORRECTION3463 #define ASPECT_XCORRECTION(x) ( ( ((x)<<3) + (x) ) >>2 )3464 3465 #undef ASPECT_GRID_XCORRECTION3466 #define ASPECT_GRID_XCORRECTION(x) ( ((x)<<3)/9 ) //grids are designed on a 360x240 basis and screen is 320x240, we need x*320/360=x*8/93467 #undef ASPECT_GRID_YCORRECTION3468 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3469 3470 #undef ASPECT_VIEWPORT_XCORRECTION3471 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3472 #undef ASPECT_VIEWPORT_YCORRECTION3473 #define ASPECT_VIEWPORT_YCORRECTION(y) (y)3474 3475 #undef EDGE_HMARGIN3476 #define EDGE_HMARGIN 23477 3478 // pattern3479 #define cam_CFAPattern 0x02010100 // Red Green Green Blue3480 // color3481 //need fixing *****************************************************3482 #define CAM_COLORMATRIX1 \3483 14134, 1000000, -5576, 1000000, -1527, 1000000, \3484 -1991, 1000000, 10719, 1000000, 1273, 1000000, \3485 -1158, 1000000, 1929, 1000000, 3581, 10000003486 #define cam_CalibrationIlluminant1 17 // Standard Light A3487 3488 // cropping3489 #define CAM_JPEG_WIDTH 36843490 #define CAM_JPEG_HEIGHT 27603491 #define CAM_ACTIVE_AREA_X1 523492 #define CAM_ACTIVE_AREA_Y1 123493 #define CAM_ACTIVE_AREA_X2 (CAM_RAW_ROWPIX-8)3494 #define CAM_ACTIVE_AREA_Y2 (CAM_RAW_ROWS-12)3495 3496 #undef ASPECT_GAMES_XCORRECTION3497 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3498 #undef ASPECT_GAMES_YCORRECTION3499 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3500 3501 //games mappings3502 #undef GAMES_SCREEN_WIDTH3503 #define GAMES_SCREEN_WIDTH 3603504 #undef GAMES_SCREEN_HEIGHT3505 #define GAMES_SCREEN_HEIGHT 2403506 3507 #define CAM_ZEBRA_ASPECT_ADJUST 13508 3509 //zebra letterbox for saving memory3510 #undef ZEBRA_HMARGIN03511 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).3512 3513 #define CAM_DATE_FOLDER_NAMING 13514 3515 // EXMEM memory allocation values3516 //#define EXMEM_HEAP_SKIP (0x08000000-0x07D08A00) // G12 & SX30 uses movie memory buffers at the top of the memory allocated by exmem_alloc3517 //#define EXMEM_BUFFER_SIZE (1024*1024*4) // desired amount of exmem memory to allocate3518 3519 #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1 // enable fix for camera crash at startup when opening the conf / font files3520 // see http://chdk.setepontos.com/index.php?topic=6179.03521 3522 //----------------------------------------------------------3523 3524 #elif defined (CAMERA_ixus120_sd940)3525 #define CAM_DRYOS_2_3_R39 1 //stat is different, as well as some other functions3526 #define SYNCHABLE_REMOTE_NOT_ENABLED 13527 #define CAM_PROPSET 33528 #define CAM_DRYOS 13529 3530 #define CAM_RAW_ROWPIX 4080 // 12M 41044080 ?? // from calcs see 100C lib.c3531 #define CAM_RAW_ROWS 3048 // " " " " "3532 3533 #undef CAM_SWIVEL_SCREEN3534 #undef CAM_ADJUSTABLE_ALT_BUTTON3535 #define CAM_CAN_SD_OVER_NOT_IN_MF 13536 #define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 13537 #undef CAM_HAS_VIDEO_BUTTON3538 #define CAM_VIDEO_QUALITY_ONLY 13539 #define CAM_AF_SCAN_DURING_VIDEO_RECORD 13540 #define CAM_BRACKETING 13541 #undef CAM_VIDEO_CONTROL3542 #undef CAM_HAS_IRIS_DIAPHRAGM3543 #define CAM_MULTIPART 13544 #undef CAM_HAS_JOGDIAL3545 #undef CAM_USE_ZOOM_FOR_MF3546 #undef CAM_UNCACHED_BIT // shut up compiler3547 #define CAM_UNCACHED_BIT 0x400000003548 #define CAM_HAS_ND_FILTER 13549 #define CAM_CAN_SD_OVERRIDE 13550 3551 #define DNG_SUPPORT 13552 // pattern3553 #define cam_CFAPattern 0x02010100 // Red Green Green Blue3554 // color3555 3556 #undef CAM_BITMAP_PALETTE3557 #define CAM_BITMAP_PALETTE 33558 3559 #define CAM_COLORMATRIX1 \3560 827547, 1000000, -290458, 1000000, -126086, 1000000, \3561 -12829, 1000000, 530507, 1000000, 50537, 1000000, \3562 5181, 1000000, 48183, 1000000, 245014, 10000003563 3564 #define cam_CalibrationIlluminant1 1 // Daylight3565 // cropping3566 #define CAM_JPEG_WIDTH 40003567 #define CAM_JPEG_HEIGHT 30003568 #define CAM_ACTIVE_AREA_X1 203569 #define CAM_ACTIVE_AREA_Y1 123570 #define CAM_ACTIVE_AREA_X2 40563571 #define CAM_ACTIVE_AREA_Y2 30383572 // camera name3573 #define PARAM_CAMERA_NAME 4 // parameter number for GetParameterData3574 #undef CAM_SENSOR_BITS_PER_PIXEL3575 #undef CAM_WHITE_LEVEL3576 #undef CAM_BLACK_LEVEL3577 #define CAM_SENSOR_BITS_PER_PIXEL 123578 #define CAM_WHITE_LEVEL ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)3579 #define CAM_BLACK_LEVEL 1273580 3581 #define CAM_EXT_TV_RANGE 13582 3583 #define CAM_SHOW_OSD_IN_SHOOT_MENU 13584 3585 //nandoide sept-20093586 #undef CAM_USES_ASPECT_CORRECTION3587 #undef CAM_USES_ASPECT_YCORRECTION3588 #define CAM_USES_ASPECT_CORRECTION 1 //camera uses the modified graphics primitives to map screens an viewports to buffers more sized3589 #define CAM_USES_ASPECT_YCORRECTION 0 //only uses mappings on x coordinate3590 3591 3592 #undef ASPECT_XCORRECTION3593 #define ASPECT_XCORRECTION(x) (((x)<<1)) //correction x*screen_buffer_width/screen_width3594 #undef ASPECT_GRID_XCORRECTION3595 #define ASPECT_GRID_XCORRECTION(x) ( (x) ) //grids are designed on a 360x240 basis3596 #undef ASPECT_GRID_YCORRECTION3597 #define ASPECT_GRID_YCORRECTION(y) ( (y) ) //y correction for grids made on a 360x240 As the buffer is 720x240 we have no correction here.3598 3599 #undef ASPECT_VIEWPORT_XCORRECTION3600 #define ASPECT_VIEWPORT_XCORRECTION(x) ASPECT_GRID_XCORRECTION(x) //viewport is 360x240 and screen 320x240, we need x*320/360=x*8/9, equal than grids, used by edgeoverlay3601 #undef ASPECT_VIEWPORT_YCORRECTION3602 #define ASPECT_VIEWPORT_YCORRECTION(y) ( (y) )3603 #undef EDGE_HMARGIN3604 #define EDGE_HMARGIN 203605 3606 //games mappings3607 // renamed GAMES_SCREEN_WIDTH / GAMES_SCREEN_HEIGHT3608 #undef GAMES_SCREEN_WIDTH3609 #undef GAMES_SCREEN_HEIGHT3610 #define GAMES_SCREEN_WIDTH 3603611 #define GAMES_SCREEN_HEIGHT 2403612 #undef ASPECT_GAMES_XCORRECTION3613 // 720/360=2 same aspect than grids and viewport but another approach: there is a lot of corrections to do in game's code, and we decide to paint directly on display buffer wirh another resolution3614 // used by gui.c that configures the draw environment (trhough new draw_gui function) depending on gui_mode: we have then 360x240 for games (but deformed output:circles are not circles) and 320x240 for3615 // other modes in perfect aspect ratio 4/3: slightly better visualization: file menus more readable, ...3616 #define ASPECT_GAMES_XCORRECTION(x) ( ((x)<<1) )3617 #undef ASPECT_GAMES_YCORRECTION3618 #define ASPECT_GAMES_YCORRECTION(y) ( (y) ) //none3619 3620 //zebra letterbox for saving memory3621 3622 #undef ZEBRA_HMARGIN03623 #define ZEBRA_HMARGIN0 30 //this 30 rows are not used by the display buffer is 720x240 effective, no 960x270, i.e. (270-240) reduction in widht possible but not done (more difficult to manage it and slower).3624 3625 #define CAM_ZEBRA_ASPECT_ADJUST 13626 #define CAM_ZEBRA_NOBUF 13627 3628 #define CAM_CHDK_PTP 13629 3630 //----------------------------------------------------------3631 3632 #else3633 #error camera type not defined3634 #endif3635 155 //========================================================== 3636 156 // END of Camera-dependent settings -
trunk/makefile.inc
r1134 r1140 432 432 CTHUMB=-mthumb 433 433 CFLAGS+=-mthumb-interwork 434 CFLAGS+=-I$(topdir)include $(PLFLAGS) $(CPPFLAGS)434 CFLAGS+=-I$(topdir)include -I$(topdir)platform/$(PLATFORM) $(PLFLAGS) $(CPPFLAGS) 435 435 CFLAGS+=-DPLATFORM=\"$(PLATFORM)\" -DPLATFORMSUB=\"$(PLATFORMSUB)\" -DPLATFORMID=$(PLATFORMID) -DHDK_VERSION=\"$(VER)\" -DBUILD_NUMBER=\"$(BUILD_NUMBER)\" -DCAMERA_$(PLATFORM)=1 436 436 CFLAGS+=-Wall -Wno-unused -Wno-format
Note: See TracChangeset
for help on using the changeset viewer.