root/platform/s100/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 // These F-numbers are the "mock" values shown by the cam.
   7 // They're linked to FL (zoom) and ND8 filter.
   8 // aperture_sizes_table[].id is just a serial number.
   9 const ApertureSize aperture_sizes_table[] = {
  10     {  9, 200, "2.0" },
  11     { 10, 224, "2.2" },
  12     { 11, 256, "2.5" },
  13     { 12, 288, "2.8" },
  14     { 13, 320, "3.2" },
  15     { 14, 352, "3.5" },
  16     { 15, 384, "4.0" },
  17     { 16, 416, "4.5" },
  18     { 17, 448, "5.0" },
  19     { 18, 480, "5.6" },
  20     { 19, 512, "6.3" },
  21     { 20, 544, "7.1" },
  22     { 21, 576, "8.0" },
  23 };
  24 
  25 // id, prop_id, name, usec;
  26 const ShutterSpeed shutter_speeds_table[] = {
  27     { -12, -384, "15", 15000000 },
  28     { -11, -352, "13", 13000000 },
  29     { -10, -320, "10", 10000000 },
  30     {  -9, -288, "8",   8000000 },
  31     {  -8, -256, "6",   6000000 },
  32     {  -7, -224, "5",   5000000 },
  33     {  -6, -192, "4",   4000000 },
  34     {  -5, -160, "3.2", 3200000 },
  35     {  -4, -128, "2.5", 2500000 },
  36     {  -3,  -96, "2",   2000000 },
  37     {  -2,  -64, "1.6", 1600000 },
  38     {  -1,  -32, "1.3", 1300000 },
  39     {   0,    0, "1",   1000000 },
  40     {   1,   32, "0.8",  800000 },
  41     {   2,   64, "0.6",  600000 },
  42     {   3,   96, "0.5",  500000 },
  43     {   4,  128, "0.4",  400000 },
  44     {   5,  160, "0.3",  300000 },
  45     {   6,  192, "1/4",  250000 },
  46     {   7,  224, "1/5",  200000 },
  47     {   8,  256, "1/6",  166667 },
  48     {   9,  288, "1/8",  125000 },
  49     {  10,  320, "1/10", 100000 },
  50     {  11,  352, "1/13",  76923 },
  51     {  12,  384, "1/15",  66667 },
  52     {  13,  416, "1/20",  50000 },
  53     {  14,  448, "1/25",  40000 },
  54     {  15,  480, "1/30",  33333 },
  55     {  16,  512, "1/40",  25000 },
  56     {  17,  544, "1/50",  20000 },
  57     {  18,  576, "1/60",  16667 },
  58     {  19,  608, "1/80",  12500 },
  59     {  20,  640, "1/100", 10000 },
  60     {  21,  672, "1/125",  8000 },
  61     {  22,  704, "1/160",  6250 },
  62     {  23,  736, "1/200",  5000 },
  63     {  24,  768, "1/250",  4000 },
  64     {  25,  800, "1/320",  3125 },
  65     {  26,  832, "1/400",  2500 },
  66     {  27,  864, "1/500",  2000 },
  67     {  28,  896, "1/640",  1563 },
  68     {  29,  928, "1/800",  1250 },
  69     {  30,  960, "1/1000", 1000 },
  70     {  31,  992, "1/1250",  800 },
  71     {  32, 1024, "1/1600",  625 },
  72     {  33, 1056, "1/2000",  500 }
  73 };
  74 
  75 const ISOTable iso_table[] = {
  76     {  0,     0,  "Auto", -1},
  77     {  1,    80,    "80", -1},
  78     {  2,   100,   "100", -1},
  79     {  3,   125,   "125", -1},
  80     {  4,   160,   "160", -1},
  81     {  5,   200,   "200", -1},
  82     {  6,   250,   "250", -1},
  83     {  7,   320,   "320", -1},
  84     {  8,   400,   "400", -1},
  85     {  9,   500,   "500", -1},
  86     { 10,   640,   "650", -1},
  87     { 11,   800,   "800", -1},
  88     { 12,  1000,  "1000", -1},
  89     { 13,  1250,  "1250", -1},
  90     { 14,  1600,  "1600", -1},
  91     { 15,  2000,  "2000", -1},
  92     { 16,  2500,  "2500", -1},
  93     { 17,  3200,  "3200", -1},
  94     { 18,  4000,  "4000", -1},
  95     { 19,  5000,  "5000", -1},
  96     { 20,  6400,  "6400", -1},
  97 };
  98 
  99 const CapturemodeMap modemap[] = {
 100     { MODE_P,                   32772 },
 101     { MODE_TV,                  32771 },
 102     { MODE_AV,                  32770 },
 103     { MODE_M,                   32769 },
 104     { MODE_AUTO,                32768 },
 105     { MODE_LOWLIGHT,            32802 },
 106     // SCN modes
 107     { MODE_VIDEO_MOVIE_DIGEST,  16950 },
 108     { MODE_PORTRAIT,            16400 },
 109     { MODE_LANDSCAPE,           16399 },
 110     { MODE_KIDS_PETS,           16403 },
 111     { MODE_SMART_SHUTTER,       16938 },
 112     { MODE_WINK_SELF_TIMER,     16939 },
 113     { MODE_FACE_SELF_TIMER,     16937 },
 114     { MODE_HIGHSPEED_BURST,     16905 },
 115     { MODE_NIGHT_SCENE,         16942 },
 116     { MODE_BEACH,               16408 },
 117     { MODE_UNDERWATER,          16410 },
 118     { MODE_FOLIAGE,             16406 },
 119     { MODE_SNOW,                16407 },
 120     { MODE_FIREWORK,            16409 },
 121     { MODE_STITCH,              16909 },
 122     // Other SCN modes - Creative Filters
 123     { MODE_HDR,                  8751 },
 124     { MODE_NOSTALGIC,            8742 },
 125     { MODE_FISHEYE,              8748 },
 126     { MODE_MINIATURE,            8749 },
 127     { MODE_TOY_CAMERA,           8752 },
 128     { MODE_MONOCHROME,           8755 },
 129     { MODE_SUPER_VIVID,          8743 },
 130     { MODE_POSTER_EFFECT,        8744 },
 131     { MODE_COLOR_ACCENT,         8734 },
 132     { MODE_COLOR_SWAP,           8735 },
 133     // VIDEO modes
 134     { MODE_VIDEO_STD,            2622 },
 135     { MODE_VIDEO_IFRAME_MOVIE,   2629 },
 136     { MODE_VIDEO_SUPER_SLOW,     2627 },
 137 };
 138 
 139 
 140 #include "../generic/shooting.c"
 141 
 142 long get_file_next_counter() {
 143     return get_file_counter();
 144 }
 145 
 146 long get_target_file_num() {
 147     long n;
 148 
 149     n = get_file_next_counter();
 150     n = (n>>4)&0x3FFF;
 151     return n;
 152 }
 153 
 154 #if defined(CAM_DATE_FOLDER_NAMING)
 155 void get_target_dir_name(char *out)
 156 {
 157     extern void _GetImageFolder(char*,int,int,int);
 158     _GetImageFolder(out,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] */