source: trunk/platform/a800/shooting.c @ 1723

Revision 1723, 3.5 KB checked in by reyalp, 2 years ago (diff)

a800 100a port from mland, patch by waterwings in http://chdk.setepontos.com/index.php?topic=650.msg81174#msg81174

  • Property svn:eol-style set to native
Line 
1#define PARAM_FILE_COUNTER      0x3B
2#define PARAM_EXPOSURE_COUNTER  0x02
3
4#include "platform.h"
5
6const ApertureSize aperture_sizes_table[] = {
7    {  9, 294, "3.0" },
8    { 10, 320, "3.2" },
9    { 11, 352, "3.5" },
10    { 12, 384, "4.0" },
11    { 13, 416, "4.5" },
12    { 14, 448, "5.8" },
13};
14
15const ShutterSpeed shutter_speeds_table[] = {
16    { -12, -384, "15", 15000000 },
17    { -11, -352, "13", 13000000 },
18    { -10, -320, "10", 10000000 },
19    {  -9, -288, "8",   8000000 },
20    {  -8, -256, "6",   6000000 },
21    {  -7, -224, "5",   5000000 },
22    {  -6, -192, "4",   4000000 },
23    {  -5, -160, "3.2", 3200000 },
24    {  -4, -128, "2.5", 2500000 },
25    {  -3,  -96, "2",   2000000 },
26    {  -2,  -64, "1.6", 1600000 },
27    {  -1,  -32, "1.3", 1300000 },
28    {   0,    0, "1",   1000000 },
29    {   1,   32, "0.8",  800000 },
30    {   2,   64, "0.6",  600000 },
31    {   3,   96, "0.5",  500000 },
32    {   4,  128, "0.4",  400000 },
33    {   5,  160, "0.3",  300000 },
34    {   6,  192, "1/4",  250000 },
35    {   7,  224, "1/5",  200000 },
36    {   8,  256, "1/6",  166667 },
37    {   9,  288, "1/8",  125000 },
38    {  10,  320, "1/10", 100000 },
39    {  11,  352, "1/13",  76923 },
40    {  12,  384, "1/15",  66667 },
41    {  13,  416, "1/20",  50000 },
42    {  14,  448, "1/25",  40000 },
43    {  15,  480, "1/30",  33333 },
44    {  16,  512, "1/40",  25000 },
45    {  17,  544, "1/50",  20000 },
46    {  18,  576, "1/60",  16667 },
47    {  19,  608, "1/80",  12500 },
48    {  20,  640, "1/100", 10000 },
49    {  21,  672, "1/125",  8000 },
50    {  22,  704, "1/160",  6250 },
51    {  23,  736, "1/200",  5000 },
52    {  24,  768, "1/250",  4000 },
53    {  25,  800, "1/320",  3125 },
54    {  26,  832, "1/400",  2500 },
55    {  27,  864, "1/500",  2000 },
56    {  28,  896, "1/640",  1563 },
57    {  29,  928, "1/800",  1250 },
58    {  30,  960, "1/1000", 1000 },
59    {  31,  992, "1/1250",  800 },
60    {  32, 1024, "1/1600",  625 },
61    {  33, 1056, "1/2000",  500 },
62    {  34, 1088, "1/2500",  400 },
63    {  35, 1120, "1/3200",  313 },
64};
65
66const ISOTable iso_table[] = {
67    {  0,    0, "Auto", -1},
68    {  1,  100,  "100", -1},
69    {  2,  200,  "200", -1},
70    {  3,  400,  "400", -1},
71    {  4,  800,  "800", -1},
72    {  5, 1600, "1600", -1},
73};         
74
75//static const CapturemodeMap modemap[] = {
76const CapturemodeMap modemap[] = {
77    { MODE_AUTO,                32768  },
78    { MODE_P,                   32772  },
79
80    { MODE_VIDEO_STD,           2618   },
81
82    { MODE_BLUR_REDUCTION,      16435  },
83    { MODE_SCN_PORTRAIT,        16399  },
84    { MODE_SCN_KIDS_PETS,       16402  },
85    { MODE_SCN_FACE_SELF_TIMER, 16936  },
86    { MODE_SCN_LOWLIGHT,        16417  },
87    { MODE_SUPER_VIVID,                 16934  },
88    { MODE_POSTER_EFFECT,               16935  },
89    { MODE_BEACH,                       16407  },
90    { MODE_FOLIAGE,                     16405  },
91    { MODE_SNOW,                        16406  },
92    { MODE_SCN_SUNSET,          16404  },
93    { MODE_FIREWORK,                    16408  },
94    { MODE_SCN_LONG_SHUTTER,    16390  },
95 };
96
97#include "../generic/shooting.c"
98
99long get_file_next_counter() {
100    return get_file_counter();
101}
102
103long get_target_file_num() {
104    long n;
105
106    n = get_file_next_counter();
107    n = (n>>4)&0x3FFF;
108    return n;
109}
110
111#if defined(CAM_DATE_FOLDER_NAMING)
112void get_target_dir_name(char *out) {
113    extern void _GetImageFolder(char*,int,int,int);
114    out[0] = 'A';
115    _GetImageFolder(out+1,get_file_next_counter(),CAM_DATE_FOLDER_NAMING,time(NULL));
116    out[15] = '\0';
117}
118#else
119long get_target_dir_num() {
120    long n;
121
122    n = get_file_next_counter();
123    n = (n>>18)&0x3FF;
124    return n;
125}
126#endif
127
128int circle_of_confusion = 5;
Note: See TracBrowser for help on using the repository browser.