Ignore:
Timestamp:
01/04/12 10:53:44 (2 years ago)
Author:
philmoz
Message:

Merge latest code from reyalp-flt branch to main trunk.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/include/camera.h

    r1484 r1527  
    104104// Define CAM_USES_ASPECT_CORRECTION with a value of 1 to enable this scaled display 
    105105#define CAM_USES_ASPECT_CORRECTION  0 
     106#define CAM_SCREEN_WIDTH            360         // Width of bitmap screen in CHDK co-ordinates (360 or 480) 
     107#define CAM_SCREEN_HEIGHT           240         // Height of bitmap screen in CHDK co-ordinates (always 240 on all cameras so far) 
     108#define CAM_BITMAP_WIDTH            360         // Actual width of bitmap screen in bytes (may be larger than displayed area) 
     109#define CAM_BITMAP_HEIGHT           240         // Actual height of bitmap screen in rows (240 or 270) 
    106110 
    107111#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 
     
    145149#undef  DNG_EXT_FROM                            // Extension in the cameras known extensions to replace with .DNG to allow DNG 
    146150                                                // files to be transfered over standard PTP. Only applicable to older cameras 
    147 #undef  DNG_VERT_RLE_BADPIXELS                  // Enable vertical run length compression of badpixel data for DNG 
    148                                                 // IXUS 310 HS bad pixels tend to be grouped into vertical lines of 1-4 pixels 
    149                                                 // This reduces the file size by approx 45% 
    150151 
    151152#undef  CAM_DNG_LENS_INFO                       // Define this to include camera lens information in DNG files 
     
    217218#endif 
    218219 
     220//========================================================== 
     221// Data Structure to store camera specific information 
     222// Used by modules to ensure module code is platform independent 
     223 
     224typedef struct { 
     225        int api_version;                        // version of this structure 
     226 
     227    int bits_per_pixel; 
     228    int black_level; 
     229    int white_level; 
     230    int raw_rows, raw_rowpix, raw_rowlen, raw_size; 
     231    union                       // DNG JPEG info 
     232    { 
     233        struct 
     234        { 
     235            int x, y;           // DNG JPEG top left corner 
     236            int width, height;  // DNG JPEG size 
     237        } jpeg; 
     238        struct 
     239        { 
     240            int origin[2]; 
     241            int size[2]; 
     242        } crop; 
     243    }; 
     244    union                       // DNG active sensor area (Y1, X1, Y2, X2) 
     245    { 
     246        struct 
     247        { 
     248            int y1, x1, y2, x2; 
     249        } active_area; 
     250        int dng_active_area[4]; 
     251    }; 
     252    int lens_info[8];           // DNG Lens Info 
     253    int exposure_bias[2];       // DNG Exposure Bias 
     254    int color_matrix1[18];      // DNG Color Matrix 
     255    int cfa_pattern, calibration_illuminant1; 
     256} _cam_sensor; 
     257 
     258extern _cam_sensor camera_sensor; 
     259 
     260// if this struct changed, please change gui_version.common_api  
     261typedef struct  
     262{ 
     263    unsigned int    width, height, size;                        // Size of bitmap screen in CHDK co-ordinates 
     264    unsigned int    buffer_width, buffer_height, buffer_size;   // Physical size of bitmap screen 
     265    int             edge_hmargin, ts_button_border;             // margin and touch-screen adjustment values 
     266} _cam_screen; 
     267 
     268extern _cam_screen camera_screen; 
     269 
     270typedef struct 
     271{ 
     272        int api_version;                        // version of this structure 
     273 
     274    struct 
     275    { 
     276        int camera_name; 
     277    } params; 
     278    struct 
     279    { 
     280        int gps; 
     281        int orientation_sensor; 
     282        int tv; 
     283        int av; 
     284        int min_av; 
     285        int ev_correction_2; 
     286        int flash_mode; 
     287        int flash_fire; 
     288        int metering_mode; 
     289        int wb_adj; 
     290    } props; 
     291    int rombaseaddr, maxramaddr; 
     292} _cam_info; 
     293 
     294extern _cam_info camera_info; 
     295 
     296//========================================================== 
     297 
    219298#endif /* CAMERA_H */ 
Note: See TracChangeset for help on using the changeset viewer.