root/platform/g12/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            // OK
   2 #define PARAM_EXPOSURE_COUNTER  0x02            // OK
   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 };
  18 
  19 const ShutterSpeed shutter_speeds_table[] = {
  20         { -12, -384, "15", 15000000 },
  21         { -11, -352, "13", 13000000 },
  22         { -10, -320, "10", 10000000 },
  23         {  -9, -288, "8",   8000000 },
  24         {  -8, -256, "6",   6000000 },
  25         {  -7, -224, "5",   5000000 },
  26         {  -6, -192, "4",   4000000 },
  27         {  -5, -160, "3.2", 3200000 },
  28         {  -4, -128, "2.5", 2500000 },
  29         {  -3,  -96, "2",   2000000 },
  30         {  -2,  -64, "1.6", 1600000 },
  31         {  -1,  -32, "1.3", 1300000 },
  32         {   0,    0, "1",   1000000 },
  33         {   1,   32, "0.8",  800000 },
  34         {   2,   64, "0.6",  600000 },
  35         {   3,   96, "0.5",  500000 },
  36         {   4,  128, "0.4",  400000 },
  37         {   5,  160, "0.3",  300000 },
  38         {   6,  192, "1/4",  250000 },
  39         {   7,  224, "1/5",  200000 },
  40         {   8,  256, "1/6",  166667 },
  41         {   9,  288, "1/8",  125000 },
  42         {  10,  320, "1/10", 100000 },
  43         {  11,  352, "1/13",  76923 },
  44         {  12,  384, "1/15",  66667 },
  45         {  13,  416, "1/20",  50000 },
  46         {  14,  448, "1/25",  40000 },
  47         {  15,  480, "1/30",  33333 },
  48         {  16,  512, "1/40",  25000 },
  49         {  17,  544, "1/50",  20000 },
  50         {  18,  576, "1/60",  16667 },
  51         {  19,  608, "1/80",  12500 },
  52         {  20,  640, "1/100", 10000 },
  53         {  21,  672, "1/125",  8000 },
  54         {  22,  704, "1/160",  6250 },
  55         {  23,  736, "1/200",  5000 },
  56         {  24,  768, "1/250",  4000 },
  57         {  25,  800, "1/320",  3125 },
  58         {  26,  832, "1/400",  2500 },
  59         {  27,  864, "1/500",  2000 },
  60         {  28,  896, "1/640",  1563 },
  61         {  29,  928, "1/800",  1250 },
  62         {  30,  960, "1/1000", 1000 },
  63         {  31,  992, "1/1250",  800 },
  64         {  32, 1024, "1/1600",  625 },
  65         {  33, 1056, "1/2000",  500 },
  66         {  34, 1088, "1/2500",  400 },
  67         {  35, 1120, "1/3200",  313 },
  68         {  36, 1152, "1/4000",  250 },
  69 };
  70 
  71 const ISOTable iso_table[] = {
  72 //      { -1,    1,   "HI", -1},
  73         {  0,    0, "Auto", -1},
  74         {  1,   80,   "80", -1},
  75         {  2,  100,  "100", -1},
  76         {  3,  200,  "200", -1},
  77         {  4,  400,  "400", -1},
  78         {  5,  800,  "800", -1},
  79         {  6, 1600, "1600", -1},
  80         {  7, 3200, "3200", -1},
  81 };          
  82 
  83 /*
  84 http://www.usa.canon.com/cusa/consumer/products/cameras/digital_cameras/powershot_g12#Specifications
  85 Shooting Modes:
  86     Smart AUTO, P, Tv, Av, M, C1, C2, Low Light, Quick Shot, SCN, Movie
  87 
  88 SCN Scene Modes:
  89     Portrait, Landscape, Kids & Pets, Sports, Smart Shutter, 
  90     Super Vivid, Poster Effect, Color Accent, Color Swap, 
  91     High Dynamic Range, Nostalgic, Fisheye Effect, 
  92     Miniature Effect, Beach, Underwater, Foliage, Snow, Fireworks, Stitch Assist
  93 
  94 Movie Modes:
  95     Standard, Miniature Effect, Color Accent, Color Swap
  96 
  97 Smart Shutter Modes:
  98     Smile, Wink Self-timer, Face Self-Timer
  99 */
 100 // G12 modelist table found @0xFFC89550 (firmware 1.00c)
 101 const CapturemodeMap modemap[] = {
 102         { MODE_QUICK,                      33315  },
 103         { MODE_TV,                 32771  },
 104         { MODE_AV,                 32770  },
 105         { MODE_P,                  32772  },
 106         { MODE_M,                  32769  },
 107         { MODE_AUTO,               32768  },
 108         { MODE_LOWLIGHT,           32801  },
 109 
 110     { MODE_STITCH,             16908  },
 111         { MODE_COLOR_ACCENT,       16925  },
 112         { MODE_COLOR_SWAP,         16926  },
 113         { MODE_MINIATURE,          16940  },
 114         { MODE_FISHEYE,            16939  },
 115         { MODE_HDR,                16942  },
 116         { MODE_PORTRAIT,           16399  },
 117         { MODE_SUPER_VIVID,        16934  },
 118         { MODE_POSTER_EFFECT,      16935  },
 119         { MODE_LANDSCAPE,          16398  },
 120     { MODE_FACE_SELF_TIMER,    16936  },
 121         { MODE_SMART_SHUTTER,      16937  },
 122     { MODE_WINK_SELF_TIMER,    16938  },
 123         { MODE_FOLIAGE,            16405  },
 124         { MODE_SNOW,               16406  },
 125         { MODE_BEACH,              16407  },
 126         { MODE_UNDERWATER,         16409  },
 127         { MODE_NOSTALGIC,          16933  },
 128         { MODE_KIDS_PETS,          16402  },
 129         { MODE_FIREWORK,           16408  },
 130         { MODE_SPORTS,             16903  },
 131 
 132     { MODE_VIDEO_COLOR_ACCENT, 2612   },
 133     { MODE_VIDEO_COLOR_SWAP,   2613   },
 134     { MODE_VIDEO_MINIATURE,    2620   },
 135         { MODE_VIDEO_STD,          2614   },
 136 };
 137 
 138 #include "../generic/shooting.c"
 139 
 140 long get_file_next_counter() {
 141         return get_file_counter();
 142 }
 143 
 144 long get_target_file_num() {
 145         long n;
 146         
 147         n = get_file_next_counter();
 148         n = (n>>4)&0x3FFF;
 149         return n;
 150 }
 151 
 152 #if defined(CAM_DATE_FOLDER_NAMING)
 153 // G12 uses date to name directory
 154 void get_target_dir_name(char *out)
 155 {
 156         extern void _GetImageFolder(char*,int,int,int);
 157         out[0] = 'A';
 158         _GetImageFolder(out+1,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
 159 }
 160 #else
 161 long get_target_dir_num() {
 162         long n;
 163         
 164         n = get_file_next_counter();
 165         n = (n>>18)&0x3FF;
 166         return n;
 167 }
 168 #endif

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