Changeset 1770 for branches/release-1_0/platform/ixus310_elph500hs/main.c
- Timestamp:
- 03/28/12 08:36:37 (14 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/release-1_0/platform/ixus310_elph500hs/main.c
r1339 r1770 28 28 } 29 29 30 // Focus length table in firmware @ 0xFFF4A30C 31 #define NUM_FL 64 // 0 - 63, entries in firmware (3 words each entry, first is FL) 32 extern int focus_len_table[NUM_FL*3]; 30 // Focus length table in firmware @0xfff4a30c 31 #define NUM_FL 64 // 0 - 63, entries in firmware 32 #define NUM_DATA 3 // 3 words each entry, first is FL 33 extern int focus_len_table[NUM_FL*NUM_DATA]; 33 34 34 35 // Conversion factor lens FL --> 35mm equiv 35 36 // lens 35mm CF 36 37 // ---- ---- -- 37 // 4.3 24 ( 24/4.3) * 430 = 2400 (min FL)38 // 18.8 105 (105/18.8) * 43 0 = 2401.6(max FL)39 #define CF_EFL 2402 // rounded up40 #define CF_EFL_DIV 43038 // 4.3 24 ( 24/ 4.3) * 43 = 240 (min FL) 39 // 18.8 105 (105/18.8) * 43 = 240.2 (max FL) 40 #define CF_EFL 240 41 #define CF_EFL_DIV 43 41 42 42 const int zoom_points = NUM_FL; // OK43 const int zoom_points = NUM_FL; 43 44 44 45 int get_effective_focal_length(int zp) { 45 return (CF_EFL*get_focal_length(zp))/CF_EFL_DIV;46 return (CF_EFL*get_focal_length(zp))/CF_EFL_DIV; 46 47 } 47 48 48 49 int get_focal_length(int zp) { 49 if (zp < 0) zp = 0;50 else if (zp >= NUM_FL) zp = NUM_FL-1;51 return focus_len_table[zp*3];50 if (zp < 0) zp = 0; 51 else if (zp >= NUM_FL) zp = NUM_FL-1; 52 return focus_len_table[zp*NUM_DATA]; 52 53 } 53 54 54 55 int get_zoom_x(int zp) { 55 return get_focal_length(zp)*10/focus_len_table[0];56 return get_focal_length(zp)*10/focus_len_table[0]; 56 57 } 57 58
Note: See TracChangeset
for help on using the changeset viewer.