source: trunk/platform/ixus100_sd780/platform_camera.h @ 2880

Revision 2873, 5.2 KB checked in by philmoz, 3 days ago (diff)

Palette updates for IXUS100 & IXUS120 from waterwingz:
http://chdk.setepontos.com/index.php?topic=650.msg101649#msg101649

  • Property svn:eol-style set to native
Line 
1// Camera - ixus100_sd780 - platform_camera.h
2
3// This file contains the various settings values specific to the ixus100_sd780 camera.
4// This file is referenced via the 'include/camera.h' file and should not be loaded directly.
5
6// If adding a new settings value put a suitable default in 'include/camera.h',
7// along with documentation on what the setting does and how to determine the correct value.
8// If the setting should not have a default value then add it in 'include/camera.h'
9// using the '#undef' directive along with appropriate documentation.
10
11// Override any default values with your camera specific values in this file. Try and avoid
12// having override values that are the same as the default value.
13
14// When overriding a setting value there are two cases:
15// 1. If removing the value, because it does not apply to your camera, use the '#undef' directive.
16// 2. If changing the value it is best to use an '#undef' directive to remove the default value
17//    followed by a '#define' to set the new value.
18
19// When porting CHDK to a new camera, check the documentation in 'include/camera.h'
20// for information on each setting. If the default values are correct for your camera then
21// don't override them again in here.
22
23    #define CAM_PROPSET                     2
24    #define CAM_DRYOS                       1
25
26    #define CAM_RAW_ROWPIX                  4080    // 12 MP 12bpp
27    #define CAM_RAW_ROWS                    3048    // VERIFY_SD780 Found RAW #s by searching " CrwAddress %lx, CrwSize H %ld V %ld\r"
28
29    #undef  CAM_HAS_ERASE_BUTTON
30    #undef  CAM_USE_ZOOM_FOR_MF
31    #define CAM_MULTIPART                   1
32    #undef  CAM_HAS_IRIS_DIAPHRAGM
33    #define CAM_HAS_ND_FILTER               1
34    #undef  CAM_HAS_MANUAL_FOCUS
35    #undef  CAM_HAS_USER_TV_MODES
36
37    #define CAM_ADJUSTABLE_ALT_BUTTON       1
38    #define CAM_ALT_BUTTON_NAMES            { "Display", "Playback" }
39    #define CAM_ALT_BUTTON_OPTIONS          { KEY_DISPLAY, KEY_PLAYBACK }
40
41    // #define CAM_CAN_SD_OVER_NOT_IN_MF       1       // Camera allows subject distance (focus) override when not in manual focus mode
42    // #define CAM_CAN_SD_OVERRIDE             1       // Camera allows to do subject distance override
43
44    #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
45    #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
46
47    #undef  CAM_VIDEO_CONTROL
48    #define CAM_VIDEO_QUALITY_ONLY          1
49
50    #define CAM_EXT_TV_RANGE                1
51
52    #undef  CAM_UNCACHED_BIT
53    #define CAM_UNCACHED_BIT                0x40000000
54
55    #undef  CAM_BITMAP_PALETTE
56    #define CAM_BITMAP_PALETTE              16
57
58    #define CAM_LOAD_CUSTOM_COLORS          1      // Enable loading CHDK colors into the camera palette memory/hardware
59    #define CHDK_COLOR_BASE                 0xE2   // Start color index for CHDK colors loaded into camera palette.
60
61
62    #define CAM_QUALITY_OVERRIDE 1
63    #undef CAM_SENSOR_BITS_PER_PIXEL
64    #define CAM_SENSOR_BITS_PER_PIXEL   12
65
66    #define CAM_DNG_LENS_INFO               { 59,10, 179,10, 32,10, 58,10 } // See comments in camera.h
67    // pattern
68    //RealRom:FFA99FB4                    ADR     R0, aObRG1G2BLdLdLd ; "\n  OB : (R, G1, G2, B) = (%ld, %ld, %ld"...
69    #define cam_CFAPattern                  0x02010100      // Red  Green  Green  Blue
70
71    // color preliminary (see DNG4PS2 wiki)
72    #define CAM_COLORMATRIX1                             \
73     661840, 1000000, -185671, 1000000, -97110, 1000000, \
74     -83661, 1000000,  578860, 1000000,  32308, 1000000, \
75      -8681, 1000000,   70356, 1000000, 207341, 1000000
76
77    //Here is an alternate CAM_COLORMATRIX1 - Current one is nice for me but hey I'm no colour expert.
78    //XYZ -> Camera matrix:
79    //0.459395 -0.129083 -0.068085
80    //-0.055837 0.400827 0.020378
81    //-0.004622 0.048662 0.139970
82
83    #define cam_CalibrationIlluminant1      17      // Standard Light A
84
85    // cropping
86    #define CAM_JPEG_WIDTH                  4000
87    #define CAM_JPEG_HEIGHT                 3000
88    #define CAM_ACTIVE_AREA_X1              40
89    #define CAM_ACTIVE_AREA_Y1              24
90    #define CAM_ACTIVE_AREA_X2              4056
91    #define CAM_ACTIVE_AREA_Y2              3040
92    // camera name
93    #define PARAM_CAMERA_NAME               4       // parameter number for GetParameterData sd990: OK
94
95    #undef CAM_USES_ASPECT_CORRECTION
96    #define CAM_USES_ASPECT_CORRECTION      1       //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
97    #undef CAM_BITMAP_WIDTH
98    #undef CAM_BITMAP_HEIGHT
99    #define CAM_BITMAP_WIDTH                960 // Actual width of bitmap screen in bytes
100    #define CAM_BITMAP_HEIGHT               270 // Actual height of bitmap screen in rows
101
102    // camera has little free memory
103    #define CAM_ZEBRA_NOBUF                 1
104
105    #define CAM_DRIVE_MODE_FROM_TIMER_MODE  1   // use PROPCASE_TIMER_MODE to check for multiple shot custom timer.
106                                                // Used to enabled bracketing in custom timer, required on many recent cameras
107                                                // see http://chdk.setepontos.com/index.php/topic,3994.405.html
108        #define REMOTE_SYNC_STATUS_LED  0xC0220128              // specifies an LED that turns on while camera waits for USB remote to sync
109
110//----------------------------------------------------------
111
Note: See TracBrowser for help on using the repository browser.