consts.h

00001 /*
00002  * libopenraw - consts.h
00003  *
00004  * Copyright (C) 2005-2009 Hubert Figuiere
00005  * Copyright (c) 2008 Novell, Inc.
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     };
00129 
00130     enum {
00131         OR_TYPEID_UNKNOWN = 0
00132     };
00133 
00134     enum {
00135         OR_TYPEID_ADOBE_UNKNOWN = 0,
00136         OR_TYPEID_ADOBE_DNG_GENERIC
00137     };
00138 
00140     enum {
00141         OR_TYPEID_CANON_UNKNOWN = 0,
00142         OR_TYPEID_CANON_20D,
00143         OR_TYPEID_CANON_30D,
00144         OR_TYPEID_CANON_40D,
00145         OR_TYPEID_CANON_350D,
00146         OR_TYPEID_CANON_400D,
00147         OR_TYPEID_CANON_450D,
00148         OR_TYPEID_CANON_5D,
00149         OR_TYPEID_CANON_1D,
00150         OR_TYPEID_CANON_1DMKII,
00151         OR_TYPEID_CANON_1DMKIII,
00152         OR_TYPEID_CANON_1DS,
00153         OR_TYPEID_CANON_1DSMKII,
00154         OR_TYPEID_CANON_1DSMKIII,
00155         OR_TYPEID_CANON_300D,
00156         OR_TYPEID_CANON_D30,
00157         OR_TYPEID_CANON_D60,
00158         OR_TYPEID_CANON_10D,
00159         OR_TYPEID_CANON_PRO1,
00160         OR_TYPEID_CANON_G1,
00161         OR_TYPEID_CANON_G2,
00162         OR_TYPEID_CANON_G3,
00163         OR_TYPEID_CANON_G5,
00164         OR_TYPEID_CANON_G6,
00165         OR_TYPEID_CANON_G7,
00166         OR_TYPEID_CANON_G9,
00167         OR_TYPEID_CANON_A610,
00168         OR_TYPEID_CANON_20DA
00169     };
00170 
00171 
00173     enum {
00174         OR_TYPEID_NIKON_UNKNOWN = 0,
00175         OR_TYPEID_NIKON_COOLPIX_5700 ,
00176         OR_TYPEID_NIKON_D1,
00177         OR_TYPEID_NIKON_D1X,
00178         OR_TYPEID_NIKON_D100,
00179         OR_TYPEID_NIKON_D2H,
00180         OR_TYPEID_NIKON_D2X,
00181         OR_TYPEID_NIKON_D200,
00182         OR_TYPEID_NIKON_D3,
00183         OR_TYPEID_NIKON_D300,
00184         OR_TYPEID_NIKON_D40,
00185         OR_TYPEID_NIKON_D40X,
00186         OR_TYPEID_NIKON_D50,
00187         OR_TYPEID_NIKON_D70,
00188         OR_TYPEID_NIKON_D70S,
00189         OR_TYPEID_NIKON_D80
00190     };
00191 
00193     enum {
00194         OR_TYPEID_LEICA_UNKNOWN = 0,
00195         OR_TYPEID_LEICA_DMR = 1,
00196         OR_TYPEID_LEICA_M8 = 2
00197     };
00198 
00200     enum {
00201         OR_TYPEID_PENTAX_UNKNOWN = 0,
00202         OR_TYPEID_PENTAX_K10D_PEF,
00203         OR_TYPEID_PENTAX_K10D_DNG,
00204         OR_TYPEID_PENTAX_IST_D,
00205         OR_TYPEID_PENTAX_IST_DL,
00206         OR_TYPEID_PENTAX_K100D_PEF,
00207         OR_TYPEID_PENTAX_K100D_SUPER_PEF
00208     };
00209 
00211     enum {
00212         OR_TYPEID_EPSON_UNKNOWN = 0,
00213         OR_TYPEID_EPSON_RD1
00214     };
00215 
00217     enum {
00218         OR_TYPEID_MINOLTA_UNKNOWN = 0,
00219         OR_TYPEID_MINOLTA_A1,
00220         OR_TYPEID_MINOLTA_A2,
00221         OR_TYPEID_MINOLTA_DIMAGE5,
00222         OR_TYPEID_MINOLTA_DIMAGE7,
00223         OR_TYPEID_MINOLTA_DIMAGE7I,
00224         OR_TYPEID_MINOLTA_DIMAGE7HI,
00225         OR_TYPEID_MINOLTA_MAXXUM_5D,
00226         OR_TYPEID_MINOLTA_MAXXUM_7D,
00227         OR_TYPEID_MINOLTA_A200
00228     };
00229 
00230     enum {
00231         OR_TYPEID_OLYMPUS_UNKNOWN = 0,
00232         OR_TYPEID_OLYMPUS_E1,
00233         OR_TYPEID_OLYMPUS_E10,
00234         OR_TYPEID_OLYMPUS_E3,
00235         OR_TYPEID_OLYMPUS_E300,
00236         OR_TYPEID_OLYMPUS_E330,
00237         OR_TYPEID_OLYMPUS_E400,
00238         OR_TYPEID_OLYMPUS_E410,
00239         OR_TYPEID_OLYMPUS_E500,
00240         OR_TYPEID_OLYMPUS_E510,
00241         OR_TYPEID_OLYMPUS_SP350,
00242         OR_TYPEID_OLYMPUS_SP510,
00243         OR_TYPEID_OLYMPUS_SP550
00244     };
00245 
00246     enum {
00247         OR_TYPEID_SAMSUNG_UNKNOWN = 0,
00248         OR_TYPEID_SAMSUNG_GX10,
00249         OR_TYPEID_SAMSUNG_PRO815
00250     };
00251 
00252 
00253     enum {
00254         OR_TYPEID_RICOH_UNKNOWN = 0,
00255         OR_TYPEID_RICOH_GR2
00256     };
00257 
00258     enum {
00259         OR_TYPEID_SONY_UNKNOWN = 0,
00260         OR_TYPEID_SONY_A100,
00261         OR_TYPEID_SONY_A200,
00262         OR_TYPEID_SONY_A700
00263     };
00264 
00265 #ifdef __cplusplus
00266 }
00267 #endif
00268 
00269 #endif

Generated by  doxygen 1.6.2