root/platform/g7x2/platform_camera.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 // Camera - g5x - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the G5X 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                         13
  24 
  25     #define CAM_HAS_NATIVE_ND_FILTER            1   // Camera has built-in ND filter with Canon menu support for enable/disable
  26     #define CAM_HAS_ND_FILTER                   1   // Camera has built-in ND filter (in addition to iris)
  27 
  28     #define CAM_ADJUSTABLE_ALT_BUTTON           1
  29     #define CAM_ALT_BUTTON_NAMES                { "WiFi", "Video", "Playback" }
  30     #define CAM_ALT_BUTTON_OPTIONS              { KEY_WIFI, KEY_VIDEO, KEY_PLAYBACK }
  31 
  32     #define CAM_DRYOS                           1
  33     #define CAM_DRYOS_2_3_R39                   1
  34     #define CAM_DRYOS_2_3_R47                   1
  35 
  36     #define CAM_HAS_CMOS                        1
  37 
  38     #define CAM_HAS_JOGDIAL                     1
  39 
  40 // not implemented
  41     #undef  CAM_CHDK_HAS_EXT_VIDEO_MENU
  42     #undef  CAM_VIDEO_CONTROL
  43 
  44 // minimal recording or not only
  45     #define CAM_SIMPLE_MOVIE_STATUS             1
  46 
  47     #define CAM_IS_VID_REC_WORKS                1 // Define if the 'is_video_recording()' function works
  48 
  49     #define CAM_HAS_VIDEO_BUTTON                1
  50 
  51     #undef  CAM_UNCACHED_BIT
  52     #define CAM_UNCACHED_BIT                    0x40000000
  53 
  54     #define CAM_DNG_LENS_INFO                   { 88,10, 368,10, 18,10, 28,10 }
  55     #define cam_CFAPattern                      0x02010100
  56 
  57     #define CAM_RAW_ROWPIX                      5632
  58     #define CAM_RAW_ROWS                        3710
  59 
  60     #define CAM_JPEG_WIDTH                      5472
  61     #define CAM_JPEG_HEIGHT                     3648
  62 
  63     #define CAM_ACTIVE_AREA_X1                  96
  64     #define CAM_ACTIVE_AREA_Y1                  18
  65     #define CAM_ACTIVE_AREA_X2                  5632
  66     #define CAM_ACTIVE_AREA_Y2                  3710
  67 
  68     #undef  CAM_SENSOR_BITS_PER_PIXEL
  69     #define CAM_SENSOR_BITS_PER_PIXEL           14
  70 
  71     #undef CAM_BLACK_LEVEL
  72     #define CAM_BLACK_LEVEL                     2047
  73 
  74     #define PARAM_CAMERA_NAME                   3
  75     #define CAM_DATE_FOLDER_NAMING              0x80
  76     #define CAM_FILE_COUNTER_IS_VAR             1     // file counter is variable file_counter_var in stubs, not a param
  77 
  78     #undef  CAM_HAS_ERASE_BUTTON
  79 
  80     #define CAM_HAS_DISPLAY_REFRESH_FLAG        1   // 'display_needs_refresh' variable is available to trigger CHDK UI update
  81     #undef  CAM_BITMAP_WIDTH
  82     #undef  CAM_BITMAP_HEIGHT
  83     #undef  CAM_SCREEN_WIDTH
  84     #undef  CAM_SCREEN_HEIGHT
  85     #define CAM_BITMAP_WIDTH                    736 // Actual width of bitmap screen in <s>bytes</s> pixels (YUV buffer)
  86     #define CAM_BITMAP_HEIGHT                   480 // Actual height of bitmap screen in rows
  87     #define CAM_SCREEN_WIDTH                    720 // Width of bitmap screen in CHDK co-ordinates (360 or 480)
  88     #define CAM_SCREEN_HEIGHT                   480 // Height of bitmap screen in CHDK co-ordinates (always 240 on all cameras so far)
  89 
  90     #define MKDIR_RETURN_ONE_ON_SUCCESS         1    // mkdir() return 1 on success, 0 on fail.
  91 
  92     #undef  CAM_CIRCLE_OF_CONFUSION
  93     #define CAM_CIRCLE_OF_CONFUSION             11  // CoC value for camera/sensor (see http://www.dofmaster.com/digital_coc.html)
  94 
  95     #define cam_CalibrationIlluminant1          17
  96     #define cam_CalibrationIlluminant2          21      // D65
  97 
  98     // from CR2 converted to DNG with adobe DNG converter
  99     #define CAM_COLORMATRIX1 \
 100     11125, 10000, -5937, 10000,  355, 10000, \
 101     -2979, 10000, 10926, 10000, 2360, 10000, \
 102      -116, 10000,   835, 10000, 6064, 10000
 103 
 104     #define CAM_COLORMATRIX2 \
 105      9602, 10000, -3823, 10000, -937, 10000, \
 106     -2984, 10000, 11495, 10000, 1675, 10000, \
 107      -407, 10000,  1415, 10000, 5049, 10000,
 108 
 109     #define CAM_FORWARDMATRIX1 \
 110      4264, 10000, 4193, 10000, 1187, 10000, \
 111      1832, 10000, 7811, 10000,  357, 10000, \
 112       854, 10000,   16, 10000, 7381, 10000
 113 
 114     #define CAM_FORWARDMATRIX2 \
 115      4036, 10000, 4056, 10000, 1551, 10000, \
 116      1780, 10000, 7757, 10000,  463, 10000, \
 117       764, 10000,    1, 10000, 7487, 10000
 118 
 119     // "real" to "market" conversion definitions
 120     #define SV96_MARKET_OFFSET                  0   // market and real appear to be identical on this cam
 121     #define ISO_MARKET_TO_REAL_MULT             1
 122     #define ISO_MARKET_TO_REAL_SHIFT            0
 123     #define ISO_MARKET_TO_REAL_ROUND            0
 124     #define ISO_REAL_TO_MARKET_MULT             1
 125     #define ISO_REAL_TO_MARKET_SHIFT            0
 126     #define ISO_REAL_TO_MARKET_ROUND            0
 127 
 128     #define CAM_HAS_CANON_RAW                   1   // has native Canon raw
 129 
 130     // AF led, for MD test code
 131     #undef CAM_AF_LED
 132     #define CAM_AF_LED                          1
 133 
 134     #define CAM_ZEBRA_NOBUF                     1
 135 
 136     #undef  EDGE_HMARGIN
 137     #define EDGE_HMARGIN                        10
 138 
 139     #define CAM_EXT_TV_RANGE                    1
 140 
 141     #define CAM_HAS_FILEWRITETASK_HOOK          1
 142 
 143     #define CAM_PTP_USE_NATIVE_BUFFER           1   // use firmware buffers to avoid problems with uncached memory
 144 
 145     #define CAM_HAS_WIFI                        1   // Camera has wifi support
 146 
 147     #define CAM_CLEAN_OVERLAY                   1
 148 
 149     #define CAM_SD_OVER_IN_AFL                  1
 150     #define CAM_SD_OVER_IN_MF                   1
 151 
 152     #undef  CAMERA_MIN_DIST
 153     #define CAMERA_MIN_DIST                     109         // Override min subject distance
 154     #undef  CAMERA_MAX_DIST
 155     #define CAMERA_MAX_DIST                     10543       // Override max subject distance
 156 
 157     #undef  CAM_USB_EVENTID
 158     #define CAM_USB_EVENTID                     0x302       // Levent ID for USB control. Changed in DryOS R49, R50 so needs to be overridable.
 159 
 160     #define CAM_AV_OVERRIDE_IRIS_FIX            1
 161 
 162     #define CAM_DRIVE_MODE_FROM_TIMER_MODE      1
 163 
 164     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
 165     #define CAM_VIDEO_QUALITY_ONLY              1
 166     #undef  CAM_VIDEO_CONTROL
 167     #undef  CAM_USE_ZOOM_FOR_MF
 168 
 169     #define REMOTE_SYNC_STATUS_LED              -1      // -1 = special value to force code to use debug_led
 170 
 171 //--------------------------------------------------

/* [<][>][^][v][top][bottom][index][help] */