• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* mnote-olympus-tag.h
2  *
3  * Copyright (c) 2002 Lutz Mueller <lutz@users.sourceforge.net>
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA  02110-1301  USA.
19  */
20 
21 #ifndef __MNOTE_OLYMPUS_TAG_H__
22 #define __MNOTE_OLYMPUS_TAG_H__
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* __cplusplus */
27 
28 enum _MnoteOlympusTag {
29 
30 	/* Nikon v.2 */
31 	MNOTE_NIKON_TAG_FIRMWARE                = 0x0001,
32 	MNOTE_NIKON_TAG_ISO                     = 0x0002,
33 	MNOTE_NIKON_TAG_COLORMODE1              = 0x0003,
34 	MNOTE_NIKON_TAG_QUALITY                 = 0x0004,
35 	MNOTE_NIKON_TAG_WHITEBALANCE            = 0x0005,
36 	MNOTE_NIKON_TAG_SHARPENING              = 0x0006,
37 	MNOTE_NIKON_TAG_FOCUSMODE               = 0x0007,
38 	MNOTE_NIKON_TAG_FLASHSETTING            = 0x0008,
39 	MNOTE_NIKON_TAG_FLASHMODE               = 0x0009,
40 	MNOTE_NIKON_TAG_WHITEBALANCEFINE        = 0x000b,
41 	MNOTE_NIKON_TAG_WHITEBALANCERB          = 0x000c,
42 	MNOTE_NIKON_TAG_UNKNOWN_0X000D          = 0x000d,
43 	MNOTE_NIKON_TAG_EXPOSUREDIFF            = 0x000e,
44 	MNOTE_NIKON_TAG_ISOSELECTION            = 0x000f,
45 	MNOTE_NIKON_TAG_PREVIEWIMAGE_IFD_POINTER= 0x0011,
46 	MNOTE_NIKON_TAG_FLASHEXPCOMPENSATION    = 0x0012,
47 	MNOTE_NIKON_TAG_ISO2                    = 0x0013,
48 	MNOTE_NIKON_TAG_IMAGEBOUNDARY           = 0x0016,
49 	MNOTE_NIKON_TAG_UNKNOWN_0X0017          = 0x0017,
50 	MNOTE_NIKON_TAG_FLASHEXPOSUREBRACKETVAL = 0x0018,
51 	MNOTE_NIKON_TAG_EXPOSUREBRACKETVAL      = 0x0019,
52 	MNOTE_NIKON_TAG_IMAGEADJUSTMENT         = 0x0080,
53 	MNOTE_NIKON_TAG_TONECOMPENSATION        = 0x0081,
54 	MNOTE_NIKON_TAG_ADAPTER                 = 0x0082,
55 	MNOTE_NIKON_TAG_LENSTYPE                = 0x0083,
56 	MNOTE_NIKON_TAG_LENS                    = 0x0084,
57 	MNOTE_NIKON_TAG_MANUALFOCUSDISTANCE     = 0x0085,
58 	MNOTE_NIKON_TAG_DIGITALZOOM             = 0x0086,
59 	MNOTE_NIKON_TAG_FLASHUSED               = 0x0087,
60 	MNOTE_NIKON_TAG_AFFOCUSPOSITION         = 0x0088,
61 	MNOTE_NIKON_TAG_BRACKETING              = 0x0089,
62 	MNOTE_NIKON_TAG_UNKNOWN_0X008A          = 0x008a,
63 	MNOTE_NIKON_TAG_LENS_FSTOPS             = 0x008b,
64 	MNOTE_NIKON_TAG_CURVE                   = 0x008c,
65 	MNOTE_NIKON_TAG_COLORMODE               = 0x008d,
66 	MNOTE_NIKON_TAG_LIGHTTYPE               = 0x0090,
67 	MNOTE_NIKON_TAG_UNKNOWN_0X0091          = 0x0091,
68 	MNOTE_NIKON_TAG_HUE                     = 0x0092,
69 	MNOTE_NIKON_TAG_SATURATION              = 0x0094,
70 	MNOTE_NIKON_TAG_NOISEREDUCTION          = 0x0095,
71 	MNOTE_NIKON_TAG_UNKNOWN_0X0097          = 0x0097,
72 	MNOTE_NIKON_TAG_UNKNOWN_0X0098          = 0x0098,
73 	MNOTE_NIKON_TAG_SENSORPIXELSIZE         = 0x009a,
74 	MNOTE_NIKON_TAG_UNKNOWN_0X009B          = 0x009b,
75 	MNOTE_NIKON_TAG_SERIALNUMBER            = 0x00a0,
76 	MNOTE_NIKON_TAG_IMAGE_DATASIZE          = 0x00a2,
77 	MNOTE_NIKON_TAG_UNKNOWN_0X00A3          = 0x00a3,
78 	MNOTE_NIKON_TAG_TOTALPICTURES           = 0x00a7,
79 	MNOTE_NIKON_TAG_UNKNOWN_0X00A8          = 0x00a8,
80 	MNOTE_NIKON_TAG_OPTIMIZATION            = 0x00a9,
81 	MNOTE_NIKON_TAG_SATURATION2             = 0x00aa,
82 	MNOTE_NIKON_TAG_VARIPROGRAM             = 0x00ab,
83 	MNOTE_NIKON_TAG_CAPTUREEDITORDATA       = 0x0e01,
84 	MNOTE_NIKON_TAG_CAPTUREEDITORVER	= 0x0e09,
85 	MNOTE_NIKON_TAG_UNKNOWN_0X0E0E		= 0x0e0e,
86 	MNOTE_NIKON_TAG_UNKNOWN_0X0E10		= 0x0e10,
87 
88 	/* Nikon v1: real values + our proprietary base to distinguish from v2 */
89 	MNOTE_NIKON1_TAG_BASE                   = 0x8000,
90 	MNOTE_NIKON1_TAG_UNKNOWN_0X0002         = 0x0002 + MNOTE_NIKON1_TAG_BASE,
91 	MNOTE_NIKON1_TAG_QUALITY                = 0x0003 + MNOTE_NIKON1_TAG_BASE,
92 	MNOTE_NIKON1_TAG_COLORMODE              = 0x0004 + MNOTE_NIKON1_TAG_BASE,
93 	MNOTE_NIKON1_TAG_IMAGEADJUSTMENT        = 0x0005 + MNOTE_NIKON1_TAG_BASE,
94 	MNOTE_NIKON1_TAG_CCDSENSITIVITY         = 0x0006 + MNOTE_NIKON1_TAG_BASE,
95 	MNOTE_NIKON1_TAG_WHITEBALANCE           = 0x0007 + MNOTE_NIKON1_TAG_BASE,
96 	MNOTE_NIKON1_TAG_FOCUS                  = 0x0008 + MNOTE_NIKON1_TAG_BASE,
97 	MNOTE_NIKON1_TAG_UNKNOWN_0X0009         = 0x0009 + MNOTE_NIKON1_TAG_BASE,
98 	MNOTE_NIKON1_TAG_DIGITALZOOM            = 0x000a + MNOTE_NIKON1_TAG_BASE,
99 	MNOTE_NIKON1_TAG_CONVERTER              = 0x000b + MNOTE_NIKON1_TAG_BASE,
100 
101 	/* Olympus and some Sanyo */
102 	MNOTE_OLYMPUS_TAG_THUMBNAILIMAGE	= 0x0100,
103 	MNOTE_OLYMPUS_TAG_MODE			= 0x0200,
104 	MNOTE_OLYMPUS_TAG_QUALITY		= 0x0201,
105 	MNOTE_OLYMPUS_TAG_MACRO			= 0x0202,
106 	MNOTE_OLYMPUS_TAG_BWMODE		= 0x0203,
107 	MNOTE_OLYMPUS_TAG_DIGIZOOM		= 0x0204,
108 	MNOTE_OLYMPUS_TAG_FOCALPLANEDIAGONAL	= 0x0205,
109 	MNOTE_OLYMPUS_TAG_LENSDISTORTION	= 0x0206,
110 	MNOTE_OLYMPUS_TAG_VERSION		= 0x0207,
111 	MNOTE_OLYMPUS_TAG_INFO			= 0x0208,
112 	MNOTE_OLYMPUS_TAG_ID			= 0x0209,
113 	MNOTE_OLYMPUS_TAG_PRECAPTUREFRAMES	= 0x0300,
114 	MNOTE_OLYMPUS_TAG_WHITEBOARD		= 0x0301,
115 	MNOTE_OLYMPUS_TAG_ONETOUCHWB		= 0x0302,
116 	MNOTE_OLYMPUS_TAG_WHITEBALANCEBRACKET	= 0x0303,
117 	MNOTE_OLYMPUS_TAG_WHITEBALANCEBIAS	= 0x0304,
118 	MNOTE_OLYMPUS_TAG_DATADUMP		= 0x0f00,
119 	MNOTE_OLYMPUS_TAG_UNKNOWN_4		= 0x0f04,
120 	MNOTE_OLYMPUS_TAG_SHUTTERSPEED		= 0x1000,
121 	MNOTE_OLYMPUS_TAG_ISOVALUE		= 0x1001,
122 	MNOTE_OLYMPUS_TAG_APERTUREVALUE		= 0x1002,
123 	MNOTE_OLYMPUS_TAG_BRIGHTNESSVALUE	= 0x1003,
124 	MNOTE_OLYMPUS_TAG_FLASHMODE		= 0x1004,
125 	MNOTE_OLYMPUS_TAG_FLASHDEVICE		= 0x1005,
126 	MNOTE_OLYMPUS_TAG_EXPOSURECOMP		= 0x1006,
127 	MNOTE_OLYMPUS_TAG_SENSORTEMPERATURE	= 0x1007,
128 	MNOTE_OLYMPUS_TAG_LENSTEMPERATURE	= 0x1008,
129 	MNOTE_OLYMPUS_TAG_LIGHTCONDITION	= 0x1009,
130 	MNOTE_OLYMPUS_TAG_FOCUSRANGE		= 0x100a,
131 	MNOTE_OLYMPUS_TAG_MANFOCUS		= 0x100b,
132 	MNOTE_OLYMPUS_TAG_FOCUSDIST		= 0x100c,
133 	MNOTE_OLYMPUS_TAG_ZOOMSTEPCOUNT		= 0x100d,
134 	MNOTE_OLYMPUS_TAG_FOCUSSTEPCOUNT	= 0x100e,
135 	MNOTE_OLYMPUS_TAG_SHARPNESS		= 0x100f,
136 	MNOTE_OLYMPUS_TAG_FLASHCHARGELEVEL	= 0x1010,
137 	MNOTE_OLYMPUS_TAG_COLORMATRIX		= 0x1011,
138 	MNOTE_OLYMPUS_TAG_BLACKLEVEL		= 0x1012,
139 	MNOTE_OLYMPUS_TAG_WBALANCE		= 0x1015,
140 	MNOTE_OLYMPUS_TAG_REDBALANCE		= 0x1017,
141 	MNOTE_OLYMPUS_TAG_BLUEBALANCE		= 0x1018,
142 	MNOTE_OLYMPUS_TAG_COLORMATRIXNUMBER	= 0x1019,
143 	MNOTE_OLYMPUS_TAG_SERIALNUMBER2		= 0x101a,
144 	MNOTE_OLYMPUS_TAG_FLASHEXPOSURECOMP	= 0x1023,
145 	MNOTE_OLYMPUS_TAG_INTERNALFLASHTABLE	= 0x1024,
146 	MNOTE_OLYMPUS_TAG_EXTERNALFLASHGVALUE	= 0x1025,
147 	MNOTE_OLYMPUS_TAG_EXTERNALFLASHBOUNCE	= 0x1026,
148 	MNOTE_OLYMPUS_TAG_EXTERNALFLASHZOOM	= 0x1027,
149 	MNOTE_OLYMPUS_TAG_EXTERNALFLASHMODE	= 0x1028,
150 	MNOTE_OLYMPUS_TAG_CONTRAST		= 0x1029,
151 	MNOTE_OLYMPUS_TAG_SHARPNESSFACTOR	= 0x102a,
152 	MNOTE_OLYMPUS_TAG_COLORCONTROL		= 0x102b,
153 	MNOTE_OLYMPUS_TAG_IMAGEWIDTH		= 0x102e,
154 	MNOTE_OLYMPUS_TAG_IMAGEHEIGHT		= 0x102f,
155 	MNOTE_OLYMPUS_TAG_SCENEDETECT		= 0x1030,
156 	MNOTE_OLYMPUS_TAG_COMPRESSIONRATIO	= 0x1034,
157 	MNOTE_OLYMPUS_TAG_PREVIEWIMAGEVALID	= 0x1035,
158 	MNOTE_OLYMPUS_TAG_AFRESULT		= 0x1038,
159 	MNOTE_OLYMPUS_TAG_CCDSCANMODE		= 0x1039,
160 	MNOTE_OLYMPUS_TAG_NOISEREDUCTION	= 0x103a,
161 	MNOTE_OLYMPUS_TAG_INFINITYLENSSTEP	= 0x103b,
162 	MNOTE_OLYMPUS_TAG_NEARLENSSTEP		= 0x103c,
163 	MNOTE_OLYMPUS_TAG_LIGHTVALUECENTER	= 0x103d,
164 	MNOTE_OLYMPUS_TAG_LIGHTVALUEPERIPHERY	= 0x103e,
165 
166 	/* Epson */
167 	MNOTE_EPSON_TAG_IMAGE_WIDTH		= 0x020b,
168 	MNOTE_EPSON_TAG_IMAGE_HEIGHT		= 0x020c,
169 	MNOTE_EPSON_TAG_SOFTWARE		= 0x020d,
170 
171 	/* Sanyo */
172 	MNOTE_SANYO_TAG_SEQUENTIALSHOT		= 0x020e,
173 	MNOTE_SANYO_TAG_WIDERANGE		= 0x020f,
174 	MNOTE_SANYO_TAG_COLORADJUSTMENTMODE	= 0x0210,
175 	MNOTE_SANYO_TAG_FOCUSMODE		= 0x0212,
176 	MNOTE_SANYO_TAG_QUICKSHOT		= 0x0213,
177 	MNOTE_SANYO_TAG_SELFTIMER		= 0x0214,
178 	MNOTE_SANYO_TAG_VOICEMEMO		= 0x0216,
179 	MNOTE_SANYO_TAG_RECORDSHUTTERRELEASE	= 0x0217,
180 	MNOTE_SANYO_TAG_FLICKERREDUCE		= 0x0218,
181 	MNOTE_SANYO_TAG_OPTICALZOOM		= 0x0219,
182 	MNOTE_SANYO_TAG_CCDSENSITIVITY		= 0x021a,
183 	MNOTE_SANYO_TAG_DIGITALZOOM		= 0x021b,
184 	MNOTE_SANYO_TAG_LIGHTSOURCESPECIAL	= 0x021d,
185 	MNOTE_SANYO_TAG_RESAVED			= 0x021e,
186 	MNOTE_SANYO_TAG_SCENESELECT		= 0x021f,
187 	MNOTE_SANYO_TAG_MANUALFOCUSDISTANCE	= 0x0223,
188 	MNOTE_SANYO_TAG_SEQUENCESHOTINTERVAL	= 0x0224,
189 };
190 typedef enum _MnoteOlympusTag MnoteOlympusTag;
191 
192 /* Don't use these definitions. They are here for compatibility only. */
193 #define MNOTE_OLYMPUS_TAG_UNKNOWN_1	MNOTE_OLYMPUS_TAG_BWMODE
194 #define MNOTE_OLYMPUS_TAG_UNKNOWN_2	MNOTE_OLYMPUS_TAG_FOCALPLANEDIAGONAL
195 #define MNOTE_OLYMPUS_TAG_UNKNOWN_3	MNOTE_OLYMPUS_TAG_LENSDISTORTION
196 #define MNOTE_OLYMPUS_TAG_UNKNOWN_5	MNOTE_OLYMPUS_TAG_DATADUMP
197 #define MNOTE_NIKON_TAG_PREVIEWIMAGE	MNOTE_NIKON_TAG_PREVIEWIMAGE_IFD_POINTER
198 
199 /*! Return a textual name of the given tag within the Olympus-style MakerNote.
200  * The name is a short, unique, non-localized text string containing only
201  * US-ASCII alphanumeric characters.
202  *
203  * \param[in] tag Olympus-style MakerNote tag
204  * \return textual name of the tag, or NULL if the tag is unknown
205  */
206 const char *mnote_olympus_tag_get_name        (MnoteOlympusTag tag);
207 
208 /*! Return a textual title of the given tag within the Olympus-style MakerNote.
209  * The title is a short, localized description of the tag.
210  *
211  * \param[in] tag Olympus-style MakerNote tag
212  * \return textual title of the tag, or NULL if the tag is unknown
213  */
214 const char *mnote_olympus_tag_get_title       (MnoteOlympusTag tag);
215 
216 /*! Return a verbose textual description of the given tag within the
217  * Olympus-style MakerNote.
218  * The description is a verbose, localized description of the tag.
219  *
220  * \param[in] tag EXIF tag
221  * \return textual description of the tag, or NULL if the tag is unknown
222  */
223 const char *mnote_olympus_tag_get_description (MnoteOlympusTag tag);
224 
225 #ifdef __cplusplus
226 }
227 #endif /* __cplusplus */
228 
229 #endif /* __MNOTE_OLYMPUS_TAG_H__ */
230