Assembla home | Assembla project page
 

Changeset 433

Show
Ignore:
Timestamp:
07/06/08 00:14:11 (1 year ago)
Author:
EWAVR
Message:

Corrected behavior of optical+digital zoom during movie recording

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/gui.c

    r425 r433  
    17681768 
    17691769void other_kbd_process(){ 
     1770 int key; 
    17701771#if CAM_AF_SCAN_DURING_VIDEO_RECORD 
    17711772   
     
    17751776 
    17761777#endif 
     1778 
     1779#if CAM_CAN_UNLOCK_OPTICAL_ZOOM_IN_VIDEO 
     1780 
     1781#if CAM_HAS_ZOOM_LEVER 
     1782   key=KEY_ZOOM_OUT; 
     1783#else 
     1784   key=KEY_DOWN; 
     1785#endif 
     1786    if ((movie_status==VIDEO_RECORD_IN_PROGRESS) &&  kbd_is_key_clicked(key)){ 
     1787     short x; 
     1788     get_property_case(PROPCASE_DIGITAL_ZOOM_STATE, &x, sizeof(x)); 
     1789     if (x) { 
     1790      get_property_case(PROPCASE_DIGITAL_ZOOM_POSITION, &x, sizeof(x)); 
     1791      if (x==0) zoom_status=ZOOM_OPTICAL_MEDIUM; 
     1792     } 
     1793    } 
     1794#endif 
     1795 
    17771796} 
    17781797 
  • trunk/include/platform.h

    r425 r433  
    6666}; 
    6767 
    68 #if CAM_PROPSET == 2 
     68#if CAM_PROPSET == 2     // most digic3 cameras 
    6969 #define PROPCASE_DRIVE_MODE                                    102 
    7070 #define PROPCASE_FOCUS_MODE                                    133 
     
    8787 #define PROPCASE_SHOOTING_MODE                                 49 
    8888 #define PROPCASE_IS_MODE                                           145 
    89 #elif CAM_PROPSET == 1 
     89 #define PROPCASE_DIGITAL_ZOOM_STATE                            94 
     90 #define PROPCASE_DIGITAL_ZOOM_POSITION                         95 
     91#elif CAM_PROPSET == 1   // most digic2 cameras 
    9092 #define PROPCASE_DRIVE_MODE                                    6 
    9193 #define PROPCASE_FOCUS_MODE                                    12 
     
    108110 #define PROPCASE_SHOOTING_MODE                                 0 
    109111 #define PROPCASE_IS_MODE                                       229 
     112 #define PROPCASE_DIGITAL_ZOOM_STATE                            58 
     113 #define PROPCASE_DIGITAL_ZOOM_POSITION                         57 
    110114#else 
    111115 #error unknown camera processor 
     
    131135#define KBD_INITIAL_DELAY 300 
    132136 
    133 // Video recording current status constants, see movie_state variable  
     137// Video recording current status constants, see movie_status variable  
    134138#define VIDEO_RECORD_NEVER_STARTED 0  
    135139#define VIDEO_RECORD_STOPPED 1  
    136140#define VIDEO_RECORD_IN_PROGRESS 4 
     141 
     142//Optical & digital zoom status constants, see zoom_status variable  
     143#define ZOOM_OPTICAL_MIN         1 
     144#define ZOOM_OPTICAL_MAX         2 
     145#define ZOOM_OPTICAL_MEDIUM      3 
     146#define ZOOM_OPTICAL_IN          4 
     147#define ZOOM_OPTICAL_OUT         5 
     148#define ZOOM_OPTICAL_REACHED_MIN 7 
     149 
     150#define ZOOM_DIGITAL_MAX         9 
     151#define ZOOM_DIGITAL_MEDIUM      10 
     152#define ZOOM_DIGITAL_IN          11 
     153#define ZOOM_DIGITAL_OUT         12 
     154#define ZOOM_DIGITAL_REACHED_MAX 13 
    137155 
    138156typedef struct { 
     
    452470void MakeAFScan(void); 
    453471extern int movie_status; 
     472extern int zoom_status; 
    454473 
    455474#define started() debug_led(1) 
  • trunk/platform/a450/sub/100d/stubs_min.S

    r425 r433  
    1212DEF(movie_status, 0x91D54)   
    1313DEF(some_flag_for_af_scan, 0xCF88) 
     14DEF(zoom_status, 0x2658) 
  • trunk/platform/a460/sub/100d/stubs_min.S

    r425 r433  
    1212DEF(movie_status, 0x91D54)   
    1313DEF(some_flag_for_af_scan, 0xCF88) 
     14DEF(zoom_status, 0x2658) 
  • trunk/platform/a530/sub/100a/stubs_min.S

    r425 r433  
    1313DEF(some_flag_for_af_scan, 0x64D40) 
    1414DEF(parameter_for_af_scan, 0x64D38) 
     15DEF(zoom_status, 0x7374) 
  • trunk/platform/a540/sub/100b/stubs_min.S

    r425 r433  
    2121DEF(some_flag_for_af_scan, 0x64DD0) 
    2222DEF(parameter_for_af_scan, 0x64DC8) 
     23DEF(zoom_status, 0x733C) 
  • trunk/platform/a550/sub/100c/stubs_min.S

    r425 r433  
    1212DEF(movie_status, 0x9BAFC)   
    1313DEF(some_flag_for_af_scan, 0xB92C) 
     14DEF(zoom_status, 0x2650) 
     15 
  • trunk/platform/a560/sub/100a/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0xA2780)   
    1414DEF(some_flag_for_af_scan, 0xBFA8) 
     15DEF(zoom_status, 0x2660) 
  • trunk/platform/a570/sub/100e/stubs_min.S

    r425 r433  
    1414DEF(movie_status, 0xA30C8)   
    1515DEF(some_flag_for_af_scan, 0xC2F8) 
     16DEF(zoom_status, 0x264C) 
  • trunk/platform/a570/sub/101a/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0xA30C8)   
    1414DEF(some_flag_for_af_scan, 0xC2F8) 
     15DEF(zoom_status, 0x264C) 
  • trunk/platform/a610/sub/100e/stubs_min.S

    r425 r433  
    1313DEF(some_flag_for_af_scan, 0x73D28) 
    1414DEF(parameter_for_af_scan, 0x73D20) 
     15DEF(zoom_status, 0x8004) 
  • trunk/platform/a610/sub/100f/stubs_min.S

    r425 r433  
    1212DEF(some_flag_for_af_scan, 0x73D28) 
    1313DEF(parameter_for_af_scan, 0x73D20) 
     14DEF(zoom_status, 0x8004) 
  • trunk/platform/a620/sub/100f/stubs_min.S

    r425 r433  
    1212DEF(some_flag_for_af_scan, 0x741B8) 
    1313DEF(parameter_for_af_scan, 0x741B0) 
     14DEF(zoom_status, 0x807C) 
  • trunk/platform/a630/sub/100c/stubs_min.S

    r425 r433  
    1111DEF(movie_status, 0x666CC) 
    1212DEF(some_flag_for_af_scan, 0x621C) 
     13DEF(zoom_status, 0x75AC) 
  • trunk/platform/a640/sub/100b/stubs_min.S

    r425 r433  
    1111DEF(movie_status, 0x66894) 
    1212DEF(some_flag_for_af_scan, 0x6278) 
     13DEF(zoom_status, 0x761C) 
  • trunk/platform/a650/sub/100d/stubs_min.S

    r425 r433  
    1818DEF(movie_status, 0x5550)    // 0x5518 + 0x38 
    1919DEF(some_flag_for_af_scan, 0x11040) 
     20DEF(zoom_status, 0x11174) 
  • trunk/platform/a700/sub/100b/stubs_min.S

    r425 r433  
    1313DEF(some_flag_for_af_scan, 0x6EAB8) 
    1414DEF(parameter_for_af_scan, 0x6EAB0) 
     15DEF(zoom_status, 0x7318) 
  • trunk/platform/a710/sub/100a/stubs_min.S

    r425 r433  
    1111DEF(movie_status, 0x715BC) 
    1212DEF(some_flag_for_af_scan, 0x6230) 
     13DEF(zoom_status, 0x74F0) 
  • trunk/platform/a720/sub/100c/stubs_min.S

    r425 r433  
    1212DEF(movie_status, 0x5570)  // 0x5538 + 0x38 
    1313DEF(some_flag_for_af_scan, 0xD688) 
     14DEF(zoom_status, 0xD7C4) 
  • trunk/platform/g7/sub/100e/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0x771E8)   
    1414DEF(some_flag_for_af_scan, 0x6E64) 
     15DEF(zoom_status, 0x83AC) 
  • trunk/platform/g7/sub/100g/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0x771E8)   
    1414DEF(some_flag_for_af_scan, 0x6E64) 
     15DEF(zoom_status, 0x83AC) 
  • trunk/platform/g7/sub/100i/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0x771E8)   
    1414DEF(some_flag_for_af_scan, 0x6E64) 
     15DEF(zoom_status, 0x83AC) 
  • trunk/platform/g7/sub/100j/stubs_min.S

    r425 r433  
    1313DEF(movie_status, 0x771E8)   
    1414DEF(some_flag_for_af_scan, 0x6E64) 
     15DEF(zoom_status, 0x83AC) 
  • trunk/platform/generic/wrappers.c

    r426 r433  
    295295    return _localtime(_tod); 
    296296#else 
    297 #warning  A650, A720 do something with this!  - sizeof(x[]) must be >= sizeof(struct tm) :  'static int x[9];' 
     297// for DRYOS cameras do something with this!  - sizeof(x[]) must be >= sizeof(struct tm) :  'static int x[9];' 
    298298  static int x[9]; 
    299299  return _LocalTime(_tod, &x);    
     
    357357    return _readdir(d); 
    358358#else 
    359 #warning  A650, A720  do something with this!  - sizeof(de[]) must be >= sizeof(struct dirent): 'static char de[40];' 
     359// for DRYOS cameras  A650, A720  do something with this!  - sizeof(de[]) must be >= sizeof(struct dirent): 'static char de[40];' 
    360360  static char de[40]; 
    361361  _ReadFastDir(d, &de); 
  • trunk/platform/ixus50_sd400/sub/101a/stubs_entry_2.S

    r409 r433  
    3535NHSTUB(kbd_read_keys_r2, 0xFF8118C0) 
    3636 
    37 NHSTUB(UnsetZoomForMovie, 0xFF9A4E00)  
     37NHSTUB(UnsetZoomForMovie, 0xFF9A4DB0)  
    3838 
    3939NHSTUB(GetDrive_ClusterSize, 0xFF8743BC) 
  • trunk/platform/ixus50_sd400/sub/101a/stubs_min.S

    r409 r433  
    1111DEF(canon_shoot_menu_active,0x68F1) // (0x68F4 - 0x4 + 0x1) found in "taskcreate_DSITask" 
    1212DEF(recreview_hold, 0x73CF0) 
     13DEF(zoom_status, 0x6804) 
     14DEF(movie_status, 0x6F95C) 
  • trunk/platform/ixus50_sd400/sub/101b/stubs_entry_2.S

    r409 r433  
    3535NHSTUB(kbd_read_keys_r2, 0xFF8118C0) 
    3636 
    37 NHSTUB(UnsetZoomForMovie, 0xFF9A4E54) // OK! 
     37NHSTUB(UnsetZoomForMovie, 0xFF9A4D1C) // OK! 
    3838 
    3939NHSTUB(GetDrive_ClusterSize, 0xFF8743BC) // OK! 
  • trunk/platform/ixus50_sd400/sub/101b/stubs_min.S

    r409 r433  
    1111DEF(canon_shoot_menu_active,0x68F1) // (0x68F4 - 0x4 + 0x1) found in "taskcreate_DSITask" OK! 
    1212DEF(recreview_hold, 0x73CF0) // OK! 
     13DEF(zoom_status, 0x6804) 
     14DEF(movie_status, 0x6F95C) 
  • trunk/platform/ixus55_sd450/sub/100b/stubs_min.S

    r339 r433  
    2121DEF(playrec_mode, 0x6FA0) // found at unknown_libname_442 within task_SsStartupTask 
    2222DEF(recreview_hold, 0x86838) 
     23DEF(zoom_status, 0x7FBC) 
     24DEF(movie_status, 0x7CDBC) 
  • trunk/platform/ixus55_sd450/sub/100c/stubs_min.S

    r339 r433  
    2121DEF(playrec_mode, 0x6FA0) // found at unknown_libname_442 within task_SsStartupTask 
    2222DEF(recreview_hold, 0x86838) 
     23DEF(zoom_status, 0x7FBC) 
     24DEF(movie_status, 0x7CDBC) 
  • trunk/platform/ixus55_sd450/sub/100d/stubs_min.S

    r387 r433  
    2121DEF(playrec_mode, 0x6FA0) // found at unknown_libname_442 within task_SsStartupTask 
    2222DEF(recreview_hold, 0x86838) 
     23DEF(zoom_status, 0x7FBC) 
     24DEF(movie_status, 0x7CDBC) 
  • trunk/platform/ixus700_sd500/sub/101a/stubs_min.S

    r247 r433  
    1111DEF(canon_shoot_menu_active,0x65B5) 
    1212DEF(recreview_hold, 0x739F8) 
     13DEF(zoom_status, 0x64C0) 
     14DEF(movie_status, 0x6F684) 
  • trunk/platform/ixus700_sd500/sub/101b/stubs_min.S

    r247 r433  
    1010DEF(canon_shoot_menu_active,0x65B5) 
    1111DEF(recreview_hold, 0x739F8) 
     12DEF(zoom_status, 0x64C0) 
     13DEF(movie_status, 0x6F684) 
  • trunk/platform/ixus70_sd1000/sub/100c/stubs_min.S

    r339 r433  
    1111DEF(canon_shoot_menu_active,0x27C9) // (0x27CC - 0x4 + 0x1) found in "taskcreate_DSITask" 
    1212DEF(recreview_hold, 0x25AC) // (0x25B0 - 0x4) found in "AR:Snd:0x%04x" 
     13DEF(zoom_status, 0x2680) 
     14DEF(movie_status, 0xBB558) 
     15 
  • trunk/platform/ixus70_sd1000/sub/101b/stubs_min.S

    r277 r433  
    1111DEF(canon_shoot_menu_active,0x27C9) // (0x27CC - 0x4 + 0x1) found in "taskcreate_DSITask" 
    1212DEF(recreview_hold, 0x25AC) // (0x25B0 - 0x4) found in "AR:Snd:0x%04x" 
     13DEF(zoom_status, 0x2680) 
     14DEF(movie_status, 0xBB558) 
  • trunk/platform/ixus70_sd1000/sub/102a/stubs_min.S

    r276 r433  
    1111DEF(canon_shoot_menu_active,0x27C9) // (0x27CC - 0x4 + 0x1) found in "taskcreate_DSITask" 
    1212DEF(recreview_hold, 0x25AC) // (0x25B0 - 0x4) found in "AR:Snd:0x%04x" 
     13DEF(zoom_status, 0x2680) 
     14DEF(movie_status, 0xBB558) 
  • trunk/platform/ixus800_sd700/sub/100b/stubs_min.S

    r283 r433  
    1111DEF(canon_shoot_menu_active,0x7539) 
    1212DEF(recreview_hold, 0x76D78) 
     13DEF(zoom_status, 0x73DC) 
     14DEF(movie_status, 0x6ECA4) 
  • trunk/platform/ixus800_sd700/sub/101b/stubs_min.S

    r247 r433  
    1111DEF(canon_shoot_menu_active,0x7539) 
    1212DEF(recreview_hold, 0x76D78) 
     13DEF(zoom_status, 0x73DC) 
     14DEF(movie_status, 0x6ECA4) 
  • trunk/platform/ixus850_sd800/sub/100e/stubs_min.S

    r312 r433  
    220220 
    221221DEF(recreview_hold, 0x7CF0) // (0x7CF4 - 0x4) found in "AR:Snd:0x%04x", LDR R3, =0x7CF4; 
     222 
     223DEF(zoom_status, 0x7DB0) 
     224DEF(movie_status, 0x8BC00) 
  • trunk/platform/ixus860_sd870/sub/100c/stubs_min.S

    r341 r433  
    1616DEF(canon_shoot_menu_active,0xB65D)   // 0xB65C+1 
    1717DEF(recreview_hold, 0xB474) // 0xB3C8+0xAC 
     18DEF(zoom_status, 0xE560) 
     19DEF(movie_status, 0x551C)  // 0x54E0 + 0x3C 
  • trunk/platform/ixus950_sd850/sub/100c/stubs_min.S

    r322 r433  
    1717DEF(recreview_hold, 0x25E0)             // after "AR:Snd:0x%04x", LDR R3, =0x25E4; then 
    1818                                        // 0x25E4-4=0x25E0 (quietschi's prescription, SD1000) 
     19 
     20DEF(zoom_status, 0x26B4) 
     21DEF(movie_status, 0xA8640)