root/platform/ixus1000_sd4500/platform_camera.h

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

INCLUDED FROM


   1 // Camera - IXUS1000_SD4500 - platform_camera.h
   2 
   3 // This file contains the various settings values specific to the IXUS1000_SD4500 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                     4
  24     #define CAM_DRYOS                       1
  25     #define CAM_DRYOS_2_3_R39               1
  26 
  27     #define CAM_DATE_FOLDER_NAMING          0x400
  28 
  29     #define CAM_RAW_ROWPIX                  3816 // from calcs see 100C lib.c   //ASM1989
  30     #define CAM_RAW_ROWS                    2784 //  "     "    "    "    "  //ASM1989
  31     #undef  CAM_EMUL_KEYPRESS_DURATION
  32     #define CAM_EMUL_KEYPRESS_DURATION      100
  33     #define EXMEM_HEAP_SKIP                 (0x08000000-0x07D08A00)     // G12 & SX30 uses movie memory buffers at the top of the memory allocated by exmem_alloc
  34     #define EXMEM_BUFFER_SIZE (1024*1024*2)        // desired amount of exmem memory to allocate
  35 
  36     #undef  CAM_HAS_IRIS_DIAPHRAGM
  37     #define CAM_HAS_ND_FILTER               1
  38 
  39     #define CAM_ADJUSTABLE_ALT_BUTTON        1    // ALT-button can be set from menu
  40     #define CAM_ALT_BUTTON_NAMES             { "Video", "Playback"  }
  41     #define CAM_ALT_BUTTON_OPTIONS           { KEY_VIDEO, KEY_PLAYBACK }
  42     #undef  CAM_HAS_DISP_BUTTON
  43 
  44     //ASM1989 TESTING VIDEO HANG
  45     #undef  CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO
  46     //#define CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 1
  47 
  48     #define CAM_HAS_VIDEO_BUTTON            1
  49     #define CAM_VIDEO_QUALITY_ONLY          1
  50     #undef  CAM_VIDEO_CONTROL
  51     #define CAM_MULTIPART                   1
  52     #define CAM_HAS_JOGDIAL                 1
  53     #undef  CAM_USE_ZOOM_FOR_MF
  54 
  55     #undef  CAM_UNCACHED_BIT
  56     #define CAM_UNCACHED_BIT                0x40000000
  57 
  58     #define CAM_DNG_LENS_INFO               { 63,10, 630,10, 34,10, 56,10 } // See comments in camera.h
  59 
  60     #define cam_CFAPattern                  0x01020001 // Green Red Blue Green (http://chdk.setepontos.com/index.php?board=29.0)
  61 
  62    #define CAM_COLORMATRIX1                     \
  63       13124, 10000, -5329, 10000, -1390, 10000, \
  64       -3602, 10000, 11658, 10000,  1944, 10000, \
  65       -1612, 10000,  2863, 10000,  4885, 10000
  66 
  67     #define cam_CalibrationIlluminant1      1        // Daylight
  68 
  69     #define CAM_JPEG_WIDTH                  3648
  70     #define CAM_JPEG_HEIGHT                 2736
  71 
  72     // The pixels just outside this area are working but dim. The pixels
  73     // outside (4, 4, 3816-92, 2784-0) are black.
  74     #define CAM_ACTIVE_AREA_X1              32
  75     #define CAM_ACTIVE_AREA_Y1              24
  76     #define CAM_ACTIVE_AREA_X2              3816-120
  77     #define CAM_ACTIVE_AREA_Y2              2784-20
  78 
  79     // camera name
  80     #define PARAM_CAMERA_NAME               4 // parameter number for GetParameterData
  81     #undef  CAM_SENSOR_BITS_PER_PIXEL
  82     #define CAM_SENSOR_BITS_PER_PIXEL       12
  83 
  84     #undef  CAM_HAS_ERASE_BUTTON
  85     #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
  86 
  87     #undef  CAM_SCREEN_WIDTH
  88     #undef  CAM_BITMAP_WIDTH
  89     #undef  CAM_BITMAP_HEIGHT
  90     #define CAM_SCREEN_WIDTH                480 // Width of bitmap screen in CHDK co-ordinates
  91     #define CAM_BITMAP_WIDTH                960 // Actual width of bitmap screen in bytes
  92     #define CAM_BITMAP_HEIGHT               270 // Actual height of bitmap screen in rows
  93 
  94     #undef  CAM_USES_ASPECT_CORRECTION
  95     #define CAM_USES_ASPECT_CORRECTION      1   //camera uses the modified graphics primitives to map screens an viewports to buffers more sized
  96 
  97     #undef  EDGE_HMARGIN
  98     #define EDGE_HMARGIN                    10  //10 fits video mode of sx210
  99 
 100    //zebra letterbox for saving memory
 101     #define CAM_ZEBRA_NOBUF                 1
 102 
 103     #define CAM_QUALITY_OVERRIDE            1
 104     #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
 105 
 106     #define CAM_HAS_CMOS                    1
 107 
 108     #define DRAW_ON_ACTIVE_BITMAP_BUFFER_ONLY 1   // Draw pixels on active bitmap buffer only.
 109     #define CAM_HAS_FILEWRITETASK_HOOK      1
 110 
 111 // FOR TESTING PURPOSE
 112 // push all regs except SP and PC
 113 // push CPSR via R0
 114 // restore value for R0 from stack
 115 #define ASM_SAFE_ENTER \
 116     "STMFD SP!, {R0-R12,LR}\n" \
 117     "MRS R0, CPSR\n" \
 118     "STR R0,[SP,#-4]!\n" \
 119     "LDR R0,[SP,#4]\n"
 120 
 121 // pop CPSR via R0
 122 // pop all regs except SP and PC
 123 #define ASM_SAFE_LEAVE \
 124     "LDR R0,[SP],#4\n" \
 125     "MSR CPSR_cxsf,R0\n" \
 126     "LDMFD SP!, {R0-R12,LR}\n"
 127 
 128 #define ASM_SAFE(asmcode) \
 129     ASM_SAFE_ENTER \
 130     asmcode \
 131     ASM_SAFE_LEAVE
 132 
 133 //    #define REMOTE_SYNC_STATUS_LED     0xC0xxyyyy        // specifies an LED that turns on while camera waits for USB remote to sync
 134 
 135     #define CAM_SD_OVER_IN_AFL              1
 136     #define CAM_SD_OVER_IN_MF               1
 137 
 138 //--------------------------------------------------

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