root/platform/ixus65_sd630/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_num
  4. change_video_tables

   1 #define PARAM_FILE_COUNTER      0x34
   2 
   3 #include "platform.h"
   4 
   5 const ApertureSize aperture_sizes_table[] = {
   6     {  9, 290, "2.8" },
   7     { 10, 313, "3.2" },
   8     { 11, 337, "3.5" },
   9     { 12, 363, "3.5" },
  10     { 13, 391, "4.0" },
  11     { 14, 420, "4.5" },
  12     { 15, 448, "4.9" },
  13     { 16, 481, "5.6 ND" },
  14     { 17, 504, "6.3 ND" },
  15     { 18, 528, "7.1 ND" },
  16     { 19, 554, "7.1 ND" },
  17     { 20, 582, "8.0 ND" },
  18     { 21, 611, "9.0 ND" },
  19     { 22, 639, "10.0 ND" },
  20 };
  21 
  22 const ShutterSpeed shutter_speeds_table[] = {
  23     { -12, -384, "15", 15000000 },
  24     { -11, -352, "13", 13000000 },
  25     { -10, -320, "10", 10000000 },
  26     {  -9, -288, "8",   8000000 },
  27     {  -8, -256, "6",   6000000 },
  28     {  -7, -224, "5",   5000000 },
  29     {  -6, -192, "4",   4000000 },
  30     {  -5, -160, "3.2", 3200000 },
  31     {  -4, -128, "2.5", 2500000 },
  32     {  -3,  -96, "2",   2000000 },
  33     {  -2,  -64, "1.6", 1600000 },
  34     {  -1,  -32, "1.3", 1300000 },
  35     {   0,    0, "1",   1000000 },
  36     {   1,   32, "0.8",  800000 },
  37     {   2,   64, "0.6",  600000 },
  38     {   3,   96, "0.5",  500000 },
  39     {   4,  128, "0.4",  400000 },
  40     {   5,  160, "0.3",  300000 },
  41     {   6,  192, "1/4",  250000 },
  42     {   7,  224, "1/5",  200000 },
  43     {   8,  256, "1/6",  166667 },
  44     {   9,  288, "1/8",  125000 },
  45     {  10,  320, "1/10", 100000 },
  46     {  11,  352, "1/13",  76923 },
  47     {  12,  384, "1/15",  66667 },
  48     {  13,  416, "1/20",  50000 },
  49     {  14,  448, "1/25",  40000 },
  50     {  15,  480, "1/30",  33333 },
  51     {  16,  512, "1/40",  25000 },
  52     {  17,  544, "1/50",  20000 },
  53     {  18,  576, "1/60",  16667 },
  54     {  19,  608, "1/80",  12500 },
  55     {  20,  640, "1/100", 10000 },
  56     {  21,  672, "1/125",  8000 },
  57     {  22,  704, "1/160",  6250 },
  58     {  23,  736, "1/200",  5000 },
  59     {  24,  768, "1/250",  4000 },
  60     {  25,  800, "1/320",  3125 },
  61     {  26,  832, "1/400",  2500 },
  62     {  27,  864, "1/500",  2000 },
  63     {  28,  896, "1/640",  1563 },
  64     {  29,  928, "1/800",  1250 },
  65     {  30,  960, "1/1000", 1000 },
  66     {  31,  992, "1/1250",  800 },
  67     {  32, 1021, "1/1600",  625 },
  68     {  33, 1053, "1/2000",  500 },
  69     {  34, 1084, "1/2500",  400 },
  70 };
  71 
  72 const ISOTable iso_table[] = {
  73     {  0,    0, "Auto", -1},
  74     {  1,   50,   "50", -1},
  75     {  2,  100,  "100", -1},
  76     {  3,  200,  "200", -1},
  77     {  4,  400,  "400", -1},
  78     {  5,  800,  "800", -1},
  79 };          
  80 
  81 /*
  82 canon modemap @FF973AD4 in 100a
  83 according to http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&fcategoryid=224&modelid=12956#ModelTechSpecsAct
  84 Shooting Modes
  85     Auto, Camera M, Portrait, 
  86     Special Scene
  87         Foliage, Snow, Beach, Fireworks, Underwater, Indoor,
  88         Kids & Pets, Color Accent, Color Swap,
  89     Night Snapshot, Digital Macro, My Colors, Stitch Assist, Movie
  90 
  91 Movie: 640 x 480 / 320 x 240 (30 fps/15 fps) available up to 1GB or 1 hour for each file size, 320 x 240 (1 min. at 60 fps), 160 x 120 (3 min. at 15 fps)
  92 */
  93 /* names below mostly guessed from a540 and ixus60_sd600 */
  94 const CapturemodeMap modemap[] = {
  95     // common, should be OK
  96     { MODE_P,                  32772 }, // may be called manual, but effectively P
  97     { MODE_AUTO,               32768 },
  98     { MODE_PORTRAIT,           32781 },
  99     { MODE_STITCH,             33290 },
 100 
 101     // the following match a540 and ixus60
 102     { MODE_KIDS_PETS,          16399 }, // "kids and pets"
 103     { MODE_INDOOR,             16400 }, // "indoor"
 104     { MODE_FOLIAGE,            16401 }, // "foliage"
 105     { MODE_SNOW,               16402 }, // "snow"
 106     { MODE_BEACH,              16403 }, // "beach"
 107     { MODE_FIREWORK,           16404 }, // "fireworks"
 108     { MODE_UNDERWATER,         16405 }, // "under water"
 109     { MODE_COLOR_ACCENT,       16920 }, // "color accent"
 110     { MODE_COLOR_SWAP,         16921 }, // "color swap"
 111 
 112     { MODE_DIGITAL_MACRO,      33288 }, // ixus60
 113     { MODE_NIGHT_SNAPSHOT,     32779 }, // ixus60
 114     { MODE_LONG_SHUTTER,       32774 }, // guessed
 115 
 116     // guessed, match a540 and ixus60
 117     { MODE_VIDEO_STD,          2593  },
 118     { MODE_VIDEO_SPEED,        2594  },
 119     { MODE_VIDEO_COMPACT,      2595  },
 120     { MODE_VIDEO_COLOR_ACCENT, 2591  },
 121     { MODE_VIDEO_COLOR_SWAP,   2592  },
 122 };
 123 
 124 #include "../generic/shooting.c"
 125 
 126 long get_file_next_counter() {
 127     return ((get_file_counter()>>4)+1)<<4;
 128 }
 129 
 130 long get_target_file_num() {
 131     long n;
 132     
 133     n = get_file_next_counter();
 134     n = (n>>4)&0x3FFF;
 135     return n;
 136 }
 137 
 138 long get_target_dir_num() {
 139     long n;
 140     
 141     n = get_file_next_counter();
 142     n = (n>>18)&0x3FF;
 143     if (get_target_file_num()%100 == 1) ++n;
 144     return n;
 145 }
 146 
 147 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}

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