source: josm/trunk/src/com/drew/metadata/exif/makernotes/OlympusImageProcessingMakernoteDirectory.java@ 13722

Last change on this file since 13722 was 13061, checked in by Don-vip, 7 years ago

fix #15505 - update to metadata-extractor 2.10.1

  • Property svn:eol-style set to native
File size: 9.8 KB
Line 
1/*
2 * Copyright 2002-2015 Drew Noakes
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * More information about this project is available at:
17 *
18 * https://drewnoakes.com/code/exif/
19 * https://github.com/drewnoakes/metadata-extractor
20 */
21package com.drew.metadata.exif.makernotes;
22
23import com.drew.lang.annotations.NotNull;
24import com.drew.metadata.Directory;
25
26import java.util.HashMap;
27
28/**
29 * The Olympus image processing makernote is used by many manufacturers (Epson, Konica, Minolta and Agfa...), and as such contains some tags
30 * that appear specific to those manufacturers.
31 *
32 * @author Kevin Mott https://github.com/kwhopper
33 * @author Drew Noakes https://drewnoakes.com
34 */
35@SuppressWarnings("WeakerAccess")
36public class OlympusImageProcessingMakernoteDirectory extends Directory
37{
38 public static final int TagImageProcessingVersion = 0x0000;
39 public static final int TagWbRbLevels = 0x0100;
40 // 0x0101 - in-camera AutoWB unless it is all 0's or all 256's (ref IB)
41 public static final int TagWbRbLevels3000K = 0x0102;
42 public static final int TagWbRbLevels3300K = 0x0103;
43 public static final int TagWbRbLevels3600K = 0x0104;
44 public static final int TagWbRbLevels3900K = 0x0105;
45 public static final int TagWbRbLevels4000K = 0x0106;
46 public static final int TagWbRbLevels4300K = 0x0107;
47 public static final int TagWbRbLevels4500K = 0x0108;
48 public static final int TagWbRbLevels4800K = 0x0109;
49 public static final int TagWbRbLevels5300K = 0x010a;
50 public static final int TagWbRbLevels6000K = 0x010b;
51 public static final int TagWbRbLevels6600K = 0x010c;
52 public static final int TagWbRbLevels7500K = 0x010d;
53 public static final int TagWbRbLevelsCwB1 = 0x010e;
54 public static final int TagWbRbLevelsCwB2 = 0x010f;
55 public static final int TagWbRbLevelsCwB3 = 0x0110;
56 public static final int TagWbRbLevelsCwB4 = 0x0111;
57 public static final int TagWbGLevel3000K = 0x0113;
58 public static final int TagWbGLevel3300K = 0x0114;
59 public static final int TagWbGLevel3600K = 0x0115;
60 public static final int TagWbGLevel3900K = 0x0116;
61 public static final int TagWbGLevel4000K = 0x0117;
62 public static final int TagWbGLevel4300K = 0x0118;
63 public static final int TagWbGLevel4500K = 0x0119;
64 public static final int TagWbGLevel4800K = 0x011a;
65 public static final int TagWbGLevel5300K = 0x011b;
66 public static final int TagWbGLevel6000K = 0x011c;
67 public static final int TagWbGLevel6600K = 0x011d;
68 public static final int TagWbGLevel7500K = 0x011e;
69 public static final int TagWbGLevel = 0x011f;
70 // 0x0121 = WB preset for flash (about 6000K) (ref IB)
71 // 0x0125 = WB preset for underwater (ref IB)
72
73 public static final int TagColorMatrix = 0x0200;
74 // color matrices (ref 11):
75 // 0x0201-0x020d are sRGB color matrices
76 // 0x020e-0x021a are Adobe RGB color matrices
77 // 0x021b-0x0227 are ProPhoto RGB color matrices
78 // 0x0228 and 0x0229 are ColorMatrix for E-330
79 // 0x0250-0x0252 are sRGB color matrices
80 // 0x0253-0x0255 are Adobe RGB color matrices
81 // 0x0256-0x0258 are ProPhoto RGB color matrices
82
83 public static final int TagEnhancer = 0x0300;
84 public static final int TagEnhancerValues = 0x0301;
85 public static final int TagCoringFilter = 0x0310;
86 public static final int TagCoringValues = 0x0311;
87 public static final int TagBlackLevel2 = 0x0600;
88 public static final int TagGainBase = 0x0610;
89 public static final int TagValidBits = 0x0611;
90 public static final int TagCropLeft = 0x0612;
91 public static final int TagCropTop = 0x0613;
92 public static final int TagCropWidth = 0x0614;
93 public static final int TagCropHeight = 0x0615;
94 public static final int TagUnknownBlock1 = 0x0635;
95 public static final int TagUnknownBlock2 = 0x0636;
96
97 // 0x0800 LensDistortionParams, float[9] (ref 11)
98 // 0x0801 LensShadingParams, int16u[16] (ref 11)
99 public static final int TagSensorCalibration = 0x0805;
100
101 public static final int TagNoiseReduction2 = 0x1010;
102 public static final int TagDistortionCorrection2 = 0x1011;
103 public static final int TagShadingCompensation2 = 0x1012;
104 public static final int TagMultipleExposureMode = 0x101c;
105 public static final int TagUnknownBlock3 = 0x1103;
106 public static final int TagUnknownBlock4 = 0x1104;
107 public static final int TagAspectRatio = 0x1112;
108 public static final int TagAspectFrame = 0x1113;
109 public static final int TagFacesDetected = 0x1200;
110 public static final int TagFaceDetectArea = 0x1201;
111 public static final int TagMaxFaces = 0x1202;
112 public static final int TagFaceDetectFrameSize = 0x1203;
113 public static final int TagFaceDetectFrameCrop = 0x1207;
114 public static final int TagCameraTemperature = 0x1306;
115
116 public static final int TagKeystoneCompensation = 0x1900;
117 public static final int TagKeystoneDirection = 0x1901;
118 // 0x1905 - focal length (PH, E-M1)
119 public static final int TagKeystoneValue = 0x1906;
120
121 @NotNull
122 protected static final HashMap<Integer, String> _tagNameMap = new HashMap<Integer, String>();
123
124 static {
125 _tagNameMap.put(TagImageProcessingVersion, "Image Processing Version");
126 _tagNameMap.put(TagWbRbLevels, "WB RB Levels");
127 _tagNameMap.put(TagWbRbLevels3000K, "WB RB Levels 3000K");
128 _tagNameMap.put(TagWbRbLevels3300K, "WB RB Levels 3300K");
129 _tagNameMap.put(TagWbRbLevels3600K, "WB RB Levels 3600K");
130 _tagNameMap.put(TagWbRbLevels3900K, "WB RB Levels 3900K");
131 _tagNameMap.put(TagWbRbLevels4000K, "WB RB Levels 4000K");
132 _tagNameMap.put(TagWbRbLevels4300K, "WB RB Levels 4300K");
133 _tagNameMap.put(TagWbRbLevels4500K, "WB RB Levels 4500K");
134 _tagNameMap.put(TagWbRbLevels4800K, "WB RB Levels 4800K");
135 _tagNameMap.put(TagWbRbLevels5300K, "WB RB Levels 5300K");
136 _tagNameMap.put(TagWbRbLevels6000K, "WB RB Levels 6000K");
137 _tagNameMap.put(TagWbRbLevels6600K, "WB RB Levels 6600K");
138 _tagNameMap.put(TagWbRbLevels7500K, "WB RB Levels 7500K");
139 _tagNameMap.put(TagWbRbLevelsCwB1, "WB RB Levels CWB1");
140 _tagNameMap.put(TagWbRbLevelsCwB2, "WB RB Levels CWB2");
141 _tagNameMap.put(TagWbRbLevelsCwB3, "WB RB Levels CWB3");
142 _tagNameMap.put(TagWbRbLevelsCwB4, "WB RB Levels CWB4");
143 _tagNameMap.put(TagWbGLevel3000K, "WB G Level 3000K");
144 _tagNameMap.put(TagWbGLevel3300K, "WB G Level 3300K");
145 _tagNameMap.put(TagWbGLevel3600K, "WB G Level 3600K");
146 _tagNameMap.put(TagWbGLevel3900K, "WB G Level 3900K");
147 _tagNameMap.put(TagWbGLevel4000K, "WB G Level 4000K");
148 _tagNameMap.put(TagWbGLevel4300K, "WB G Level 4300K");
149 _tagNameMap.put(TagWbGLevel4500K, "WB G Level 4500K");
150 _tagNameMap.put(TagWbGLevel4800K, "WB G Level 4800K");
151 _tagNameMap.put(TagWbGLevel5300K, "WB G Level 5300K");
152 _tagNameMap.put(TagWbGLevel6000K, "WB G Level 6000K");
153 _tagNameMap.put(TagWbGLevel6600K, "WB G Level 6600K");
154 _tagNameMap.put(TagWbGLevel7500K, "WB G Level 7500K");
155 _tagNameMap.put(TagWbGLevel, "WB G Level");
156
157 _tagNameMap.put(TagColorMatrix, "Color Matrix");
158
159 _tagNameMap.put(TagEnhancer, "Enhancer");
160 _tagNameMap.put(TagEnhancerValues, "Enhancer Values");
161 _tagNameMap.put(TagCoringFilter, "Coring Filter");
162 _tagNameMap.put(TagCoringValues, "Coring Values");
163 _tagNameMap.put(TagBlackLevel2, "Black Level 2");
164 _tagNameMap.put(TagGainBase, "Gain Base");
165 _tagNameMap.put(TagValidBits, "Valid Bits");
166 _tagNameMap.put(TagCropLeft, "Crop Left");
167 _tagNameMap.put(TagCropTop, "Crop Top");
168 _tagNameMap.put(TagCropWidth, "Crop Width");
169 _tagNameMap.put(TagCropHeight, "Crop Height");
170 _tagNameMap.put(TagUnknownBlock1, "Unknown Block 1");
171 _tagNameMap.put(TagUnknownBlock2, "Unknown Block 2");
172
173 _tagNameMap.put(TagSensorCalibration, "Sensor Calibration");
174
175 _tagNameMap.put(TagNoiseReduction2, "Noise Reduction 2");
176 _tagNameMap.put(TagDistortionCorrection2, "Distortion Correction 2");
177 _tagNameMap.put(TagShadingCompensation2, "Shading Compensation 2");
178 _tagNameMap.put(TagMultipleExposureMode, "Multiple Exposure Mode");
179 _tagNameMap.put(TagUnknownBlock3, "Unknown Block 3");
180 _tagNameMap.put(TagUnknownBlock4, "Unknown Block 4");
181 _tagNameMap.put(TagAspectRatio, "Aspect Ratio");
182 _tagNameMap.put(TagAspectFrame, "Aspect Frame");
183 _tagNameMap.put(TagFacesDetected, "Faces Detected");
184 _tagNameMap.put(TagFaceDetectArea, "Face Detect Area");
185 _tagNameMap.put(TagMaxFaces, "Max Faces");
186 _tagNameMap.put(TagFaceDetectFrameSize, "Face Detect Frame Size");
187 _tagNameMap.put(TagFaceDetectFrameCrop, "Face Detect Frame Crop");
188 _tagNameMap.put(TagCameraTemperature , "Camera Temperature");
189 _tagNameMap.put(TagKeystoneCompensation, "Keystone Compensation");
190 _tagNameMap.put(TagKeystoneDirection, "Keystone Direction");
191 _tagNameMap.put(TagKeystoneValue, "Keystone Value");
192 }
193
194 public OlympusImageProcessingMakernoteDirectory()
195 {
196 this.setDescriptor(new OlympusImageProcessingMakernoteDescriptor(this));
197 }
198
199 @Override
200 @NotNull
201 public String getName()
202 {
203 return "Olympus Image Processing";
204 }
205
206 @Override
207 @NotNull
208 protected HashMap<Integer, String> getTagNameMap()
209 {
210 return _tagNameMap;
211 }
212}
Note: See TracBrowser for help on using the repository browser.