1 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
2 /*          EXIFPROBE - TIFF/JPEG/EXIF image file probe               */
3 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
4 /* Copyright (C) 2002 by Duane H. Hesser. All rights reserved.        */
5 /*                                                                    */
6 /* See the file LICENSE.EXIFPROBE for terms of use.                   */
7 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
8 
9 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
10 /* @(#) $Id: maker.h,v 1.18 2005/07/24 21:17:17 alex Exp $" */
11 /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
12 
13 /* General definitions for makernotes                                 */
14 
15 #ifndef MAKER_INCLUDED
16 #define MAKER_INCLUDED
17 
18 #define MAX_IDLEN   24      /* max makernote id length to look for    */
19 #define MAKERTAGWIDTH    25
20 
21 #define UNKNOWN_SCHEME                  0x0
22 #define PLAIN_IFD_SCHEME                0x1
23 #define HAS_ID_SCHEME                   0x2
24 #define HAS_ID_PLUS_TIFFHDR_SCHEME      0x4
25 
26 /* offset values relative to...                                       */
27 #define START_OF_TIFFHEADER   0
28 #define START_OF_NOTE         1
29 #define START_OF_ENTRY        2
30 
31 /* Magic numbers for maker                                            */
32 /* ###%%% these should go into maker-specific includes                */
33 
34 #define NO_MAKE             0
35 #define NO_MODEL            0
36 #define MAKER_AGFA          1
37 #define MAKER_ASAHI         2
38 #define MAKER_CANON         3
39 #define MAKER_CASIO         4
40 #define MAKER_KODAK         5
41 #define MAKER_FUJIFILM      6
42 #define MAKER_HP            7
43 #define MAKER_MINOLTA       8
44 #define MAKER_KONICA        9
45 #define MAKER_KYOCERA       10
46 #define MAKER_LEICA         11
47 #define MAKER_NIKON         12
48 #define MAKER_OLYMPUS       13
49 #define MAKER_PANASONIC     14
50 #define MAKER_PENTAX        15
51 #define MAKER_RICOH         16
52 #define MAKER_SANYO         17
53 #define MAKER_EPSON         18
54 #define MAKER_SIGMA         19
55 #define MAKER_SONY          20
56 #define MAKER_TOSHIBA       21
57 #define MAKER_TRAVELER      22
58 
59 /* Agfa model magic                                                   */
60 #define AGFA_SR841          1
61 
62 /* Canon model magic                                                  */
63 #define CANON_IXUS              1
64 #define CANON_EOS1D             2
65 #define CANON_EOS1DMARKII       3
66 #define CANON_EOS1DS            4
67 #define CANON_EOS1DSMARKII      5
68 #define CANON_EOS10D            6
69 #define CANON_EOS20D            7
70 #define CANON_EOSD30            8
71 #define CANON_EOSD60            9
72 #define CANON_EOS350            10
73 #define CANON_EOSDIGITALREBEL   11
74 #define CANON_POWERSHOT_A1      12
75 #define CANON_POWERSHOT_A400    13
76 #define CANON_POWERSHOT_A5      14
77 #define CANON_POWERSHOT_G2      15
78 #define CANON_POWERSHOT_PRO1    16
79 #define CANON_POWERSHOT_S70     17
80 
81 /* Casio model magic                                                  */
82 #define CASIO_QV2000UX      1
83 #define CASIO_QV3000EX      2
84 #define CASIO_QV4000        3
85 #define CASIO_QV8000SX      4
86 #define CASIO_QVR51         5
87 #define CASIO_EX_P505       6
88 #define CASIO_EX_P600       7
89 #define CASIO_EX_P700       8
90 #define CASIO_EX_S100       9
91 #define CASIO_EX_Z55        10
92 #define CASIO_GV_20         11
93 
94 /* Eastman Kodak                                                      */
95 #define KODAK_DC200         1
96 #define KODAK_DC210         2
97 #define KODAK_DCS720X       3
98 #define KODAK_DCS760C       4
99 #define KODAK_DK120         5
100 #define KODAK_DC240         6
101 #define KODAK_DC4800        7
102 #define KODAK_DC25          8
103 #define KODAK_LS443         9
104 #define KODAK_DC50          10
105 
106 /* Epson model magic                                                  */
107 #define EPSON_850Z          1
108 #define EPSON_3000Z         2
109 #define EPSON_3100Z         3
110 #define EPSON_L500V         4
111 
112 /* Fujifilm model magic                                               */
113 #define FUJI_DX10           1   /* No makernote                       */
114 #define FUJI_FP_A204        2
115 #define FUJI_40i            3
116 #define FUJI_4900ZOOM       4
117 #define FUJI_E550           5
118 #define FUJI_F601ZOOM       6
119 #define FUJI_S1PRO          7   /* No makernote                       */
120 #define FUJI_S2PRO          8
121 #define FUJI_S20PRO         9
122 #define FUJI_S5000          10
123 #define FUJI_MX1700ZOOM     11  /* No makernote                       */
124 #define FUJI_SP2000         12
125 
126 
127 /* HP model magic                                                     */
128 #define HP_C912             1
129 #define HP_R707             2
130 
131 /* Konica model magic                                                */
132 #define KONICA_QM100        1
133 #define KONICA_KD400Z       2
134 
135 /* Kyocera model magic                                                */
136 #define KYOCERA_FCS3        1
137 #define KYOCERA_FINECAMS5   2
138 
139 /* Leica model magic                                                  */
140 #define LEICA_DIGILUX2      1
141 #define LEICA_DIGILUX43     2   /* Identical to FUJI                  */
142 #define LEICA_R9_DB_DMR     3   /* Digital back                       */
143 
144 /* Minolta model magic                                                */
145 #define MINOLTA_DIMAGE5     1
146 #define MINOLTA_DIMAGE7     2
147 #define MINOLTA_DIMAGE7Hi   3
148 #define MINOLTA_DIMAGE7i    4
149 #define MINOLTA_DIMAGEA1    5
150 #define MINOLTA_DIMAGEA2    6
151 #define MINOLTA_DIMAGEA200  7
152 #define MINOLTA_DIMAGEEX    8
153 #define MINOLTA_DIMAGEF100  9
154 #define MINOLTA_DIMAGEF200  10
155 #define MINOLTA_DIMAGEF300  11
156 #define MINOLTA_DIMAGES404  12
157 #define MINOLTA_DIMAGES414  13
158 #define MINOLTA_DIMAGEX     14
159 #define MINOLTA_DIMAGEX20   15
160 #define MINOLTA_DYNAX7D     16
161 #define MINOLTA_MAXXUM7D    17
162 
163 /* Nikon Model magic                                                  */
164 #define NIKON_700           1
165 #define NIKON_775           2
166 #define NIKON_800           3
167 #define NIKON_885           4
168 #define NIKON_900           5
169 #define NIKON_950           6
170 #define NIKON_990           7
171 #define NIKON_995           8
172 #define NIKON_3700          9
173 #define NIKON_5000          10
174 #define NIKON_5200          11
175 #define NIKON_5700          12
176 #define NIKON_8700          13
177 #define NIKON_8800          14
178 #define NIKON_D1            15
179 #define NIKON_D1X           16
180 #define NIKON_D70           17
181 #define NIKON_D100          18
182 #define NIKON_D2H           19
183 #define NIKON_D2X           20
184 #define NIKON_SQ            21
185 
186 /* Olympus model magic                                                */
187 #define OLYMPUS_700UZ       1
188 #define OLYMPUS_C70ZC7000Z  2
189 #define OLYMPUS_960Z        3
190 #define OLYMPUS_2040Z       4
191 #define OLYMPUS_C2500L      5
192 #define OLYMPUS_3030Z       6
193 #define OLYMPUS_3040Z       7
194 #define OLYMPUS_C8080WZ     8
195 #define OLYMPUS_E_1         9
196 #define OLYMPUS_E_300       10
197 #define OLYMPUS_u40D        11
198 
199 /* Asahi/Pentax model magic                                           */
200 #define ASAHI_PENTAX330     1
201 #define ASAHI_PENTAX330RS   2
202 #define ASAHI_PENTAX430     3
203 #define ASAHI_PENTAX430RS   4
204 #define PENTAX_OPTIO550     5
205 #define PENTAX_OPTIO750Z    6
206 #define PENTAX_OPTIOS       7
207 #define PENTAX_OPTIOS5i     8
208 #define PENTAX_STARIST_D    9
209 #define PENTAX_STARIST_DS   10
210 
211 /* Panasonic model magic                                              */
212 #define PANASONIC_DMCFX7    1
213 #define PANASONIC_DMCFZ1    2
214 #define PANASONIC_DMCFZ2    3
215 #define PANASONIC_DMCFZ3    4
216 #define PANASONIC_DMCFZ10   5
217 #define PANASONIC_DMCFZ15   6
218 #define PANASONIC_DMCFZ20   7
219 #define PANASONIC_DMCLC5    8
220 #define PANASONIC_DMCLC33   9
221 #define PANASONIC_DMCLC40   10
222 #define PANASONIC_DMCLC43   11
223 
224 /* Ricoh model magic                                                  */
225 #define RICOH_RDC5300       1
226 #define RICOH_RDC6000       2
227 
228 /* Sanyo model magic                                                  */
229 #define SANYO_SR6           1
230 #define SANYO_SX113         2
231 #define SANYO_SX215         3
232 
233 /* Sigma model magic                                                  */
234 #define SIGMA_SD9           1
235 #define SIGMA_SD10          2
236 
237 /* Sony model magic                                                   */
238 #define SONY_CYBERSHOT      1
239 #define SONY_DIGITALMAVICA  2
240 #define SONY_DSCD700        3
241 #define SONY_DSCV3          4
242 #define SONY_MAVICA         5
243 
244 /* Toshiba model magic                                                */
245 #define TOSHIBA_PDR_3300    1
246 
247 /* Traveler model magic                                               */
248 #define TRAVELER_SX330Z     1
249 
250 #endif
251