root/platform/g1x/shooting.c

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

DEFINITIONS

This source file includes following definitions.
  1. get_file_next_counter
  2. get_target_file_num
  3. get_target_dir_name
  4. get_target_dir_num

   1 #define PARAM_FILE_COUNTER      0x3a
   2 #define PARAM_EXPOSURE_COUNTER  0x02
   3 
   4 #include "platform.h"
   5 
   6 const ApertureSize aperture_sizes_table[] = {
   7         {  9, 288,  "2.8" },
   8         { 10, 320,  "3.2" },
   9         { 11, 352,  "3.5" },
  10         { 12, 384,  "4.0" },
  11         { 13, 416,  "4.5" },
  12         { 14, 448,  "5.0" },
  13         { 15, 480,  "5.6" },
  14         { 16, 512,  "6.3" },
  15         { 17, 544,  "7.1" },
  16         { 18, 576,  "8.0" },
  17         { 19, 608,  "9.0" },
  18         { 20, 640, "10.0" },
  19         { 21, 672, "11.0" },
  20         { 22, 704, "13.0" },
  21         { 23, 736, "14.0" },
  22         { 24, 768, "16.0" },
  23 };
  24 
  25 const ShutterSpeed shutter_speeds_table[] = {
  26         { -18, -576, "60", 60000000 },
  27         { -17, -544, "50", 50000000 },
  28         { -16, -512, "40", 40000000 },
  29         { -15, -480, "30", 30000000 },
  30         { -14, -448, "25", 25000000 },
  31         { -13, -416, "20", 20000000 },
  32         { -12, -384, "15", 15000000 },
  33         { -11, -352, "13", 13000000 },
  34         { -10, -320, "10", 10000000 },
  35         {  -9, -288, "8",   8000000 },
  36         {  -8, -256, "6",   6000000 },
  37         {  -7, -224, "5",   5000000 },
  38         {  -6, -192, "4",   4000000 },
  39         {  -5, -160, "3.2", 3200000 },
  40         {  -4, -128, "2.5", 2500000 },
  41         {  -3,  -96, "2",   2000000 },
  42         {  -2,  -64, "1.6", 1600000 },
  43         {  -1,  -32, "1.3", 1300000 },
  44         {   0,    0, "1",   1000000 },
  45         {   1,   32, "0.8",  800000 },
  46         {   2,   64, "0.6",  600000 },
  47         {   3,   96, "0.5",  500000 },
  48         {   4,  128, "0.4",  400000 },
  49         {   5,  160, "0.3",  300000 },
  50         {   6,  192, "1/4",  250000 },
  51         {   7,  224, "1/5",  200000 },
  52         {   8,  256, "1/6",  166667 },
  53         {   9,  288, "1/8",  125000 },
  54         {  10,  320, "1/10", 100000 },
  55         {  11,  352, "1/13",  76923 },
  56         {  12,  384, "1/15",  66667 },
  57         {  13,  416, "1/20",  50000 },
  58         {  14,  448, "1/25",  40000 },
  59         {  15,  480, "1/30",  33333 },
  60         {  16,  512, "1/40",  25000 },
  61         {  17,  544, "1/50",  20000 },
  62         {  18,  576, "1/60",  16667 },
  63         {  19,  608, "1/80",  12500 },
  64         {  20,  640, "1/100", 10000 },
  65         {  21,  672, "1/125",  8000 },
  66         {  22,  704, "1/160",  6250 },
  67         {  23,  736, "1/200",  5000 },
  68         {  24,  768, "1/250",  4000 },
  69         {  25,  800, "1/320",  3125 },
  70         {  26,  832, "1/400",  2500 },
  71         {  27,  864, "1/500",  2000 },
  72         {  28,  896, "1/640",  1563 },
  73         {  29,  928, "1/800",  1250 },
  74         {  30,  960, "1/1000", 1000 },
  75         {  31,  992, "1/1250",  800 },
  76         {  32, 1024, "1/1600",  625 },
  77         {  33, 1056, "1/2000",  500 },
  78         {  34, 1088, "1/2500",  400 },
  79         {  35, 1120, "1/3200",  313 },
  80         {  36, 1152, "1/4000",  250 },
  81 };
  82 
  83 const ISOTable iso_table[] = {
  84 //      { -1,    1,    "HI", -1},
  85         {  0,    0, " Auto", -1},
  86         {  1,  100,   "100", -1},
  87         {  2,  125,   "125", -1},
  88         {  3,  160,   "160", -1},
  89         {  4,  200,   "200", -1},
  90         {  5,  250,   "250", -1},
  91         {  6,  320,   "320", -1},
  92         {  7,  400,   "400", -1},
  93         {  8,  500,   "500", -1},
  94         {  9,  640,   "640", -1},
  95         { 10,  800,   "800", -1},
  96         { 11, 1000,  "1000", -1},
  97         { 12, 1250,  "1250", -1},
  98         { 13, 1600,  "1600", -1},
  99         { 14, 2000,  "2000", -1},
 100         { 15, 2500,  "2500", -1},
 101         { 16, 3200,  "3200", -1},
 102         { 17, 4000,  "4000", -1},
 103         { 18, 5000,  "5000", -1},
 104         { 19, 6400,  "6400", -1},
 105         { 20, 8000,  "8000", -1},
 106         { 21,10000, "10000", -1},
 107         { 22,12800, "12800", -1},
 108 };          
 109 
 110 /*
 111 http://www.usa.canon.com/cusa/consumer/products/cameras/digital_cameras/powershot_g1_x#Specifications
 112 Shooting Modes
 113         C1, C2, M, Av, Tv, P, Auto, SCN, Creative Filters, Movie
 114 
 115 SCN Scene Modes:
 116     Movie Digest, Portrait, Landscape, Kids & Pets, Sports, Smart Shutter, High-Speed Burst HQ, 
 117     Handheld Night Scene, Beach, Underwater, Foliage, Snow, Fireworks, Stitch Assist
 118     
 119 Creative Filters:
 120     High Dynamic Range, Nostalgic, Fish-eye Effect, Miniature Effect, Toy Camera Effect, 
 121     Monochrome, Super Vivid, Poster Effect, Color Accent, Color Swap
 122 
 123 Movie Modes:
 124         Standard, iFrame Movie
 125 
 126 Smart Shutter Modes:
 127         Smile, Wink Self-timer, Face Self-timer
 128 */
 129 // G1X modelist table found @0xff09ab04 (firmware 1.00f)
 130 const CapturemodeMap modemap[] = {
 131         { MODE_M,                  32769  },
 132         { MODE_AV,                 32770  },
 133         { MODE_TV,                 32771  },
 134         { MODE_P,                  32772  },
 135         { MODE_AUTO,               32768  },
 136 
 137     { MODE_HIGHSPEED_BURST,    16393  },
 138     { MODE_VIDEO_MOVIE_DIGEST, 16950  },
 139     { MODE_PORTRAIT,           16400  },
 140         { MODE_LANDSCAPE,          16399  },
 141     { MODE_KIDS_PETS,          16403  },
 142         { MODE_NIGHT_SCENE,        16942  },
 143         { MODE_BEACH,              16408  },
 144         { MODE_FOLIAGE,            16406  },
 145         { MODE_SNOW,               16407  },
 146         { MODE_FIREWORK,           16409  },
 147         { MODE_UNDERWATER,         16410  },
 148         { MODE_SPORTS,             16903  },
 149         { MODE_STITCH,             16909  },
 150 
 151         { MODE_NOSTALGIC,           8742  },
 152         { MODE_FISHEYE,             8748  },
 153         { MODE_MINIATURE,           8749  },
 154         { MODE_HDR,                 8751  },
 155         { MODE_TOY_CAMERA,          8752  },
 156         { MODE_MONOCHROME,          8755  },
 157         { MODE_SUPER_VIVID,         8743  },
 158         { MODE_POSTER_EFFECT,       8744  },
 159         { MODE_COLOR_ACCENT,        8734  },
 160         { MODE_COLOR_SWAP,          8735  },
 161 
 162         { MODE_SMART_SHUTTER,      16938  },
 163     { MODE_FACE_SELF_TIMER,    16937  },
 164     { MODE_WINK_SELF_TIMER,    16939  },
 165 
 166     { MODE_VIDEO_IFRAME_MOVIE,  2629  },
 167 //    { MODE_VIDEO_SUPER_SLOW,    2627  },
 168         { MODE_VIDEO_STD,           2622  },
 169 };
 170 
 171 #include "../generic/shooting.c"
 172 
 173 long get_file_next_counter() {
 174         return get_file_counter();
 175 }
 176 
 177 long get_target_file_num() {
 178         long n;
 179         
 180         n = get_file_next_counter();
 181         n = (n>>4)&0x3FFF;
 182         return n;
 183 }
 184 
 185 #if defined(CAM_DATE_FOLDER_NAMING)
 186 // G1X uses date to name directory
 187 void get_target_dir_name(char *out)
 188 {
 189         extern void _GetImageFolder(char*,int,int,int);
 190         _GetImageFolder(out,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
 191 }
 192 #else
 193 long get_target_dir_num() {
 194         long n;
 195         
 196         n = get_file_next_counter();
 197         n = (n>>18)&0x3FF;
 198         return n;
 199 }
 200 #endif

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