libopenraw
ifd.hpp
1 /*
2  * libopenraw - ifd.h
3  *
4  * Copyright (C) 2006-2007,2012 Hubert Figuiere
5  *
6  * Defintions taken from libexif:
7  * Copyright (C) 2001 Lutz Müller <lutz@users.sourceforge.net>
8  *
9  * This library is free software: you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * as published by the Free Software Foundation, either version 3 of
12  * the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library. If not, see
21  * <http://www.gnu.org/licenses/>.
22  */
23 
28 #ifndef OR_INTERNALS_IFD_H_
29 #define OR_INTERNALS_IFD_H_
30 
31 namespace OpenRaw {
32 namespace Internals {
33 namespace IFD {
34 
35 #define INCLUDE_EXIF_
36 #include "libopenraw/exif.h"
37 #undef INCLUDE_EXIF_
38 
42 typedef enum {
43  EXIF_FORMAT_BYTE = 1,
44  EXIF_FORMAT_ASCII = 2,
45  EXIF_FORMAT_SHORT = 3,
46  EXIF_FORMAT_LONG = 4,
47  EXIF_FORMAT_RATIONAL = 5,
48  EXIF_FORMAT_SBYTE = 6,
49  EXIF_FORMAT_UNDEFINED = 7,
50  EXIF_FORMAT_SSHORT = 8,
51  EXIF_FORMAT_SLONG = 9,
52  EXIF_FORMAT_SRATIONAL = 10,
53  EXIF_FORMAT_FLOAT = 11,
54  EXIF_FORMAT_DOUBLE = 12
55 } ExifTagType;
56 
57 typedef enum {
58  CFA_RED = 0,
59  CFA_GREEN = 1,
60  CFA_BLUE = 2,
61  CFA_CYAN = 3,
62  CFA_MAGENTA = 4,
63  CFA_YELLOW = 5,
64  CFA_WHITE = 6
65 } CfaComponent;
66 
67 typedef enum {
68  COMPRESS_NONE = 1,
69  COMPRESS_JPEG = 6,
70  COMPRESS_LJPEG = 7,
71  COMPRESS_NIKON_PACK = 32769,
72  COMPRESS_NIKON_QUANTIZED = 34713,
73  COMPRESS_CUSTOM = 65535
74 } TiffCompress;
75 
76 struct Rational {
77  uint32_t num;
78  uint32_t denom;
79 
80  operator double() const;
81 };
82 
83 struct SRational {
84  int32_t num;
85  uint32_t denom;
86 
87  operator double() const;
88 };
89 
90 }
91 }
92 }
93 #endif
94 /*
95  Local Variables:
96  mode:c++
97  c-file-style:"stroustrup"
98  c-file-offsets:((innamespace . 0))
99  indent-tabs-mode:nil
100  fill-column:80
101  End:
102 */
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.
Definition: arwfile.cpp:30