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 * <BR> 045 * http://www.adobe.com/products/dng/pdfs/dng_spec_1_3_0_0.pdf 046 */ 047public final class DngTagConstants { 048 049 public static final TagInfoBytes EXIF_TAG_DNG_VERSION = new TagInfoBytes( 050 "DNGVersion", 0xc612, 4, 051 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 052 053 public static final TagInfoBytes EXIF_TAG_DNG_BACKWARD_VERSION = new TagInfoBytes( 054 "DNGBackwardVersion", 0xc613, 4, 055 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 056 057 public static final TagInfoAscii EXIF_TAG_UNIQUE_CAMERA_MODEL = new TagInfoAscii( 058 "UniqueCameraModel", 0xc614, -1, 059 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 060 061 public static final TagInfoAsciiOrByte EXIF_TAG_LOCALIZED_CAMERA_MODEL = new TagInfoAsciiOrByte( 062 "LocalizedCameraModel", 0xc615, -1, 063 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 064 065 public static final TagInfoBytes EXIF_TAG_CFAPLANE_COLOR = new TagInfoBytes( 066 "CFAPlaneColor", 0xc616, -1, 067 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 068 069 public static final TagInfoShort EXIF_TAG_CFALAYOUT = new TagInfoShort( 070 "CFALayout", 0xc617, 071 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 072 public static final int CFALAYOUT_VALUE_RECTANGULAR = 1; 073 public static final int CFALAYOUT_VALUE_EVEN_COLUMNS_OFFSET_DOWN_1_2_ROW = 2; 074 public static final int CFALAYOUT_VALUE_EVEN_COLUMNS_OFFSET_UP_1_2_ROW = 3; 075 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_RIGHT_1_2_COLUMN = 4; 076 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_LEFT_1_2_COLUMN = 5; 077 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_UP_1_2_ROW_EVEN_COLUMNS_OFFSET_LEFT_1_2_COLUMN = 6; 078 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_UP_1_2_ROW_EVEN_COLUMNS_OFFSET_RIGHT_1_2_COLUMN = 7; 079 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_LEFT_1_2_COLUMN = 8; 080 public static final int CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_RIGHT_1_2_COLUMN = 9; 081 082 public static final TagInfoShorts EXIF_TAG_LINEARIZATION_TABLE = new TagInfoShorts( 083 "LinearizationTable", 0xc618, -1, 084 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 085 086 public static final TagInfoShorts EXIF_TAG_BLACK_LEVEL_REPEAT_DIM = new TagInfoShorts( 087 "BlackLevelRepeatDim", 0xc619, 2, 088 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 089 090 public static final TagInfoShortOrLongOrRational EXIF_TAG_BLACK_LEVEL = new TagInfoShortOrLongOrRational( 091 "BlackLevel", 0xc61a, -1, 092 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 093 094 public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_H = new TagInfoSRationals( 095 "BlackLevelDeltaH", 0xc61b, -1, 096 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 097 098 public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_V = new TagInfoSRationals( 099 "BlackLevelDeltaV", 0xc61c, -1, 100 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 101 102 public static final TagInfoShortOrLong EXIF_TAG_WHITE_LEVEL = new TagInfoShortOrLong( 103 "WhiteLevel", 0xc61d, -1, 104 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 105 106 public static final TagInfoRationals EXIF_TAG_DEFAULT_SCALE = new TagInfoRationals( 107 "DefaultScale", 0xc61e, 2, 108 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 109 110 public static final TagInfoShortOrLongOrRational EXIF_TAG_DEFAULT_CROP_ORIGIN = new TagInfoShortOrLongOrRational( 111 "DefaultCropOrigin", 0xc61f, 2, 112 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 113 114 public static final TagInfoShortOrLongOrRational EXIF_TAG_DEFAULT_CROP_SIZE = new TagInfoShortOrLongOrRational( 115 "DefaultCropSize", 0xc620, 2, 116 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 117 118 public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_1 = new TagInfoSRationals( 119 "ColorMatrix1", 0xc621, -1, 120 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 121 122 public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_2 = new TagInfoSRationals( 123 "ColorMatrix2", 0xc622, -1, 124 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 125 126 public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_1 = new TagInfoSRationals( 127 "CameraCalibration1", 0xc623, -1, 128 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 129 130 public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_2 = new TagInfoSRationals( 131 "CameraCalibration2", 0xc624, -1, 132 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 133 134 public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_1 = new TagInfoSRationals( 135 "ReductionMatrix1", 0xc625, -1, 136 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 137 138 public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_2 = new TagInfoSRationals( 139 "ReductionMatrix2", 0xc626, -1, 140 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 141 142 public static final TagInfoRationals EXIF_TAG_ANALOG_BALANCE = new TagInfoRationals( 143 "AnalogBalance", 0xc627, -1, 144 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 145 146 public static final TagInfoShortOrRational EXIF_TAG_AS_SHOT_NEUTRAL = new TagInfoShortOrRational( 147 "AsShotNeutral", 0xc628, -1, 148 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 149 150 public static final TagInfoRationals EXIF_TAG_AS_SHOT_WHITE_XY = new TagInfoRationals( 151 "AsShotWhiteXY", 0xc629, 2, 152 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 153 154 public static final TagInfoSRational EXIF_TAG_BASELINE_EXPOSURE = new TagInfoSRational( 155 "BaselineExposure", 0xc62a, 156 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 157 158 public static final TagInfoRational EXIF_TAG_BASELINE_NOISE = new TagInfoRational( 159 "BaselineNoise", 0xc62b, 160 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 161 162 public static final TagInfoRational EXIF_TAG_BASELINE_SHARPNESS = new TagInfoRational( 163 "BaselineSharpness", 0xc62c, 164 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 165 166 public static final TagInfoLong EXIF_TAG_BAYER_GREEN_SPLIT = new TagInfoLong( 167 "BayerGreenSplit", 0xc62d, 168 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 169 170 public static final TagInfoRational EXIF_TAG_LINEAR_RESPONSE_LIMIT = new TagInfoRational( 171 "LinearResponseLimit", 0xc62e, 172 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 173 174 public static final TagInfoAscii EXIF_TAG_CAMERA_SERIAL_NUMBER = new TagInfoAscii( 175 "CameraSerialNumber", 0xc62f, -1, 176 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 177 178 public static final TagInfoRationals EXIF_TAG_DNG_LENS_INFO = new TagInfoRationals( 179 "DNGLensInfo", 0xc630, 4, 180 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 181 182 public static final TagInfoRational EXIF_TAG_CHROMA_BLUR_RADIUS = new TagInfoRational( 183 "ChromaBlurRadius", 0xc631, 184 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 185 186 public static final TagInfoRational EXIF_TAG_ANTI_ALIAS_STRENGTH = new TagInfoRational( 187 "AntiAliasStrength", 0xc632, 188 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 189 190 public static final TagInfoRational EXIF_TAG_SHADOW_SCALE = new TagInfoRational( 191 "ShadowScale", 0xc633, 192 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 193 194 public static final TagInfoBytes EXIF_TAG_DNG_PRIVATE_DATA = new TagInfoBytes( 195 "DNGPrivateData", 0xc634, -1, 196 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 197 198 public static final TagInfoShort EXIF_TAG_MAKER_NOTE_SAFETY = new TagInfoShort( 199 "MakerNoteSafety", 0xc635, 200 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 201 public static final int MAKER_NOTE_SAFETY_VALUE_UNSAFE = 0; 202 public static final int MAKER_NOTE_SAFETY_VALUE_SAFE = 1; 203 204 public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_1 = new TagInfoShort( 205 "CalibrationIlluminant1", 0xc65a, 206 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 207 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAYLIGHT = 1; 208 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FLUORESCENT = 2; 209 public static final int CALIBRATION_ILLUMINANT_1_VALUE_TUNGSTEN = 3; 210 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FLASH = 4; 211 public static final int CALIBRATION_ILLUMINANT_1_VALUE_FINE_WEATHER = 9; 212 public static final int CALIBRATION_ILLUMINANT_1_VALUE_CLOUDY = 10; 213 public static final int CALIBRATION_ILLUMINANT_1_VALUE_SHADE = 11; 214 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAYLIGHT_FLUORESCENT = 12; 215 public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAY_WHITE_FLUORESCENT = 13; 216 public static final int CALIBRATION_ILLUMINANT_1_VALUE_COOL_WHITE_FLUORESCENT = 14; 217 public static final int CALIBRATION_ILLUMINANT_1_VALUE_WHITE_FLUORESCENT = 15; 218 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_A = 17; 219 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_B = 18; 220 public static final int CALIBRATION_ILLUMINANT_1_VALUE_STANDARD_LIGHT_C = 19; 221 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D55 = 20; 222 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D65 = 21; 223 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D75 = 22; 224 public static final int CALIBRATION_ILLUMINANT_1_VALUE_D50 = 23; 225 public static final int CALIBRATION_ILLUMINANT_1_VALUE_ISO_STUDIO_TUNGSTEN = 24; 226 public static final int CALIBRATION_ILLUMINANT_1_VALUE_OTHER = 255; 227 228 public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_2 = new TagInfoShort( 229 "CalibrationIlluminant2", 0xc65b, 230 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 231 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAYLIGHT = 1; 232 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FLUORESCENT = 2; 233 public static final int CALIBRATION_ILLUMINANT_2_VALUE_TUNGSTEN = 3; 234 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FLASH = 4; 235 public static final int CALIBRATION_ILLUMINANT_2_VALUE_FINE_WEATHER = 9; 236 public static final int CALIBRATION_ILLUMINANT_2_VALUE_CLOUDY = 10; 237 public static final int CALIBRATION_ILLUMINANT_2_VALUE_SHADE = 11; 238 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAYLIGHT_FLUORESCENT = 12; 239 public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAY_WHITE_FLUORESCENT = 13; 240 public static final int CALIBRATION_ILLUMINANT_2_VALUE_COOL_WHITE_FLUORESCENT = 14; 241 public static final int CALIBRATION_ILLUMINANT_2_VALUE_WHITE_FLUORESCENT = 15; 242 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_A = 17; 243 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_B = 18; 244 public static final int CALIBRATION_ILLUMINANT_2_VALUE_STANDARD_LIGHT_C = 19; 245 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D55 = 20; 246 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D65 = 21; 247 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D75 = 22; 248 public static final int CALIBRATION_ILLUMINANT_2_VALUE_D50 = 23; 249 public static final int CALIBRATION_ILLUMINANT_2_VALUE_ISO_STUDIO_TUNGSTEN = 24; 250 public static final int CALIBRATION_ILLUMINANT_2_VALUE_OTHER = 255; 251 252 public static final TagInfoRational EXIF_TAG_BEST_QUALITY_SCALE = new TagInfoRational( 253 "BestQualityScale", 0xc65c, 254 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 255 256 public static final TagInfoBytes EXIF_TAG_RAW_DATA_UNIQUE_ID = new TagInfoBytes( 257 "RawDataUniqueID", 0xc65d, 16, 258 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 259 260 public static final TagInfoAsciiOrByte EXIF_TAG_ORIGINAL_RAW_FILE_NAME = new TagInfoAsciiOrByte( 261 "OriginalRawFileName", 0xc68b, -1, 262 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 263 264 public static final TagInfoUndefineds EXIF_TAG_ORIGINAL_RAW_FILE_DATA = new TagInfoUndefineds( 265 "OriginalRawFileData", 0xc68c, -1, 266 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 267 268 public static final TagInfoShortOrLong EXIF_TAG_ACTIVE_AREA = new TagInfoShortOrLong( 269 "ActiveArea", 0xc68d, 4, 270 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 271 272 public static final TagInfoShortOrLong EXIF_TAG_MASKED_AREAS = new TagInfoShortOrLong( 273 "MaskedAreas", 0xc68e, 4, 274 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 275 276 public static final TagInfoUndefineds EXIF_TAG_AS_SHOT_ICCPROFILE = new TagInfoUndefineds( 277 "AsShotICCProfile", 0xc68f, -1, 278 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 279 280 public static final TagInfoSRationals EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX = new TagInfoSRationals( 281 "AsShotPreProfileMatrix", 0xc690, -1, 282 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 283 284 public static final TagInfoUndefineds EXIF_TAG_CURRENT_ICCPROFILE = new TagInfoUndefineds( 285 "CurrentICCProfile", 0xc691, -1, 286 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 287 288 public static final TagInfoSRationals EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX = new TagInfoSRationals( 289 "CurrentPreProfileMatrix", 0xc692, -1, 290 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 291 292 public static final TagInfoShort EXIF_TAG_COLORIMETRIC_REFERENCE = new TagInfoShort( 293 "ColorimetricReference", 0xc6bf, 294 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 295 public static final short COLORIMETRIC_REFERENCE_VALUE_SCENE_REFERRED = 0; 296 public static final short COLORIMETRIC_REFERENCE_VALUE_OUTPUT_REFERRED = 1; 297 298 public static final TagInfoAsciiOrByte EXIF_TAG_CAMERA_CALIBRATION_SIGNATURE = new TagInfoAsciiOrByte( 299 "CameraCalibrationSignature", 0xc6f3, -1, 300 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 301 302 public static final TagInfoAsciiOrByte EXIF_TAG_PROFILE_CALIBRATION_SIGNATURE = new TagInfoAsciiOrByte( 303 "ProfileCalibrationSignature", 0xc6f4, -1, 304 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 305 306 public static final TagInfoLongs EXIF_TAG_EXTRA_CAMERA_PROFILES = new TagInfoLongs( 307 "ExtraCameraProfiles", 0xc6f5, -1, 308 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 309 310 public static final TagInfoAsciiOrByte EXIF_TAG_AS_SHOT_PROFILE_NAME = new TagInfoAsciiOrByte( 311 "AsShotProfileName", 0xc6f6, -1, 312 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 313 314 public static final TagInfoRational EXIF_TAG_NOISE_REDUCTION_APPLIED = new TagInfoRational( 315 "NoiseReductionApplied", 0xc6f7, 316 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 317 318 public static final TagInfoAscii EXIF_TAG_PROFILE_NAME = new TagInfoAscii( 319 "ProfileName", 0xc6f8, -1, 320 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 321 322 public static final TagInfoLongs EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS = new TagInfoLongs( 323 "ProfileHueSatMapDims", 0xc6f9, 3, 324 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 325 326 public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1 = new TagInfoFloats( 327 "ProfileHueSatMapData1", 0xc6fa, -1, 328 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 329 330 public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2 = new TagInfoFloats( 331 "ProfileHueSatMapData2", 0xc6fb, -1, 332 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 333 334 public static final TagInfoFloats EXIF_TAG_PROFILE_TONE_CURVE = new TagInfoFloats( 335 "ProfileToneCurve", 0xc6fc, -1, 336 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 337 338 public static final TagInfoLong EXIF_TAG_PROFILE_EMBED_POLICY = new TagInfoLong( 339 "ProfileEmbedPolicy", 0xc6fd, 340 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 341 public static final int PROFILE_EMBED_POLICY_VALUE_ALLOW_COPYING = 0; 342 public static final int PROFILE_EMBED_POLICY_VALUE_EMBED_IF_USED = 1; 343 public static final int PROFILE_EMBED_POLICY_VALUE_EMBED_NEVER = 2; 344 public static final int PROFILE_EMBED_POLICY_VALUE_NO_RESTRICTIONS = 3; 345 346 public static final TagInfoAsciiOrByte EXIF_TAG_PROFILE_COPYRIGHT = new TagInfoAsciiOrByte( 347 "ProfileCopyright", 0xc6fe, -1, 348 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 349 350 public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX1 = new TagInfoSRationals( 351 "ForwardMatrix1", 0xc714, -1, 352 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 353 354 public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX2 = new TagInfoSRationals( 355 "ForwardMatrix2", 0xc715, -1, 356 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 357 358 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_APPLICATION_NAME = new TagInfoAsciiOrByte( 359 "PreviewApplicationName", 0xc716, -1, 360 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 361 362 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_APPLICATION_VERSION = new TagInfoAsciiOrByte( 363 "PreviewApplicationVersion", 0xc717, -1, 364 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 365 366 public static final TagInfoAsciiOrByte EXIF_TAG_PREVIEW_SETTINGS_NAME = new TagInfoAsciiOrByte( 367 "PreviewSettingsName", 0xc718, -1, 368 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 369 370 public static final TagInfoBytes EXIF_TAG_PREVIEW_SETTINGS_DIGEST = new TagInfoBytes( 371 "PreviewSettingsDigest", 0xc719, 16, 372 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 373 374 public static final TagInfoLong EXIF_TAG_PREVIEW_COLORSPACE = new TagInfoLong( 375 "PreviewColorspace", 0xc71a, 376 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 377 public static final int PREVIEW_COLORSPACE_VALUE_UNKNOWN = 0; 378 public static final int PREVIEW_COLORSPACE_VALUE_GRAY_GAMMA_2_2 = 1; 379 public static final int PREVIEW_COLORSPACE_VALUE_sRGB = 2; 380 public static final int PREVIEW_COLORSPACE_VALUE_ADOBE_RGB = 3; 381 public static final int PREVIEW_COLORSPACE_VALUE_PROPHOTO_RGB = 4; 382 383 public static final TagInfoAscii EXIF_TAG_PREVIEW_DATE_TIME = new TagInfoAscii( 384 "PreviewDateTime", 0xc71b, -1, 385 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 386 387 public static final TagInfoBytes EXIF_TAG_RAW_IMAGE_DIGEST = new TagInfoBytes( 388 "RawImageDigest", 0xc71c, 16, 389 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 390 391 public static final TagInfoBytes EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST = new TagInfoBytes( 392 "OriginalRawFileDigest", 0xc71d, 16, 393 TiffDirectoryType.EXIF_DIRECTORY_IFD0); 394 395 public static final TagInfoShortOrLong EXIF_TAG_SUB_TILE_BLOCK_SIZE = new TagInfoShortOrLong( 396 "SubTileBlockSize", 0xc71e, 2, 397 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 398 399 public static final TagInfoShortOrLong EXIF_TAG_ROW_INTERLEAVE_FACTOR = new TagInfoShortOrLong( 400 "RowInterleaveFactor", 0xc71f, 1, 401 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 402 403 public static final TagInfoLongs EXIF_TAG_PROFILE_LOOK_TABLE_DIMS = new TagInfoLongs( 404 "ProfileLookTableDims", 0xc725, 3, 405 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 406 407 public static final TagInfoFloats EXIF_TAG_PROFILE_LOOK_TABLE_DATA = new TagInfoFloats( 408 "ProfileLookTableData", 0xc726, -1, 409 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 410 411 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_1 = new TagInfoUndefineds( 412 "OpcodeList1", 0xc740, -1, 413 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 414 415 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_2 = new TagInfoUndefineds( 416 "OpcodeList2", 0xc741, -1, 417 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 418 419 public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_3 = new TagInfoUndefineds( 420 "OpcodeList3", 0xc74E, -1, 421 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 422 423 public static final TagInfoDoubles EXIF_TAG_NOISE_PROFILE = new TagInfoDoubles( 424 "NoiseProfile", 0xc761, -1, 425 TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); 426 427 public static final List<TagInfo> ALL_DNG_TAGS = 428 Collections.unmodifiableList(Arrays.asList( 429 EXIF_TAG_DNG_VERSION, 430 EXIF_TAG_DNG_BACKWARD_VERSION, 431 EXIF_TAG_UNIQUE_CAMERA_MODEL, 432 EXIF_TAG_LOCALIZED_CAMERA_MODEL, 433 EXIF_TAG_CFAPLANE_COLOR, 434 EXIF_TAG_CFALAYOUT, 435 EXIF_TAG_LINEARIZATION_TABLE, 436 EXIF_TAG_BLACK_LEVEL_REPEAT_DIM, 437 EXIF_TAG_BLACK_LEVEL, 438 EXIF_TAG_BLACK_LEVEL_DELTA_H, 439 EXIF_TAG_BLACK_LEVEL_DELTA_V, 440 EXIF_TAG_WHITE_LEVEL, 441 EXIF_TAG_DEFAULT_SCALE, 442 EXIF_TAG_DEFAULT_CROP_ORIGIN, 443 EXIF_TAG_DEFAULT_CROP_SIZE, 444 EXIF_TAG_COLOR_MATRIX_1, 445 EXIF_TAG_COLOR_MATRIX_2, 446 EXIF_TAG_CAMERA_CALIBRATION_1, 447 EXIF_TAG_CAMERA_CALIBRATION_2, 448 EXIF_TAG_REDUCTION_MATRIX_1, 449 EXIF_TAG_REDUCTION_MATRIX_2, 450 EXIF_TAG_ANALOG_BALANCE, 451 EXIF_TAG_AS_SHOT_NEUTRAL, 452 EXIF_TAG_AS_SHOT_WHITE_XY, 453 EXIF_TAG_BASELINE_EXPOSURE, 454 EXIF_TAG_BASELINE_NOISE, 455 EXIF_TAG_BASELINE_SHARPNESS, 456 EXIF_TAG_BAYER_GREEN_SPLIT, 457 EXIF_TAG_LINEAR_RESPONSE_LIMIT, 458 EXIF_TAG_CAMERA_SERIAL_NUMBER, 459 EXIF_TAG_DNG_LENS_INFO, 460 EXIF_TAG_CHROMA_BLUR_RADIUS, 461 EXIF_TAG_ANTI_ALIAS_STRENGTH, 462 EXIF_TAG_SHADOW_SCALE, 463 EXIF_TAG_DNG_PRIVATE_DATA, 464 EXIF_TAG_MAKER_NOTE_SAFETY, 465 EXIF_TAG_CALIBRATION_ILLUMINANT_1, 466 EXIF_TAG_CALIBRATION_ILLUMINANT_2, 467 EXIF_TAG_BEST_QUALITY_SCALE, 468 EXIF_TAG_RAW_DATA_UNIQUE_ID, 469 EXIF_TAG_ORIGINAL_RAW_FILE_NAME, 470 EXIF_TAG_ORIGINAL_RAW_FILE_DATA, 471 EXIF_TAG_ACTIVE_AREA, 472 EXIF_TAG_MASKED_AREAS, 473 EXIF_TAG_AS_SHOT_ICCPROFILE, 474 EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX, 475 EXIF_TAG_CURRENT_ICCPROFILE, 476 EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX, 477 EXIF_TAG_COLORIMETRIC_REFERENCE, 478 EXIF_TAG_CAMERA_CALIBRATION_SIGNATURE, 479 EXIF_TAG_PROFILE_CALIBRATION_SIGNATURE, 480 EXIF_TAG_EXTRA_CAMERA_PROFILES, 481 EXIF_TAG_AS_SHOT_PROFILE_NAME, 482 EXIF_TAG_NOISE_REDUCTION_APPLIED, 483 EXIF_TAG_PROFILE_NAME, 484 EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS, 485 EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1, 486 EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2, 487 EXIF_TAG_PROFILE_TONE_CURVE, 488 EXIF_TAG_PROFILE_EMBED_POLICY, 489 EXIF_TAG_PROFILE_COPYRIGHT, 490 EXIF_TAG_FORWARD_MATRIX1, 491 EXIF_TAG_FORWARD_MATRIX2, 492 EXIF_TAG_PREVIEW_APPLICATION_NAME, 493 EXIF_TAG_PREVIEW_APPLICATION_VERSION, 494 EXIF_TAG_PREVIEW_SETTINGS_NAME, 495 EXIF_TAG_PREVIEW_SETTINGS_DIGEST, 496 EXIF_TAG_PREVIEW_COLORSPACE, 497 EXIF_TAG_PREVIEW_DATE_TIME, 498 EXIF_TAG_RAW_IMAGE_DIGEST, 499 EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST, 500 EXIF_TAG_SUB_TILE_BLOCK_SIZE, 501 EXIF_TAG_ROW_INTERLEAVE_FACTOR, 502 EXIF_TAG_PROFILE_LOOK_TABLE_DIMS, 503 EXIF_TAG_PROFILE_LOOK_TABLE_DATA, 504 EXIF_TAG_OPCODE_LIST_1, 505 EXIF_TAG_OPCODE_LIST_2, 506 EXIF_TAG_OPCODE_LIST_3, 507 EXIF_TAG_NOISE_PROFILE)); 508 509 private DngTagConstants() { 510 } 511}