libopenraw
consts.h
1 /*
2  * libopenraw - consts.h
3  *
4  * Copyright (c) 2008 Novell, Inc.
5  * Copyright (C) 2005-2010 Hubert Figuiere
6  *
7  * This library is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public License
9  * as published by the Free Software Foundation, either version 3 of
10  * the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library. If not, see
19  * <http://www.gnu.org/licenses/>.
20  */
26 #ifndef __LIBOPENRAW_CONSTS_H__
27 #define __LIBOPENRAW_CONSTS_H__
28 
29 #include <stdint.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 
39  typedef enum {
40  OR_ERROR_NONE = 0,
41  OR_ERROR_BUF_TOO_SMALL = 1,
42  OR_ERROR_NOTAREF = 2,
43  OR_ERROR_CANT_OPEN = 3,
44  OR_ERROR_CLOSED_STREAM = 4,
45  OR_ERROR_NOT_FOUND = 5,
46  OR_ERROR_INVALID_PARAM = 6,
47  OR_ERROR_INVALID_FORMAT = 7,
48  OR_ERROR_UNKNOWN = 42,
49  OR_ERROR_LAST_
50  } or_error;
51 
52 
55  typedef enum {
56  OR_RAWFILE_TYPE_UNKNOWN = 0,
57  OR_RAWFILE_TYPE_CR2,
58  OR_RAWFILE_TYPE_CRW,
59  OR_RAWFILE_TYPE_NEF,
60  OR_RAWFILE_TYPE_MRW,
61  OR_RAWFILE_TYPE_ARW,
62  OR_RAWFILE_TYPE_DNG,
63  OR_RAWFILE_TYPE_ORF,
64  OR_RAWFILE_TYPE_PEF,
65  OR_RAWFILE_TYPE_ERF,
66  OR_RAWFILE_TYPE_TIFF
67  } or_rawfile_type;
68 
69  typedef enum {
70  OR_DATA_TYPE_NONE = 0,
71  OR_DATA_TYPE_PIXMAP_8RGB,
72  OR_DATA_TYPE_JPEG,
73  OR_DATA_TYPE_TIFF,
74  OR_DATA_TYPE_PNG,
75  OR_DATA_TYPE_CFA,
76  OR_DATA_TYPE_COMPRESSED_CFA,
78  OR_DATA_TYPE_UNKNOWN
79  } or_data_type;
80 
81  typedef enum {
82  OR_CFA_PATTERN_NONE = 0,
83  OR_CFA_PATTERN_NON_RGB22 = 1,
84  OR_CFA_PATTERN_RGGB = 2,
85  OR_CFA_PATTERN_GBRG = 3,
86  OR_CFA_PATTERN_BGGR = 4,
87  OR_CFA_PATTERN_GRBG = 5
88  } or_cfa_pattern;
89 
90  typedef enum {
91  OR_OPTIONS_NONE = 0x00000000,
92  OR_OPTIONS_DONT_DECOMPRESS = 0x00000001
94  } or_options;
95 
96 
97 
101  typedef uint32_t or_rawfile_typeid;
102 
104  #define OR_MAKE_FILE_TYPEID(vendor,camera) ((vendor << 16) | (camera & 0xffff))
105 
106  #define OR_GET_FILE_TYPEID_VENDOR(ftypeid) ((ftypeid & 0xffff0000) >> 16)
107 
108  #define OR_GET_FILE_TYPEID_CAMERA(ftypeid) (ftypeid & 0xffff)
109 
112  enum {
113  OR_TYPEID_VENDOR_NONE = 0,
114  OR_TYPEID_VENDOR_CANON = 1,
115  OR_TYPEID_VENDOR_NIKON = 2,
116  OR_TYPEID_VENDOR_LEICA = 3,
117  OR_TYPEID_VENDOR_PENTAX = 4,
118  OR_TYPEID_VENDOR_EPSON = 5,
119  OR_TYPEID_VENDOR_MINOLTA = 6,
120  OR_TYPEID_VENDOR_OLYMPUS = 7,
121  OR_TYPEID_VENDOR_SONY = 8,
122  OR_TYPEID_VENDOR_SAMSUNG = 9,
123  OR_TYPEID_VENDOR_RICOH = 10,
124  OR_TYPEID_VENDOR_PANASONIC = 11,
125  OR_TYPEID_VENDOR_MAMIYA = 12,
126  /* not really a camera vendor. For the converter. */
127  OR_TYPEID_VENDOR_ADOBE = 13,
128  _OR_TYPEID_VENDOR_LAST
129  };
130 
131  enum {
132  OR_TYPEID_UNKNOWN = 0
133  };
134 
135  enum {
136  OR_TYPEID_ADOBE_UNKNOWN = 0,
137  OR_TYPEID_ADOBE_DNG_GENERIC = 1,
138  _OR_TYPEID_ADOBE_LAST
139  };
140 
142  enum {
143  OR_TYPEID_CANON_UNKNOWN = 0,
144  OR_TYPEID_CANON_20D,
145  OR_TYPEID_CANON_30D,
146  OR_TYPEID_CANON_40D,
147  OR_TYPEID_CANON_350D,
148  OR_TYPEID_CANON_400D,
149  OR_TYPEID_CANON_450D,
150  OR_TYPEID_CANON_5D,
151  OR_TYPEID_CANON_1D,
152  OR_TYPEID_CANON_1DMKII,
153  OR_TYPEID_CANON_1DMKIII,
154  OR_TYPEID_CANON_1DS,
155  OR_TYPEID_CANON_1DSMKII,
156  OR_TYPEID_CANON_1DSMKIII,
157  OR_TYPEID_CANON_300D,
158  OR_TYPEID_CANON_D30,
159  OR_TYPEID_CANON_D60,
160  OR_TYPEID_CANON_10D,
161  OR_TYPEID_CANON_PRO1,
162  OR_TYPEID_CANON_G1,
163  OR_TYPEID_CANON_G2,
164  OR_TYPEID_CANON_G3,
165  OR_TYPEID_CANON_G5,
166  OR_TYPEID_CANON_G6,
167  OR_TYPEID_CANON_G7,
168  OR_TYPEID_CANON_G9,
169  OR_TYPEID_CANON_A610,
170  OR_TYPEID_CANON_20DA,
171  OR_TYPEID_CANON_7D,
172  OR_TYPEID_CANON_G11,
173  OR_TYPEID_CANON_1DMKIV,
174  OR_TYPEID_CANON_500D,
175  OR_TYPEID_CANON_5DMKII,
176  OR_TYPEID_CANON_550D,
177  OR_TYPEID_CANON_1000D,
178  OR_TYPEID_CANON_G10,
179  OR_TYPEID_CANON_50D,
180  OR_TYPEID_CANON_60D,
181  _OR_TYPEID_CANON_LAST
182  };
183 
184 
186  enum {
187  OR_TYPEID_NIKON_UNKNOWN = 0,
188  OR_TYPEID_NIKON_COOLPIX_5700 ,
189  OR_TYPEID_NIKON_D1,
190  OR_TYPEID_NIKON_D1X,
191  OR_TYPEID_NIKON_D100,
192  OR_TYPEID_NIKON_D2H,
193  OR_TYPEID_NIKON_D2X,
194  OR_TYPEID_NIKON_D200,
195  OR_TYPEID_NIKON_D3,
196  OR_TYPEID_NIKON_D300,
197  OR_TYPEID_NIKON_D40,
198  OR_TYPEID_NIKON_D40X,
199  OR_TYPEID_NIKON_D50,
200  OR_TYPEID_NIKON_D70,
201  OR_TYPEID_NIKON_D70S,
202  OR_TYPEID_NIKON_D80,
203  OR_TYPEID_NIKON_D3000,
204  _OR_TYPEID_NIKON_LAST
205  };
206 
208  enum {
209  OR_TYPEID_LEICA_UNKNOWN = 0,
210  OR_TYPEID_LEICA_DMR = 1,
211  OR_TYPEID_LEICA_M8 = 2,
212  OR_TYPEID_LEICA_X1 = 3,
213  _OR_TYPEID_LEICA_LAST
214  };
215 
217  enum {
218  OR_TYPEID_PENTAX_UNKNOWN = 0,
219  OR_TYPEID_PENTAX_K10D_PEF,
220  OR_TYPEID_PENTAX_K10D_DNG,
221  OR_TYPEID_PENTAX_IST_D,
222  OR_TYPEID_PENTAX_IST_DL,
223  OR_TYPEID_PENTAX_K100D_PEF,
224  OR_TYPEID_PENTAX_K100D_SUPER_PEF,
225  OR_TYPEID_PENTAX_K20D_PEF
226  };
227 
229  enum {
230  OR_TYPEID_EPSON_UNKNOWN = 0,
231  OR_TYPEID_EPSON_RD1
232  };
233 
235  enum {
236  OR_TYPEID_MINOLTA_UNKNOWN = 0,
237  OR_TYPEID_MINOLTA_A1,
238  OR_TYPEID_MINOLTA_A2,
239  OR_TYPEID_MINOLTA_DIMAGE5,
240  OR_TYPEID_MINOLTA_DIMAGE7,
241  OR_TYPEID_MINOLTA_DIMAGE7I,
242  OR_TYPEID_MINOLTA_DIMAGE7HI,
243  OR_TYPEID_MINOLTA_MAXXUM_5D,
244  OR_TYPEID_MINOLTA_MAXXUM_7D,
245  OR_TYPEID_MINOLTA_A200
246  };
247 
248  enum {
249  OR_TYPEID_OLYMPUS_UNKNOWN = 0,
250  OR_TYPEID_OLYMPUS_E1,
251  OR_TYPEID_OLYMPUS_E10,
252  OR_TYPEID_OLYMPUS_E3,
253  OR_TYPEID_OLYMPUS_E300,
254  OR_TYPEID_OLYMPUS_E330,
255  OR_TYPEID_OLYMPUS_E400,
256  OR_TYPEID_OLYMPUS_E410,
257  OR_TYPEID_OLYMPUS_E500,
258  OR_TYPEID_OLYMPUS_E510,
259  OR_TYPEID_OLYMPUS_SP350,
260  OR_TYPEID_OLYMPUS_SP510,
261  OR_TYPEID_OLYMPUS_SP550,
262  OR_TYPEID_OLYMPUS_SP500,
263  OR_TYPEID_OLYMPUS_EP1,
264  OR_TYPEID_OLYMPUS_E620
265  };
266 
267  enum {
268  OR_TYPEID_SAMSUNG_UNKNOWN = 0,
269  OR_TYPEID_SAMSUNG_GX10,
270  OR_TYPEID_SAMSUNG_PRO815
271  };
272 
273 
274  enum {
275  OR_TYPEID_RICOH_UNKNOWN = 0,
276  OR_TYPEID_RICOH_GR2 = 1,
277  OR_TYPEID_RICOH_GXR = 2,
278  _OR_TYPEID_RICOH_LAST
279  };
280 
281  enum {
282  OR_TYPEID_SONY_UNKNOWN = 0,
283  OR_TYPEID_SONY_A100,
284  OR_TYPEID_SONY_A200,
285  OR_TYPEID_SONY_A700,
286  OR_TYPEID_SONY_A550,
287  _OR_TYPEID_SONY_LAST
288  };
289 
290 #ifdef __cplusplus
291 }
292 #endif
293 
294 #endif