001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.imaging.formats.tiff.constants; 018 019import java.util.Arrays; 020import java.util.Collections; 021import java.util.List; 022 023import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo; 024import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii; 025import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAsciiOrByte; 026import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes; 027import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDoubles; 028import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloats; 029import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong; 030import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs; 031import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational; 032import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals; 033import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRational; 034import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRationals; 035import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort; 036import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong; 037import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLongOrRational; 038import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrRational; 039import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts; 040import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds; 041 042/** 043 * Digital Negative (DNG) Specification. 044 * <p> 045 * http://www.adobe.com/products/dng/pdfs/dng_spec_1_3_0_0.pdf -> https://helpx.adobe.com/camera-raw/digital-negative.html 046 * </p> 047 */ 048public final class DngTagConstants { 049 050 public static final TagInfoBytes EXIF_TAG_DNG_VERSION = new TagInfoBytes("DNGVersion", 0xc612, 4, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 051 052 public static final TagInfoBytes EXIF_TAG_DNG_BACKWARD_VERSION = new TagInfoBytes("DNGBackwardVersion", 0xc613, 4, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 053 054 public static final TagInfoAscii EXIF_TAG_UNIQUE_CAMERA_MODEL = new TagInfoAscii("UniqueCameraModel", 0xc614, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 055 056 public static final TagInfoAsciiOrByte EXIF_TAG_LOCALIZED_CAMERA_MODEL = new TagInfoAsciiOrByte("LocalizedCameraModel", 0xc615, -1, 057 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 058 059 public static final TagInfoBytes EXIF_TAG_CFAPLANE_COLOR = new TagInfoBytes("CFAPlaneColor", 0xc616, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 060 061 public static final TagInfoShort EXIF_TAG_CFALAYOUT = new TagInfoShort("CFALayout", 0xc617, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 062 063 public static final int CFALAYOUT_VALUE_RECTANGULAR = 1; 064 public static final int CFALAYOUT_VALUE_EVEN_COLUMNS_OFFSET_DOWN_1_2_ROW = 2; 065 public static final int CFALAYOUT_VALUE_EVEN_COLUMNS_OFFSET_UP_1_2_ROW = 3; 066 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_RIGHT_1_2_COLUMN = 4; 067 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_LEFT_1_2_COLUMN = 5; 068 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_UP_1_2_ROW_EVEN_COLUMNS_OFFSET_LEFT_1_2_COLUMN = 6; 069 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_UP_1_2_ROW_EVEN_COLUMNS_OFFSET_RIGHT_1_2_COLUMN = 7; 070 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_LEFT_1_2_COLUMN = 8; 071 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_RIGHT_1_2_COLUMN = 9; 072 073 public static final TagInfoShorts EXIF_TAG_LINEARIZATION_TABLE = new TagInfoShorts("LinearizationTable", 0xc618, -1, 074 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 075 076 public static final TagInfoShorts EXIF_TAG_BLACK_LEVEL_REPEAT_DIM = new TagInfoShorts("BlackLevelRepeatDim", 0xc619, 2, 077 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 078 079 public static final TagInfoShortOrLongOrRational EXIF_TAG_BLACK_LEVEL = new TagInfoShortOrLongOrRational("BlackLevel", 0xc61a, -1, 080 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 081 082 public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_H = new TagInfoSRationals("BlackLevelDeltaH", 0xc61b, -1, 083 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 084 085 public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_V = new TagInfoSRationals("BlackLevelDeltaV", 0xc61c, -1, 086 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 087 088 public static final TagInfoShortOrLong EXIF_TAG_WHITE_LEVEL = new TagInfoShortOrLong("WhiteLevel", 0xc61d, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 089 090 public static final TagInfoRationals EXIF_TAG_DEFAULT_SCALE = new TagInfoRationals("DefaultScale", 0xc61e, 2, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 091 092 public static final TagInfoShortOrLongOrRational EXIF_TAG_DEFAULT_CROP_ORIGIN = new TagInfoShortOrLongOrRational("DefaultCropOrigin", 0xc61f, 2, 093 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 094 095 public static final TagInfoShortOrLongOrRational EXIF_TAG_DEFAULT_CROP_SIZE = new TagInfoShortOrLongOrRational("DefaultCropSize", 0xc620, 2, 096 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 097 098 public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_1 = new TagInfoSRationals("ColorMatrix1", 0xc621, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 099 100 public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_2 = new TagInfoSRationals("ColorMatrix2", 0xc622, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 101 102 public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_1 = new TagInfoSRationals("CameraCalibration1", 0xc623, -1, 103 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 104 105 public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_2 = new TagInfoSRationals("CameraCalibration2", 0xc624, -1, 106 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 107 108 public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_1 = new TagInfoSRationals("ReductionMatrix1", 0xc625, -1, 109 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 110 111 public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_2 = new TagInfoSRationals("ReductionMatrix2", 0xc626, -1, 112 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 113 114 public static final TagInfoRationals EXIF_TAG_ANALOG_BALANCE = new TagInfoRationals("AnalogBalance", 0xc627, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 115 116 public static final TagInfoShortOrRational EXIF_TAG_AS_SHOT_NEUTRAL = new TagInfoShortOrRational("AsShotNeutral", 0xc628, -1, 117 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 118 119 public static final TagInfoRationals EXIF_TAG_AS_SHOT_WHITE_XY = new TagInfoRationals("AsShotWhiteXY", 0xc629, 2, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 120 121 public static final TagInfoSRational EXIF_TAG_BASELINE_EXPOSURE = new TagInfoSRational("BaselineExposure", 0xc62a, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 122 123 public static final TagInfoRational EXIF_TAG_BASELINE_NOISE = new TagInfoRational("BaselineNoise", 0xc62b, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 124 125 public static final TagInfoRational EXIF_TAG_BASELINE_SHARPNESS = new TagInfoRational("BaselineSharpness", 0xc62c, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 126 127 public static final TagInfoLong EXIF_TAG_BAYER_GREEN_SPLIT = new TagInfoLong("BayerGreenSplit", 0xc62d, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 128 129 public static final TagInfoRational EXIF_TAG_LINEAR_RESPONSE_LIMIT = new TagInfoRational("LinearResponseLimit", 0xc62e, 130 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 131 132 public static final TagInfoAscii EXIF_TAG_CAMERA_SERIAL_NUMBER = new TagInfoAscii("CameraSerialNumber", 0xc62f, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 133 134 public static final TagInfoRationals EXIF_TAG_DNG_LENS_INFO = new TagInfoRationals("DNGLensInfo", 0xc630, 4, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 135 136 public static final TagInfoRational EXIF_TAG_CHROMA_BLUR_RADIUS = new TagInfoRational("ChromaBlurRadius", 0xc631, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 137 138 public static final TagInfoRational EXIF_TAG_ANTI_ALIAS_STRENGTH = new TagInfoRational("AntiAliasStrength", 0xc632, 139 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 140 141 public static final TagInfoRational EXIF_TAG_SHADOW_SCALE = new TagInfoRational("ShadowScale", 0xc633, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 142 143 public static final TagInfoBytes EXIF_TAG_DNG_PRIVATE_DATA = new TagInfoBytes("DNGPrivateData", 0xc634, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 144 145 public static final TagInfoShort EXIF_TAG_MAKER_NOTE_SAFETY = new TagInfoShort("MakerNoteSafety", 0xc635, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 146 public static final int MAKER_NOTE_SAFETY_VALUE_UNSAFE = 0; 147 public static final int MAKER_NOTE_SAFETY_VALUE_SAFE = 1; 148 149 public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_1 = new TagInfoShort("CalibrationIlluminant1", 0xc65a, 150 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 151 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAYLIGHT = 1; 152 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FLUORESCENT = 2; 153 public static final int CALIBRATION_ILLUMINANT_1_VALUE_TUNGSTEN = 3; 154 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FLASH = 4; 155 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FINE_WEATHER = 9; 156 public static final int CALIBRATION_ILLUMINANT_1_VALUE_CLOUDY = 10; 157 public static final int CALIBRATION_ILLUMINANT_1_VALUE_SHADE = 11; 158 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAYLIGHT_FLUORESCENT = 12; 159 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAY_WHITE_FLUORESCENT = 13; 160 public static final int CALIBRATION_ILLUMINANT_1_VALUE_COOL_WHITE_FLUORESCENT = 14; 161 public static final int CALIBRATION_ILLUMINANT_1_VALUE_WHITE_FLUORESCENT = 15; 162 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_A = 17; 163 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_B = 18; 164 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_C = 19; 165 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D55 = 20; 166 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D65 = 21; 167 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D75 = 22; 168 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D50 = 23; 169 public static final int CALIBRATION_ILLUMINANT_1_VALUE_ISO_STUDIO_TUNGSTEN = 24; 170 public static final int CALIBRATION_ILLUMINANT_1_VALUE_OTHER = 255; 171 172 public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_2 = new TagInfoShort("CalibrationIlluminant2", 0xc65b, 173 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 174 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAYLIGHT = 1; 175 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FLUORESCENT = 2; 176 public static final int CALIBRATION_ILLUMINANT_2_VALUE_TUNGSTEN = 3; 177 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FLASH = 4; 178 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FINE_WEATHER = 9; 179 public static final int CALIBRATION_ILLUMINANT_2_VALUE_CLOUDY = 10; 180 public static final int CALIBRATION_ILLUMINANT_2_VALUE_SHADE = 11; 181 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAYLIGHT_FLUORESCENT = 12; 182 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAY_WHITE_FLUORESCENT = 13; 183 public static final int CALIBRATION_ILLUMINANT_2_VALUE_COOL_WHITE_FLUORESCENT = 14; 184 public static final int CALIBRATION_ILLUMINANT_2_VALUE_WHITE_FLUORESCENT = 15; 185 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_A = 17; 186 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_B = 18; 187 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_C = 19; 188 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D55 = 20; 189 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D65 = 21; 190 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D75 = 22; 191 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D50 = 23; 192 public static final int CALIBRATION_ILLUMINANT_2_VALUE_ISO_STUDIO_TUNGSTEN = 24; 193 public static final int CALIBRATION_ILLUMINANT_2_VALUE_OTHER = 255; 194 195 public static final TagInfoRational EXIF_TAG_BEST_QUALITY_SCALE = new TagInfoRational("BestQualityScale", 0xc65c, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 196 197 public static final TagInfoBytes EXIF_TAG_RAW_DATA_UNIQUE_ID = new TagInfoBytes("RawDataUniqueID", 0xc65d, 16, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 198 199 public static final TagInfoAsciiOrByte EXIF_TAG_ORIGINAL_RAW_FILE_NAME = new TagInfoAsciiOrByte("OriginalRawFileName", 0xc68b, -1, 200 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 201 202 public static final TagInfoUndefineds EXIF_TAG_ORIGINAL_RAW_FILE_DATA = new TagInfoUndefineds("OriginalRawFileData", 0xc68c, -1, 203 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 204 205 public static final TagInfoShortOrLong EXIF_TAG_ACTIVE_AREA = new TagInfoShortOrLong("ActiveArea", 0xc68d, 4, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 206 207 public static final TagInfoShortOrLong EXIF_TAG_MASKED_AREAS = new TagInfoShortOrLong("MaskedAreas", 0xc68e, 4, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 208 209 public static final TagInfoUndefineds EXIF_TAG_AS_SHOT_ICCPROFILE = new TagInfoUndefineds("AsShotICCProfile", 0xc68f, -1, 210 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 211 212 public static final TagInfoSRationals EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX = new TagInfoSRationals("AsShotPreProfileMatrix", 0xc690, -1, 213 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 214 215 public static final TagInfoUndefineds EXIF_TAG_CURRENT_ICCPROFILE = new TagInfoUndefineds("CurrentICCProfile", 0xc691, -1, 216 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 217 218 public static final TagInfoSRationals EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX = new TagInfoSRationals("CurrentPreProfileMatrix", 0xc692, -1, 219 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 220 221 public static final TagInfoShort EXIF_TAG_COLORIMETRIC_REFERENCE = new TagInfoShort("ColorimetricReference", 0xc6bf, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 222 public static final short COLORIMETRIC_REFERENCE_VALUE_SCENE_REFERRED = 0; 223 public static final short COLORIMETRIC_REFERENCE_VALUE_OUTPUT_REFERRED = 1; 224 225 public static final TagInfoAsciiOrByte EXIF_TAG_CAMERA_CALIBRATION_SIGNATURE = new TagInfoAsciiOrByte("CameraCalibrationSignature", 0xc6f3, -1, 226 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 227 228 public static final TagInfoAsciiOrByte EXIF_TAG_PROFILE_CALIBRATION_SIGNATURE = new TagInfoAsciiOrByte("ProfileCalibrationSignature", 0xc6f4, -1, 229 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 230 231 public static final TagInfoLongs EXIF_TAG_EXTRA_CAMERA_PROFILES = new TagInfoLongs("ExtraCameraProfiles", 0xc6f5, -1, 232 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 233 234 public static final TagInfoAsciiOrByte EXIF_TAG_AS_SHOT_PROFILE_NAME = new TagInfoAsciiOrByte("AsShotProfileName", 0xc6f6, -1, 235 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 236 237 public static final TagInfoRational EXIF_TAG_NOISE_REDUCTION_APPLIED = new TagInfoRational("NoiseReductionApplied", 0xc6f7, 238 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 239 240 public static final TagInfoAscii EXIF_TAG_PROFILE_NAME = new TagInfoAscii("ProfileName", 0xc6f8, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 241 242 public static final TagInfoLongs EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS = new TagInfoLongs("ProfileHueSatMapDims", 0xc6f9, 3, 243 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 244 245 public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1 = new TagInfoFloats("ProfileHueSatMapData1", 0xc6fa, -1, 246 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 247 248 public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2 = new TagInfoFloats("ProfileHueSatMapData2", 0xc6fb, -1, 249 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 250 251 public static final TagInfoFloats EXIF_TAG_PROFILE_TONE_CURVE = new TagInfoFloats("ProfileToneCurve", 0xc6fc, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 252 253 public static final TagInfoLong EXIF_TAG_PROFILE_EMBED_POLICY = new TagInfoLong("ProfileEmbedPolicy", 0xc6fd, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 254 public static final int PROFILE_EMBED_POLICY_VALUE_ALLOW_COPYING = 0; 255 public static final int PROFILE_EMBED_POLICY_VALUE_EMBED_IF_USED = 1; 256 public static final int PROFILE_EMBED_POLICY_VALUE_EMBED_NEVER = 2; 257 public static final int PROFILE_EMBED_POLICY_VALUE_NO_RESTRICTIONS = 3; 258 259 public static final TagInfoAsciiOrByte EXIF_TAG_PROFILE_COPYRIGHT = new TagInfoAsciiOrByte("ProfileCopyright", 0xc6fe, -1, 260 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 261 262 public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX1 = new TagInfoSRationals("ForwardMatrix1", 0xc714, -1, 263 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 264 265 public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX2 = new TagInfoSRationals("ForwardMatrix2", 0xc715, -1, 266 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 267 268 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_APPLICATION_NAME = new TagInfoAsciiOrByte("PreviewApplicationName", 0xc716, -1, 269 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 270 271 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_APPLICATION_VERSION = new TagInfoAsciiOrByte("PreviewApplicationVersion", 0xc717, -1, 272 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 273 274 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_SETTINGS_NAME = new TagInfoAsciiOrByte("PreviewSettingsName", 0xc718, -1, 275 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 276 277 public static final TagInfoBytes EXIF_TAG_PREVIEW_SETTINGS_DIGEST = new TagInfoBytes("PreviewSettingsDigest", 0xc719, 16, 278 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 279 280 public static final TagInfoLong EXIF_TAG_PREVIEW_COLORSPACE = new TagInfoLong("PreviewColorspace", 0xc71a, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 281 public static final int PREVIEW_COLORSPACE_VALUE_UNKNOWN = 0; 282 public static final int PREVIEW_COLORSPACE_VALUE_GRAY_GAMMA_2_2 = 1; 283 public static final int PREVIEW_COLORSPACE_VALUE_sRGB = 2; 284 public static final int PREVIEW_COLORSPACE_VALUE_ADOBE_RGB = 3; 285 public static final int PREVIEW_COLORSPACE_VALUE_PROPHOTO_RGB = 4; 286 287 public static final TagInfoAscii EXIF_TAG_PREVIEW_DATE_TIME = new TagInfoAscii("PreviewDateTime", 0xc71b, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 288 289 public static final TagInfoBytes EXIF_TAG_RAW_IMAGE_DIGEST = new TagInfoBytes("RawImageDigest", 0xc71c, 16, TiffDirectoryType.EXIF_DIRECTORY_IFD0); 290 291 public static final TagInfoBytes EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST = new TagInfoBytes("OriginalRawFileDigest", 0xc71d, 16, 292 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 293 294 public static final TagInfoShortOrLong EXIF_TAG_SUB_TILE_BLOCK_SIZE = new TagInfoShortOrLong("SubTileBlockSize", 0xc71e, 2, 295 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 296 297 public static final TagInfoShortOrLong EXIF_TAG_ROW_INTERLEAVE_FACTOR = new TagInfoShortOrLong("RowInterleaveFactor", 0xc71f, 1, 298 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 299 300 public static final TagInfoLongs EXIF_TAG_PROFILE_LOOK_TABLE_DIMS = new TagInfoLongs("ProfileLookTableDims", 0xc725, 3, 301 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 302 303 public static final TagInfoFloats EXIF_TAG_PROFILE_LOOK_TABLE_DATA = new TagInfoFloats("ProfileLookTableData", 0xc726, -1, 304 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 305 306 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_1 = new TagInfoUndefineds("OpcodeList1", 0xc740, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 307 308 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_2 = new TagInfoUndefineds("OpcodeList2", 0xc741, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 309 310 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_3 = new TagInfoUndefineds("OpcodeList3", 0xc74E, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 311 312 public static final TagInfoDoubles EXIF_TAG_NOISE_PROFILE = new TagInfoDoubles("NoiseProfile", 0xc761, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 313 314 public static final List<TagInfo> ALL_DNG_TAGS = Collections.unmodifiableList(Arrays.asList(EXIF_TAG_DNG_VERSION, EXIF_TAG_DNG_BACKWARD_VERSION, 315 EXIF_TAG_UNIQUE_CAMERA_MODEL, EXIF_TAG_LOCALIZED_CAMERA_MODEL, EXIF_TAG_CFAPLANE_COLOR, EXIF_TAG_CFALAYOUT, EXIF_TAG_LINEARIZATION_TABLE, 316 EXIF_TAG_BLACK_LEVEL_REPEAT_DIM, EXIF_TAG_BLACK_LEVEL, EXIF_TAG_BLACK_LEVEL_DELTA_H, EXIF_TAG_BLACK_LEVEL_DELTA_V, EXIF_TAG_WHITE_LEVEL, 317 EXIF_TAG_DEFAULT_SCALE, EXIF_TAG_DEFAULT_CROP_ORIGIN, EXIF_TAG_DEFAULT_CROP_SIZE, EXIF_TAG_COLOR_MATRIX_1, EXIF_TAG_COLOR_MATRIX_2, 318 EXIF_TAG_CAMERA_CALIBRATION_1, EXIF_TAG_CAMERA_CALIBRATION_2, EXIF_TAG_REDUCTION_MATRIX_1, EXIF_TAG_REDUCTION_MATRIX_2, EXIF_TAG_ANALOG_BALANCE, 319 EXIF_TAG_AS_SHOT_NEUTRAL, EXIF_TAG_AS_SHOT_WHITE_XY, EXIF_TAG_BASELINE_EXPOSURE, EXIF_TAG_BASELINE_NOISE, EXIF_TAG_BASELINE_SHARPNESS, 320 EXIF_TAG_BAYER_GREEN_SPLIT, EXIF_TAG_LINEAR_RESPONSE_LIMIT, EXIF_TAG_CAMERA_SERIAL_NUMBER, EXIF_TAG_DNG_LENS_INFO, EXIF_TAG_CHROMA_BLUR_RADIUS, 321 EXIF_TAG_ANTI_ALIAS_STRENGTH, EXIF_TAG_SHADOW_SCALE, EXIF_TAG_DNG_PRIVATE_DATA, EXIF_TAG_MAKER_NOTE_SAFETY, EXIF_TAG_CALIBRATION_ILLUMINANT_1, 322 EXIF_TAG_CALIBRATION_ILLUMINANT_2, EXIF_TAG_BEST_QUALITY_SCALE, EXIF_TAG_RAW_DATA_UNIQUE_ID, EXIF_TAG_ORIGINAL_RAW_FILE_NAME, 323 EXIF_TAG_ORIGINAL_RAW_FILE_DATA, EXIF_TAG_ACTIVE_AREA, EXIF_TAG_MASKED_AREAS, EXIF_TAG_AS_SHOT_ICCPROFILE, EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX, 324 EXIF_TAG_CURRENT_ICCPROFILE, EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX, EXIF_TAG_COLORIMETRIC_REFERENCE, EXIF_TAG_CAMERA_CALIBRATION_SIGNATURE, 325 EXIF_TAG_PROFILE_CALIBRATION_SIGNATURE, EXIF_TAG_EXTRA_CAMERA_PROFILES, EXIF_TAG_AS_SHOT_PROFILE_NAME, EXIF_TAG_NOISE_REDUCTION_APPLIED, 326 EXIF_TAG_PROFILE_NAME, EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS, EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1, EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2, 327 EXIF_TAG_PROFILE_TONE_CURVE, EXIF_TAG_PROFILE_EMBED_POLICY, EXIF_TAG_PROFILE_COPYRIGHT, EXIF_TAG_FORWARD_MATRIX1, EXIF_TAG_FORWARD_MATRIX2, 328 EXIF_TAG_PREVIEW_APPLICATION_NAME, EXIF_TAG_PREVIEW_APPLICATION_VERSION, EXIF_TAG_PREVIEW_SETTINGS_NAME, EXIF_TAG_PREVIEW_SETTINGS_DIGEST, 329 EXIF_TAG_PREVIEW_COLORSPACE, EXIF_TAG_PREVIEW_DATE_TIME, EXIF_TAG_RAW_IMAGE_DIGEST, EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST, EXIF_TAG_SUB_TILE_BLOCK_SIZE, 330 EXIF_TAG_ROW_INTERLEAVE_FACTOR, EXIF_TAG_PROFILE_LOOK_TABLE_DIMS, EXIF_TAG_PROFILE_LOOK_TABLE_DATA, EXIF_TAG_OPCODE_LIST_1, EXIF_TAG_OPCODE_LIST_2, 331 EXIF_TAG_OPCODE_LIST_3, EXIF_TAG_NOISE_PROFILE)); 332 333 private DngTagConstants() { 334 } 335}