root/platform/m10/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 #include "lolevel.h"
   2 #include "platform.h"
   3 #include "core.h"
   4 #include "conf.h"
   5 #include "keyboard.h"
   6 
   7 #define PARAM_FILE_COUNTER      0x1        // see comments in ixus140 port
   8 
   9 // aperture values from PROPCASE_USER_AV, step size 1/3EV
  10 const ApertureSize aperture_sizes_table[] = {
  11     { 6,   64, "1.2" },
  12     { 7,   96, "1.4" },
  13     { 8,  128, "1.6" },
  14     { 9,  160, "1.8" },
  15     { 10, 192, "2.0" },
  16     { 11, 224, "2.2" },
  17     { 12, 256, "2.5" },
  18     { 13, 288, "2.8" },
  19     { 14, 320, "3.2" },
  20     { 15, 352, "3.5" },
  21     { 16, 384, "4.0" },
  22     { 17, 416, "4.5" },
  23     { 18, 448, "5.0" },
  24     { 19, 480, "5.6" },
  25     { 20, 512, "6.3" },
  26     { 21, 544, "7.1" },
  27     { 22, 576, "8.0" },
  28     { 23, 608, "9.0" },
  29     { 24, 640, "10.0" },
  30     { 25, 672, "11.0" },
  31     { 26, 704, "13.0" },
  32     { 27, 736, "14.0" },
  33     { 28, 768, "16.0" },
  34     { 29, 800, "18.0" },
  35     { 30, 832, "20.0" },
  36     { 31, 864, "22.0" },
  37 };
  38 
  39 const ShutterSpeed shutter_speeds_table[] = {
  40     { -24, -768, "250", 250000000 },
  41     { -23, -736, "200", 200000000 },
  42     { -22, -704, "160", 160000000 },
  43     { -21, -672, "125", 125000000 },
  44     { -20, -640, "100", 100000000 },
  45     { -19, -608, "80",   80000000 },
  46     { -18, -576, "60",   60000000 },
  47     { -17, -544, "50",   50000000 },
  48     { -16, -512, "40",   40000000 },
  49     { -15, -480, "30",   30000000 },
  50     { -14, -448, "25",   25000000 },
  51     { -13, -416, "20",   20000000 },
  52     { -12, -384, "15",   15000000 },
  53     { -11, -352, "13",   13000000 },
  54     { -10, -320, "10",   10000000 },
  55     {  -9, -288, "8",     8000000 },
  56     {  -8, -256, "6",     6000000 },
  57     {  -7, -224, "5",     5000000 },
  58     {  -6, -192, "4",     4000000 },
  59     {  -5, -160, "3.2",   3200000 },
  60     {  -4, -128, "2.5",   2500000 },
  61     {  -3,  -96, "2",     2000000 },
  62     {  -2,  -64, "1.6",   1600000 },
  63     {  -1,  -32, "1.3",   1300000 },
  64     {   0,    0, "1",     1000000 },
  65     {   1,   32, "0.8",    800000 },
  66     {   2,   64, "0.6",    600000 },
  67     {   3,   96, "0.5",    500000 },
  68     {   4,  128, "0.4",    400000 },
  69     {   5,  160, "0.3",    300000 },
  70     {   6,  192, "1/4",    250000 },
  71     {   7,  224, "1/5",    200000 },
  72     {   8,  256, "1/6",    166667 },
  73     {   9,  288, "1/8",    125000 },
  74     {  10,  320, "1/10",   100000 },
  75     {  11,  352, "1/13",    76923 },
  76     {  12,  384, "1/15",    66667 },
  77     {  13,  416, "1/20",    50000 },
  78     {  14,  448, "1/25",    40000 },
  79     {  15,  480, "1/30",    33333 },
  80     {  16,  512, "1/40",    25000 },
  81     {  17,  544, "1/50",    20000 },
  82     {  18,  576, "1/60",    16667 },
  83     {  19,  608, "1/80",    12500 },
  84     {  20,  640, "1/100",   10000 },
  85     {  21,  672, "1/125",    8000 },
  86     {  22,  704, "1/160",    6250 },
  87     {  23,  736, "1/200",    5000 },
  88     {  24,  768, "1/250",    4000 },
  89     {  25,  800, "1/320",    3125 },
  90     {  26,  832, "1/400",    2500 },
  91     {  27,  864, "1/500",    2000 },
  92     {  28,  896, "1/640",    1563 },
  93     {  29,  928, "1/800",    1250 },
  94     {  30,  960, "1/1000",   1000 },
  95     {  31,  992, "1/1250",    800 },
  96     {  32, 1024, "1/1600",    625 },
  97     {  33, 1056, "1/2000",    500 },
  98 };
  99 
 100 const ISOTable iso_table[] = {
 101         {  0,    0, " Auto", -1},
 102         {  1,  100,   "100", -1},
 103         {  2,  125,   "125", -1},
 104         {  3,  160,   "160", -1},
 105         {  4,  200,   "200", -1},
 106         {  5,  250,   "250", -1},
 107         {  6,  320,   "320", -1},
 108         {  7,  400,   "400", -1},
 109         {  8,  500,   "500", -1},
 110         {  9,  640,   "640", -1},
 111         { 10,  800,   "800", -1},
 112         { 11, 1000,  "1000", -1},
 113         { 12, 1250,  "1250", -1},
 114         { 13, 1600,  "1600", -1},
 115         { 14, 2000,  "2000", -1},
 116         { 15, 2500,  "2500", -1},
 117         { 16, 3200,  "3200", -1},
 118         { 17, 4000,  "4000", -1},
 119         { 18, 5000,  "5000", -1},
 120         { 19, 6400,  "6400", -1},
 121         { 20, 8000,  "8000", -1},
 122         { 21,10000, "10000", -1},
 123         { 22,12800, "12800", -1},
 124 };
 125 
 126 const CapturemodeMap modemap[] = {
 127 // pre-existing mode constants were used for similar modes
 128 { MODE_M                    ,32770 },
 129 { MODE_AV                   ,32771 },
 130 { MODE_TV                   ,32772 },
 131 { MODE_P                    ,32773 },
 132 { MODE_LANDSCAPE            ,32789 }, // landscape
 133 { MODE_PORTRAIT             ,32790 }, // portrait
 134 { MODE_SELFIE               ,32806 }, // self portrait
 135 { MODE_CLOSEUP              ,32807 }, // close-up
 136 { MODE_FOOD                 ,32808 }, // food
 137 { MODE_SPORTS | MODE_DISABLE_RAW ,33288 }, // sports
 138 { MODE_CREATIVE_EFFECT      ,33289 }, // creative assist
 139 { MODE_HYBRID_AUTO | MODE_DISABLE_RAW ,33298 }, // like movie digest
 140 { MODE_FISHEYE              ,33335 }, // fisheye
 141 { MODE_MINIATURE            ,33336 }, // miniature effect, 34360 during video recording (+1024)
 142 { MODE_NIGHT_SCENE | MODE_DISABLE_RAW ,33337 }, // handheld night scene
 143 { MODE_TOY_CAMERA           ,33339 }, // toy camera effect
 144 { MODE_SOFTFOCUS            ,33341 }, // soft focus
 145 { MODE_HDR                  ,33351 }, // hdr
 146 { MODE_WATERPAINTING        ,33352 }, // water painting
 147 { MODE_ART_BOLD             ,33353 }, // art bold
 148 { MODE_MONOCHROME           ,33354 }, // grainy b/w
 149 { MODE_VIDEO_STD             ,2643 }, // movie with autoexposure
 150 { MODE_VIDEO_M               ,2651 }, // manual movie
 151 //{ MODE_AUTO                 ,32768 }, auto, not available on ui, untested
 152 };
 153 
 154 #include "../generic/shooting.c"
 155 
 156 long get_file_next_counter() {
 157     return get_file_counter();
 158 }
 159 
 160 long get_target_file_num() {
 161     return get_exposure_counter();
 162 }
 163 /*
 164 CAM_DATE_FOLDER_NAMING values
 165 0x000   A/DCIM/1nn___nn/MRK_nnnn.MRK
 166 0x001   A/DCIM/1nn___nn/ETC_nnnn.TMP
 167 0x002   A/DCIM/1nn___nn/IMG_nnnn.JPG
 168 0x004   A/DCIM/1nn___nn/MVI_nnnn.THM
 169 0x008   A/DCIM/1nn___nn/SND_nnnn.WAV
 170 0x010   A/DCIM/1nn___nn/IMG_nnnn.CR2
 171 0x020   A/DCIM/1nn___nn/MVI_nnnn.MOV
 172 0x040   A/DCIM/1nn___nn/MVI_nnnn.MP4
 173 0x080   A/DCIM/1nn___nn
 174 0x100   A/DCIM/1nn___nn/ETC_nnnn.TMP
 175 larger values and multiple bits also seem to be ETC_nnnn.TMP
 176 */
 177 #if defined(CAM_DATE_FOLDER_NAMING)
 178 void get_target_dir_name(char *out)
 179 {
 180     extern void _GetImageFolder(char*,int,int,int);
 181     _GetImageFolder(out,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
 182 }
 183 #else
 184 long get_target_dir_num() 
 185 {
 186     return 0;
 187 }
 188 #endif

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