source: trunk/platform/a720/shooting.c @ 2798

Revision 1632, 4.1 KB checked in by philmoz, 16 months ago (diff)

Move code from platform/generic/shooting.c to core/shooting.c (new file). This means that all the shooting code, which was not platform specific, is now compiled as 'thumb' rather than 'arm' code. This saves approx 4.5K off the core CHDK size. Also includes a re-org of the functions into groups, and cleanup of other code to call functions in shooting.c.

  • Property svn:eol-style set to native
Line 
1#define PARAM_FILE_COUNTER      0x38
2
3// DRYOS-Notes:
4// propertycase
5//   196 - overall brightness (of viewport?)
6
7#include "platform.h"
8
9const ApertureSize aperture_sizes_table[] = {
10    {  9, 283, "2.8" },
11    { 10, 320, "3.2" },
12    { 11, 352, "3.5" },
13    { 12, 384, "4.0" },
14    { 13, 416, "4.5" },
15    { 14, 448, "5.0" },
16    { 15, 480, "5.6" },
17    { 16, 512, "6.3" },
18    { 17, 544, "7.1" },
19    { 18, 576, "8.0" },
20};
21
22const 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};
70
71const 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};         
81
82/*
83http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&fcategoryid=221&modelid=15657#ModelTechSpecsAct
84
85Shooting Modes
86        Auto, P, Av, Tv, M, Portrait, Landscape,
87        Special Scene
88                (Foliage, Snow, Beach, Fireworks, Night Scene, Aquarium, Underwater),
89        Indoor, Kids & Pets, Night Snapshot, Stitch Assist, Movie
90Movie: 640 x 480 (30 fps/30 fps LP), 320 x 240 (30 fps) available up to 4GB or 60 minutes, 160 x 120 (3 minutes at 15 fps)
91
92canon mode list in FFE7CFFC 100c
93*/
94const CapturemodeMap modemap[] = {
95    { MODE_AUTO,               32768 },
96    { MODE_P,                  32772 },
97    { MODE_TV,                 32771 },
98    { MODE_AV,                 32770 },
99    { MODE_M,                  32769 },
100    { MODE_VIDEO_STD,          2597  },
101    { MODE_VIDEO_COMPACT,      2599  },
102    { MODE_STITCH,             33290 },
103    { MODE_SCN_UNDERWATER,     16406 }, 
104    { MODE_SCN_AQUARIUM,       16407 }, 
105    { MODE_SCN_NIGHT_SCENE,    16398 }, 
106    { MODE_SCN_FOLIAGE,        16402 },   
107    { MODE_SCN_SNOW,           16403 }, 
108    { MODE_SCN_BEACH,          16404 }, 
109    { MODE_SCN_FIREWORK,       16405 }, 
110    { MODE_INDOOR,             32785 },
111    { MODE_KIDS_PETS,          32784 },
112    { MODE_NIGHT_SNAPSHOT,     32779 },
113    { MODE_LANDSCAPE,          32780 },
114    { MODE_PORTRAIT,           32781 },
115};
116
117#include "../generic/shooting.c"
118
119const int dof_tbl[] = {5800, 6420, 7060, 7700, 8340, 9950, 11550, 13160, 14750, 17150, 19570, 22760, 26750, 30750, 34800};
120const int dof_tbl_size = sizeof(dof_tbl)/sizeof(dof_tbl[0]);
121
122long get_file_next_counter() {
123    return get_file_counter();
124}
125
126long get_target_file_num() {
127    long n;
128   
129    n = get_file_next_counter();
130    n = (n>>4)&0x3FFF;
131    return n;
132}
133
134long get_target_dir_num() {
135    long n;
136   
137    n = get_file_next_counter();
138    n = (n>>18)&0x3FF;
139    return n;
140}
141
142int circle_of_confusion = 5;
Note: See TracBrowser for help on using the repository browser.