libopenraw
|
00001 /* 00002 * libopenraw - consts.h 00003 * 00004 * Copyright (c) 2008 Novell, Inc. 00005 * Copyright (C) 2005-2010 Hubert Figuiere 00006 * 00007 * This library is free software: you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public License 00009 * as published by the Free Software Foundation, either version 3 of 00010 * the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library. If not, see 00019 * <http://www.gnu.org/licenses/>. 00020 */ 00026 #ifndef __LIBOPENRAW_CONSTS_H__ 00027 #define __LIBOPENRAW_CONSTS_H__ 00028 00029 #include <stdint.h> 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 00039 typedef enum { 00040 OR_ERROR_NONE = 0, 00041 OR_ERROR_BUF_TOO_SMALL = 1, 00042 OR_ERROR_NOTAREF = 2, 00043 OR_ERROR_CANT_OPEN = 3, 00044 OR_ERROR_CLOSED_STREAM = 4, 00045 OR_ERROR_NOT_FOUND = 5, 00046 OR_ERROR_INVALID_PARAM = 6, 00047 OR_ERROR_INVALID_FORMAT = 7, 00048 OR_ERROR_UNKNOWN = 42, 00049 OR_ERROR_LAST_ 00050 } or_error; 00051 00052 00055 typedef enum { 00056 OR_RAWFILE_TYPE_UNKNOWN = 0, 00057 OR_RAWFILE_TYPE_CR2, 00058 OR_RAWFILE_TYPE_CRW, 00059 OR_RAWFILE_TYPE_NEF, 00060 OR_RAWFILE_TYPE_MRW, 00061 OR_RAWFILE_TYPE_ARW, 00062 OR_RAWFILE_TYPE_DNG, 00063 OR_RAWFILE_TYPE_ORF, 00064 OR_RAWFILE_TYPE_PEF, 00065 OR_RAWFILE_TYPE_ERF, 00066 OR_RAWFILE_TYPE_TIFF 00067 } or_rawfile_type; 00068 00069 typedef enum { 00070 OR_DATA_TYPE_NONE = 0, 00071 OR_DATA_TYPE_PIXMAP_8RGB, 00072 OR_DATA_TYPE_JPEG, 00073 OR_DATA_TYPE_TIFF, 00074 OR_DATA_TYPE_PNG, 00075 OR_DATA_TYPE_CFA, 00076 OR_DATA_TYPE_COMPRESSED_CFA, 00078 OR_DATA_TYPE_UNKNOWN 00079 } or_data_type; 00080 00081 typedef enum { 00082 OR_CFA_PATTERN_NONE = 0, 00083 OR_CFA_PATTERN_NON_RGB22 = 1, 00084 OR_CFA_PATTERN_RGGB = 2, 00085 OR_CFA_PATTERN_GBRG = 3, 00086 OR_CFA_PATTERN_BGGR = 4, 00087 OR_CFA_PATTERN_GRBG = 5 00088 } or_cfa_pattern; 00089 00090 typedef enum { 00091 OR_OPTIONS_NONE = 0x00000000, 00092 OR_OPTIONS_DONT_DECOMPRESS = 0x00000001 00094 } or_options; 00095 00096 00097 00101 typedef uint32_t or_rawfile_typeid; 00102 00104 #define OR_MAKE_FILE_TYPEID(vendor,camera) ((vendor << 16) | (camera & 0xffff)) 00105 00106 #define OR_GET_FILE_TYPEID_VENDOR(ftypeid) ((ftypeid & 0xffff0000) >> 16) 00107 00108 #define OR_GET_FILE_TYPEID_CAMERA(ftypeid) (ftypeid & 0xffff) 00109 00112 enum { 00113 OR_TYPEID_VENDOR_NONE = 0, 00114 OR_TYPEID_VENDOR_CANON = 1, 00115 OR_TYPEID_VENDOR_NIKON = 2, 00116 OR_TYPEID_VENDOR_LEICA = 3, 00117 OR_TYPEID_VENDOR_PENTAX = 4, 00118 OR_TYPEID_VENDOR_EPSON = 5, 00119 OR_TYPEID_VENDOR_MINOLTA = 6, 00120 OR_TYPEID_VENDOR_OLYMPUS = 7, 00121 OR_TYPEID_VENDOR_SONY = 8, 00122 OR_TYPEID_VENDOR_SAMSUNG = 9, 00123 OR_TYPEID_VENDOR_RICOH = 10, 00124 OR_TYPEID_VENDOR_PANASONIC = 11, 00125 OR_TYPEID_VENDOR_MAMIYA = 12, 00126 /* not really a camera vendor. For the converter. */ 00127 OR_TYPEID_VENDOR_ADOBE = 13, 00128 _OR_TYPEID_VENDOR_LAST 00129 }; 00130 00131 enum { 00132 OR_TYPEID_UNKNOWN = 0 00133 }; 00134 00135 enum { 00136 OR_TYPEID_ADOBE_UNKNOWN = 0, 00137 OR_TYPEID_ADOBE_DNG_GENERIC = 1, 00138 _OR_TYPEID_ADOBE_LAST 00139 }; 00140 00142 enum { 00143 OR_TYPEID_CANON_UNKNOWN = 0, 00144 OR_TYPEID_CANON_20D, 00145 OR_TYPEID_CANON_30D, 00146 OR_TYPEID_CANON_40D, 00147 OR_TYPEID_CANON_350D, 00148 OR_TYPEID_CANON_400D, 00149 OR_TYPEID_CANON_450D, 00150 OR_TYPEID_CANON_5D, 00151 OR_TYPEID_CANON_1D, 00152 OR_TYPEID_CANON_1DMKII, 00153 OR_TYPEID_CANON_1DMKIII, 00154 OR_TYPEID_CANON_1DS, 00155 OR_TYPEID_CANON_1DSMKII, 00156 OR_TYPEID_CANON_1DSMKIII, 00157 OR_TYPEID_CANON_300D, 00158 OR_TYPEID_CANON_D30, 00159 OR_TYPEID_CANON_D60, 00160 OR_TYPEID_CANON_10D, 00161 OR_TYPEID_CANON_PRO1, 00162 OR_TYPEID_CANON_G1, 00163 OR_TYPEID_CANON_G2, 00164 OR_TYPEID_CANON_G3, 00165 OR_TYPEID_CANON_G5, 00166 OR_TYPEID_CANON_G6, 00167 OR_TYPEID_CANON_G7, 00168 OR_TYPEID_CANON_G9, 00169 OR_TYPEID_CANON_A610, 00170 OR_TYPEID_CANON_20DA, 00171 OR_TYPEID_CANON_7D, 00172 OR_TYPEID_CANON_G11, 00173 OR_TYPEID_CANON_1DMKIV, 00174 OR_TYPEID_CANON_500D, 00175 OR_TYPEID_CANON_5DMKII, 00176 OR_TYPEID_CANON_550D, 00177 OR_TYPEID_CANON_1000D, 00178 OR_TYPEID_CANON_G10, 00179 OR_TYPEID_CANON_50D, 00180 OR_TYPEID_CANON_60D, 00181 _OR_TYPEID_CANON_LAST 00182 }; 00183 00184 00186 enum { 00187 OR_TYPEID_NIKON_UNKNOWN = 0, 00188 OR_TYPEID_NIKON_COOLPIX_5700 , 00189 OR_TYPEID_NIKON_D1, 00190 OR_TYPEID_NIKON_D1X, 00191 OR_TYPEID_NIKON_D100, 00192 OR_TYPEID_NIKON_D2H, 00193 OR_TYPEID_NIKON_D2X, 00194 OR_TYPEID_NIKON_D200, 00195 OR_TYPEID_NIKON_D3, 00196 OR_TYPEID_NIKON_D300, 00197 OR_TYPEID_NIKON_D40, 00198 OR_TYPEID_NIKON_D40X, 00199 OR_TYPEID_NIKON_D50, 00200 OR_TYPEID_NIKON_D70, 00201 OR_TYPEID_NIKON_D70S, 00202 OR_TYPEID_NIKON_D80, 00203 OR_TYPEID_NIKON_D3000, 00204 _OR_TYPEID_NIKON_LAST 00205 }; 00206 00208 enum { 00209 OR_TYPEID_LEICA_UNKNOWN = 0, 00210 OR_TYPEID_LEICA_DMR = 1, 00211 OR_TYPEID_LEICA_M8 = 2, 00212 OR_TYPEID_LEICA_X1 = 3, 00213 _OR_TYPEID_LEICA_LAST 00214 }; 00215 00217 enum { 00218 OR_TYPEID_PENTAX_UNKNOWN = 0, 00219 OR_TYPEID_PENTAX_K10D_PEF, 00220 OR_TYPEID_PENTAX_K10D_DNG, 00221 OR_TYPEID_PENTAX_IST_D, 00222 OR_TYPEID_PENTAX_IST_DL, 00223 OR_TYPEID_PENTAX_K100D_PEF, 00224 OR_TYPEID_PENTAX_K100D_SUPER_PEF, 00225 OR_TYPEID_PENTAX_K20D_PEF 00226 }; 00227 00229 enum { 00230 OR_TYPEID_EPSON_UNKNOWN = 0, 00231 OR_TYPEID_EPSON_RD1 00232 }; 00233 00235 enum { 00236 OR_TYPEID_MINOLTA_UNKNOWN = 0, 00237 OR_TYPEID_MINOLTA_A1, 00238 OR_TYPEID_MINOLTA_A2, 00239 OR_TYPEID_MINOLTA_DIMAGE5, 00240 OR_TYPEID_MINOLTA_DIMAGE7, 00241 OR_TYPEID_MINOLTA_DIMAGE7I, 00242 OR_TYPEID_MINOLTA_DIMAGE7HI, 00243 OR_TYPEID_MINOLTA_MAXXUM_5D, 00244 OR_TYPEID_MINOLTA_MAXXUM_7D, 00245 OR_TYPEID_MINOLTA_A200 00246 }; 00247 00248 enum { 00249 OR_TYPEID_OLYMPUS_UNKNOWN = 0, 00250 OR_TYPEID_OLYMPUS_E1, 00251 OR_TYPEID_OLYMPUS_E10, 00252 OR_TYPEID_OLYMPUS_E3, 00253 OR_TYPEID_OLYMPUS_E300, 00254 OR_TYPEID_OLYMPUS_E330, 00255 OR_TYPEID_OLYMPUS_E400, 00256 OR_TYPEID_OLYMPUS_E410, 00257 OR_TYPEID_OLYMPUS_E500, 00258 OR_TYPEID_OLYMPUS_E510, 00259 OR_TYPEID_OLYMPUS_SP350, 00260 OR_TYPEID_OLYMPUS_SP510, 00261 OR_TYPEID_OLYMPUS_SP550, 00262 OR_TYPEID_OLYMPUS_SP500, 00263 OR_TYPEID_OLYMPUS_EP1, 00264 OR_TYPEID_OLYMPUS_E620 00265 }; 00266 00267 enum { 00268 OR_TYPEID_SAMSUNG_UNKNOWN = 0, 00269 OR_TYPEID_SAMSUNG_GX10, 00270 OR_TYPEID_SAMSUNG_PRO815 00271 }; 00272 00273 00274 enum { 00275 OR_TYPEID_RICOH_UNKNOWN = 0, 00276 OR_TYPEID_RICOH_GR2 = 1, 00277 OR_TYPEID_RICOH_GXR = 2, 00278 _OR_TYPEID_RICOH_LAST 00279 }; 00280 00281 enum { 00282 OR_TYPEID_SONY_UNKNOWN = 0, 00283 OR_TYPEID_SONY_A100, 00284 OR_TYPEID_SONY_A200, 00285 OR_TYPEID_SONY_A700, 00286 OR_TYPEID_SONY_A550, 00287 _OR_TYPEID_SONY_LAST 00288 }; 00289 00290 #ifdef __cplusplus 00291 } 00292 #endif 00293 00294 #endif