diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java index 16c85e55e..983918099 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java @@ -41,12 +41,16 @@ import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknowns; /** - * References: - * http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html - * http://tiki-lounge.com/~raf/tiff/fields.html - * http://www.awaresystems.be/imaging/tiff/tifftags.html + * EXIF tags and value constants stored in the {@code Exif} image file directory + * of a TIFF file. * - * "Stonits": http://www.anyhere.com/gward/pixformat/tiffluv.html + *

The Camera & Imaging Products Association (CIPA) + * is the driving body behind the EXIF standard.

+ * @see EXIF Specification + * @see List of EXIF tags supported by exiftool + * @see http://tiki-lounge.com/~raf/tiff/fields.html + * @see AWare Systems’ Imaging / TIFF / TIFF Tag Reference + * @see LogLuv Encoding “StoNits” for TIFF Images */ public final class ExifTagConstants { @@ -59,9 +63,6 @@ public final class ExifTagConstants { public static final TagInfoAscii EXIF_TAG_PROCESSING_SOFTWARE = new TagInfoAscii( "ProcessingSoftware", 0x000b, -1, TiffDirectoryType.EXIF_DIRECTORY_IFD0); - public static final TagInfoAscii EXIF_TAG_SOFTWARE = new TagInfoAscii( - "Software", 0x0131, -1, - TiffDirectoryType.EXIF_DIRECTORY_IFD0); public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_IFD0 = new TagInfoLong( "PreviewImageStart", 0x0111, TiffDirectoryType.EXIF_DIRECTORY_IFD0, true); @@ -80,6 +81,9 @@ public final class ExifTagConstants { public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2 = new TagInfoLong( "JpgFromRawLength", 0x0117, TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2); + public static final TagInfoAscii EXIF_TAG_SOFTWARE = new TagInfoAscii( + "Software", 0x0131, -1, + TiffDirectoryType.EXIF_DIRECTORY_IFD0); public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES = new TagInfoLong( "PreviewImageStart", 0x0201, TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES); @@ -201,14 +205,14 @@ public final class ExifTagConstants { public static final TagInfoShort EXIF_TAG_EXPOSURE_PROGRAM = new TagInfoShort( "ExposureProgram", 0x8822, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int EXPOSURE_PROGRAM_VALUE_MANUAL = 1; - public static final int EXPOSURE_PROGRAM_VALUE_PROGRAM_AE = 2; - public static final int EXPOSURE_PROGRAM_VALUE_APERTURE_PRIORITY_AE = 3; - public static final int EXPOSURE_PROGRAM_VALUE_SHUTTER_SPEED_PRIORITY_AE = 4; - public static final int EXPOSURE_PROGRAM_VALUE_CREATIVE_SLOW_SPEED = 5; - public static final int EXPOSURE_PROGRAM_VALUE_ACTION_HIGH_SPEED = 6; - public static final int EXPOSURE_PROGRAM_VALUE_PORTRAIT = 7; - public static final int EXPOSURE_PROGRAM_VALUE_LANDSCAPE = 8; + public static final short EXPOSURE_PROGRAM_VALUE_MANUAL = 1; + public static final short EXPOSURE_PROGRAM_VALUE_PROGRAM_AE = 2; + public static final short EXPOSURE_PROGRAM_VALUE_APERTURE_PRIORITY_AE = 3; + public static final short EXPOSURE_PROGRAM_VALUE_SHUTTER_SPEED_PRIORITY_AE = 4; + public static final short EXPOSURE_PROGRAM_VALUE_CREATIVE_SLOW_SPEED = 5; + public static final short EXPOSURE_PROGRAM_VALUE_ACTION_HIGH_SPEED = 6; + public static final short EXPOSURE_PROGRAM_VALUE_PORTRAIT = 7; + public static final short EXPOSURE_PROGRAM_VALUE_LANDSCAPE = 8; public static final TagInfoAscii EXIF_TAG_SPECTRAL_SENSITIVITY = new TagInfoAscii( "SpectralSensitivity", 0x8824, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); @@ -218,9 +222,44 @@ public final class ExifTagConstants { public static final TagInfoShorts EXIF_TAG_ISO = new TagInfoShorts( "PhotographicSensitivity", 0x8827, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated The tag does not comply with the EXIF specification. + * Use {@link #EXIF_TAG_OECF} instead. + * @see #EXIF_TAG_OECF + */ + @Deprecated public static final TagInfoUndefineds EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR = new TagInfoUndefineds( "Opto - Electric Conv Factor", 0x8828, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); + public static final TagInfoUndefineds EXIF_TAG_OECF = new TagInfoUndefineds( + "OECF", 0x8828, -1, + TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); + public static final TagInfoShort EXIF_TAG_SENSITIVITY_TYPE = new TagInfoShort( + "SensitivityType", 0x8830, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short SENSITIVITY_TYPE_VALUE_UNKNOWN = 0; + public static final short SENSITIVITY_TYPE_VALUE_SOS = 1; + public static final short SENSITIVITY_TYPE_VALUE_REI = 2; + public static final short SENSITIVITY_TYPE_VALUE_ISO = 3; + public static final short SENSITIVITY_TYPE_VALUE_SOS_REI = 4; + public static final short SENSITIVITY_TYPE_VALUE_SOS_ISO = 5; + public static final short SENSITIVITY_TYPE_VALUE_REI_ISO = 6; + public static final short SENSITIVITY_TYPE_VALUE_SOS_REI_ISO = 7; + public static final TagInfoLong EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY = new TagInfoLong( + "StandardOutputSensitivity", 0x8831, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoLong EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX = new TagInfoLong( + "RecommendedExposureIndex", 0x8832, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoLong EXIF_TAG_ISO_SPEED = new TagInfoLong( + "ISOSpeed", 0x8833, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoLong EXIF_TAG_ISO_SPEED_LATITUDE_YYY = new TagInfoLong( + "ISOSpeedLatitudeyyy", 0x8834, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoLong EXIF_TAG_ISO_SPEED_LATITUDE_ZZZ = new TagInfoLong( + "ISOSpeedLatitudezzz", 0x8835, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoLong EXIF_TAG_LEAF_SUB_IFD = new TagInfoLong( "LeafSubIFD", 0x888a, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); @@ -231,7 +270,17 @@ public final class ExifTagConstants { "DateTimeOriginal", 0x9003, 20, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoAscii EXIF_TAG_DATE_TIME_DIGITIZED = new TagInfoAscii( - "DateTimeDigitized", 0x9004, 20, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + "DateTimeDigitized", 0x9004, 20, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoAscii EXIF_TAG_OFFSET_TIME = new TagInfoAscii( + "OffsetTime", 0x9010, 7, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoAscii EXIF_TAG_OFFSET_TIME_ORIGINAL = new TagInfoAscii( + "OffsetTimeOriginal", 0x9011, 7, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoAscii EXIF_TAG_OFFSET_TIME_DIGITIZED = new TagInfoAscii( + "OffsetTimeDigitized", 0x9012, 7, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoUndefineds EXIF_TAG_COMPONENTS_CONFIGURATION = new TagInfoUndefineds( "ComponentsConfiguration", 0x9101, 4, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); @@ -247,78 +296,93 @@ public final class ExifTagConstants { public static final TagInfoSRational EXIF_TAG_BRIGHTNESS_VALUE = new TagInfoSRational( "BrightnessValue", 0x9203, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated The tag does not comply with the EXIF specification. + * Use {@link #EXIF_TAG_EXPOSURE_BIAS_VALUE} instead. + * @see #EXIF_TAG_EXPOSURE_BIAS_VALUE + */ + @Deprecated public static final TagInfoSRational EXIF_TAG_EXPOSURE_COMPENSATION = new TagInfoSRational( "ExposureCompensation", 0x9204, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoSRational EXIF_TAG_EXPOSURE_BIAS_VALUE = new TagInfoSRational( + "ExposureBiasValue", 0x9204, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoRational EXIF_TAG_MAX_APERTURE_VALUE = new TagInfoRational( "MaxApertureValue", 0x9205, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoRationals EXIF_TAG_SUBJECT_DISTANCE = new TagInfoRationals( - "Subject Distance", 0x9206, -1, + "SubjectDistance", 0x9206, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoShort EXIF_TAG_METERING_MODE = new TagInfoShort( "MeteringMode", 0x9207, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int METERING_MODE_VALUE_AVERAGE = 1; - public static final int METERING_MODE_VALUE_CENTER_WEIGHTED_AVERAGE = 2; - public static final int METERING_MODE_VALUE_SPOT = 3; - public static final int METERING_MODE_VALUE_MULTI_SPOT = 4; - public static final int METERING_MODE_VALUE_MULTI_SEGMENT = 5; - public static final int METERING_MODE_VALUE_PARTIAL = 6; - public static final int METERING_MODE_VALUE_OTHER = 255; + public static final short METERING_MODE_VALUE_UNKNOWN = 0; + public static final short METERING_MODE_VALUE_AVERAGE = 1; + public static final short METERING_MODE_VALUE_CENTER_WEIGHTED_AVERAGE = 2; + public static final short METERING_MODE_VALUE_SPOT = 3; + public static final short METERING_MODE_VALUE_MULTI_SPOT = 4; + public static final short METERING_MODE_VALUE_MULTI_SEGMENT = 5; + public static final short METERING_MODE_VALUE_PARTIAL = 6; + public static final short METERING_MODE_VALUE_OTHER = 255; + public static final short METERING_MODE_DEFAULT_VALUE = + METERING_MODE_VALUE_UNKNOWN; public static final TagInfoShort EXIF_TAG_LIGHT_SOURCE = new TagInfoShort( "LightSource", 0x9208, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int LIGHT_SOURCE_VALUE_DAYLIGHT = 1; - public static final int LIGHT_SOURCE_VALUE_FLUORESCENT = 2; - public static final int LIGHT_SOURCE_VALUE_TUNGSTEN = 3; - public static final int LIGHT_SOURCE_VALUE_FLASH = 4; - public static final int LIGHT_SOURCE_VALUE_FINE_WEATHER = 9; - public static final int LIGHT_SOURCE_VALUE_CLOUDY = 10; - public static final int LIGHT_SOURCE_VALUE_SHADE = 11; - public static final int LIGHT_SOURCE_VALUE_DAYLIGHT_FLUORESCENT = 12; - public static final int LIGHT_SOURCE_VALUE_DAY_WHITE_FLUORESCENT = 13; - public static final int LIGHT_SOURCE_VALUE_COOL_WHITE_FLUORESCENT = 14; - public static final int LIGHT_SOURCE_VALUE_WHITE_FLUORESCENT = 15; - public static final int LIGHT_SOURCE_VALUE_STANDARD_LIGHT_A = 17; - public static final int LIGHT_SOURCE_VALUE_STANDARD_LIGHT_B = 18; - public static final int LIGHT_SOURCE_VALUE_STANDARD_LIGHT_C = 19; - public static final int LIGHT_SOURCE_VALUE_D55 = 20; - public static final int LIGHT_SOURCE_VALUE_D65 = 21; - public static final int LIGHT_SOURCE_VALUE_D75 = 22; - public static final int LIGHT_SOURCE_VALUE_D50 = 23; - public static final int LIGHT_SOURCE_VALUE_ISO_STUDIO_TUNGSTEN = 24; - public static final int LIGHT_SOURCE_VALUE_OTHER = 255; + public static final short LIGHT_SOURCE_VALUE_UNKNOWN = 0; + public static final short LIGHT_SOURCE_VALUE_DAYLIGHT = 1; + public static final short LIGHT_SOURCE_VALUE_FLUORESCENT = 2; + public static final short LIGHT_SOURCE_VALUE_TUNGSTEN = 3; + public static final short LIGHT_SOURCE_VALUE_FLASH = 4; + public static final short LIGHT_SOURCE_VALUE_FINE_WEATHER = 9; + public static final short LIGHT_SOURCE_VALUE_CLOUDY = 10; + public static final short LIGHT_SOURCE_VALUE_SHADE = 11; + public static final short LIGHT_SOURCE_VALUE_DAYLIGHT_FLUORESCENT = 12; + public static final short LIGHT_SOURCE_VALUE_DAY_WHITE_FLUORESCENT = 13; + public static final short LIGHT_SOURCE_VALUE_COOL_WHITE_FLUORESCENT = 14; + public static final short LIGHT_SOURCE_VALUE_WHITE_FLUORESCENT = 15; + public static final short LIGHT_SOURCE_VALUE_STANDARD_LIGHT_A = 17; + public static final short LIGHT_SOURCE_VALUE_STANDARD_LIGHT_B = 18; + public static final short LIGHT_SOURCE_VALUE_STANDARD_LIGHT_C = 19; + public static final short LIGHT_SOURCE_VALUE_D55 = 20; + public static final short LIGHT_SOURCE_VALUE_D65 = 21; + public static final short LIGHT_SOURCE_VALUE_D75 = 22; + public static final short LIGHT_SOURCE_VALUE_D50 = 23; + public static final short LIGHT_SOURCE_VALUE_ISO_STUDIO_TUNGSTEN = 24; + public static final short LIGHT_SOURCE_VALUE_OTHER = 255; + public static final short LIGHT_SOURCE_DEFAULT_VALUE = + LIGHT_SOURCE_VALUE_UNKNOWN; public static final TagInfoShort EXIF_TAG_FLASH = new TagInfoShort( "Flash", 0x9209, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int FLASH_VALUE_NO_FLASH = 0x0; - public static final int FLASH_VALUE_FIRED = 0x1; - public static final int FLASH_VALUE_FIRED_RETURN_NOT_DETECTED = 0x5; - public static final int FLASH_VALUE_FIRED_RETURN_DETECTED = 0x7; - public static final int FLASH_VALUE_ON_DID_NOT_FIRE = 0x8; - public static final int FLASH_VALUE_ON = 0x9; - public static final int FLASH_VALUE_ON_RETURN_NOT_DETECTED = 0xd; - public static final int FLASH_VALUE_ON_RETURN_DETECTED = 0xf; - public static final int FLASH_VALUE_OFF = 0x10; - public static final int FLASH_VALUE_OFF_DID_NOT_FIRE_RETURN_NOT_DETECTED = 0x14; - public static final int FLASH_VALUE_AUTO_DID_NOT_FIRE = 0x18; - public static final int FLASH_VALUE_AUTO_FIRED = 0x19; - public static final int FLASH_VALUE_AUTO_FIRED_RETURN_NOT_DETECTED = 0x1d; - public static final int FLASH_VALUE_AUTO_FIRED_RETURN_DETECTED = 0x1f; - public static final int FLASH_VALUE_NO_FLASH_FUNCTION = 0x20; - public static final int FLASH_VALUE_OFF_NO_FLASH_FUNCTION = 0x30; - public static final int FLASH_VALUE_FIRED_RED_EYE_REDUCTION = 0x41; - public static final int FLASH_VALUE_FIRED_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x45; - public static final int FLASH_VALUE_FIRED_RED_EYE_REDUCTION_RETURN_DETECTED = 0x47; - public static final int FLASH_VALUE_ON_RED_EYE_REDUCTION = 0x49; - public static final int FLASH_VALUE_ON_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x4d; - public static final int FLASH_VALUE_ON_RED_EYE_REDUCTION_RETURN_DETECTED = 0x4f; - public static final int FLASH_VALUE_OFF_RED_EYE_REDUCTION = 0x50; - public static final int FLASH_VALUE_AUTO_DID_NOT_FIRE_RED_EYE_REDUCTION = 0x58; - public static final int FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION = 0x59; - public static final int FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x5d; - public static final int FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_DETECTED = 0x5f; + public static final short FLASH_VALUE_NO_FLASH = 0x0; + public static final short FLASH_VALUE_FIRED = 0x1; + public static final short FLASH_VALUE_FIRED_RETURN_NOT_DETECTED = 0x5; + public static final short FLASH_VALUE_FIRED_RETURN_DETECTED = 0x7; + public static final short FLASH_VALUE_ON_DID_NOT_FIRE = 0x8; + public static final short FLASH_VALUE_ON = 0x9; + public static final short FLASH_VALUE_ON_RETURN_NOT_DETECTED = 0xd; + public static final short FLASH_VALUE_ON_RETURN_DETECTED = 0xf; + public static final short FLASH_VALUE_OFF = 0x10; + public static final short FLASH_VALUE_OFF_DID_NOT_FIRE_RETURN_NOT_DETECTED = 0x14; + public static final short FLASH_VALUE_AUTO_DID_NOT_FIRE = 0x18; + public static final short FLASH_VALUE_AUTO_FIRED = 0x19; + public static final short FLASH_VALUE_AUTO_FIRED_RETURN_NOT_DETECTED = 0x1d; + public static final short FLASH_VALUE_AUTO_FIRED_RETURN_DETECTED = 0x1f; + public static final short FLASH_VALUE_NO_FLASH_FUNCTION = 0x20; + public static final short FLASH_VALUE_OFF_NO_FLASH_FUNCTION = 0x30; + public static final short FLASH_VALUE_FIRED_RED_EYE_REDUCTION = 0x41; + public static final short FLASH_VALUE_FIRED_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x45; + public static final short FLASH_VALUE_FIRED_RED_EYE_REDUCTION_RETURN_DETECTED = 0x47; + public static final short FLASH_VALUE_ON_RED_EYE_REDUCTION = 0x49; + public static final short FLASH_VALUE_ON_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x4d; + public static final short FLASH_VALUE_ON_RED_EYE_REDUCTION_RETURN_DETECTED = 0x4f; + public static final short FLASH_VALUE_OFF_RED_EYE_REDUCTION = 0x50; + public static final short FLASH_VALUE_AUTO_DID_NOT_FIRE_RED_EYE_REDUCTION = 0x58; + public static final short FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION = 0x59; + public static final short FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_NOT_DETECTED = 0x5d; + public static final short FLASH_VALUE_AUTO_FIRED_RED_EYE_REDUCTION_RETURN_DETECTED = 0x5f; public static final TagInfoRationals EXIF_TAG_FOCAL_LENGTH = new TagInfoRationals( "FocalLength", 0x920a, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); @@ -343,44 +407,151 @@ public final class ExifTagConstants { public static final TagInfoAscii EXIF_TAG_SUB_SEC_TIME_DIGITIZED = new TagInfoAscii( "SubSecTimeDigitized", 0x9292, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoSRational EXIF_TAG_TEMPERATURE = new TagInfoSRational( + "Temperature", 0x9400, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_HUMIDITY = new TagInfoRational( + "Humidity", 0x9401, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_PRESSURE = new TagInfoRational( + "Pressure", 0x9402, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_WATER_DEPTH = new TagInfoRational( + "WaterDepth", 0x9403, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_ACCELERATION = new TagInfoRational( + "Acceleration", 0x9404, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoSRational EXIF_TAG_CAMERA_ELEVATION_ANGLE = new TagInfoSRational( + "CameraElevationAngle", 0x9405, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoUndefineds EXIF_TAG_FLASHPIX_VERSION = new TagInfoUndefineds( "FlashpixVersion", 0xa000, 4, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated The tag does not comply with the EXIF specification. + * Use {@link #EXIF_TAG_PIXEL_X_DIMENSION} instead. + * @see #EXIF_TAG_PIXEL_X_DIMENSION + */ + @Deprecated public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_WIDTH = new TagInfoShort( "ExifImageWidth", 0xa002, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoShortOrLong EXIF_TAG_PIXEL_X_DIMENSION = new TagInfoShortOrLong( + "PixelXDimension", 0xa002, 1, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated The tag does not comply with the EXIF specification. + * Use {@link #EXIF_TAG_PIXEL_Y_DIMENSION} instead. + * @see #EXIF_TAG_PIXEL_Y_DIMENSION + */ + @Deprecated public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_LENGTH = new TagInfoShort( "ExifImageLength", 0xa003, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoShortOrLong EXIF_TAG_PIXEL_Y_DIMENSION = new TagInfoShortOrLong( + "PixelYDimension", 0xa003, 1, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD, false); public static final TagInfoAscii EXIF_TAG_RELATED_SOUND_FILE = new TagInfoAscii( "RelatedSoundFile", 0xa004, 13, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoDirectory EXIF_TAG_INTEROP_OFFSET = new TagInfoDirectory( "InteropOffset", 0xa005, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); + /** + * @deprecated The tag does not comply with the EXIF specification. This + * constant does not comply with the Java language constant naming + * convention. Use {@link #EXIF_TAG_FLASH_ENERGY} instead. + * @see #EXIF_TAG_FLASH_ENERGY + */ + @Deprecated public static final TagInfoRationals EXIF_TAG_FLASH_ENERGY_EXIF_IFD = new TagInfoRationals( "FlashEnergy", 0xa20b, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_FLASH_ENERGY = new TagInfoRational( + "FlashEnergy", 0xa20b, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoUndefineds EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2 = new TagInfoUndefineds( "SpatialFrequencyResponse", 0xa20c, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); public static final TagInfoUnknowns EXIF_TAG_NOISE_2 = new TagInfoUnknowns( "Noise", 0xa20d, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_FOCAL_PLANE_X_RESOLUTION} instead. + * @see #EXIF_TAG_FOCAL_PLANE_X_RESOLUTION + */ + @Deprecated public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_XRESOLUTION_EXIF_IFD = new TagInfoRational( "FocalPlaneXResolution", 0xa20e, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_X_RESOLUTION = new TagInfoRational( + "FocalPlaneXResolution", 0xa20e, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION} instead. + * @see #EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION + */ + @Deprecated public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_YRESOLUTION_EXIF_IFD = new TagInfoRational( "FocalPlaneYResolution", 0xa20f, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION = new TagInfoRational( + "FocalPlaneYResolution", 0xa20f, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT} + * instead. + * @see #EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT + */ + @Deprecated public static final TagInfoShort EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD = new TagInfoShort( "FocalPlaneResolutionUnit", 0xa210, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. Do not use it. + */ + @Deprecated public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_NONE = 1; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCH} instead. + * @see #FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCH + */ + @Deprecated public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_INCHES = 2; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #FOCAL_PLANE_RESOLUTION_UNIT_VALUE_CM} instead. + * @see #FOCAL_PLANE_RESOLUTION_UNIT_VALUE_CM + */ + @Deprecated public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_CM = 3; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. Do not use it. + */ + @Deprecated public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_MM = 4; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. Do not use it. + */ + @Deprecated public static final int FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD_VALUE_UM = 5; + public static final TagInfoShort EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT = new TagInfoShort( + "FocalPlaneResolutionUnit", 0xa210, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCH = 2; + public static final short FOCAL_PLANE_RESOLUTION_UNIT_VALUE_CM = 3; + public static final short FOCAL_PLANE_RESOLUTION_UNIT_DEFAULT_VALUE = + FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCH; public static final TagInfoUnknowns EXIF_TAG_IMAGE_NUMBER = new TagInfoUnknowns( "ImageNumber", 0xa211, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); @@ -393,98 +564,331 @@ public final class ExifTagConstants { public static final TagInfoShorts EXIF_TAG_SUBJECT_LOCATION = new TagInfoShorts( "SubjectLocation", 0xa214, 2, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_EXPOSURE_INDEX} + * instead. + * @see #EXIF_TAG_EXPOSURE_INDEX + */ + @Deprecated public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX_EXIF_IFD = new TagInfoRational( "ExposureIndex", 0xa215, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX = new TagInfoRational( + "ExposureIndex", 0xa215, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoUnknowns EXIF_TAG_TIFF_EPSTANDARD_ID_2 = new TagInfoUnknowns( "TIFF-EPStandardID", 0xa216, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_SENSING_METHOD} + * instead. + * @see #EXIF_TAG_SENSING_METHOD + */ + @Deprecated public static final TagInfoShort EXIF_TAG_SENSING_METHOD_EXIF_IFD = new TagInfoShort( "SensingMethod", 0xa217, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_NOT_DEFINED} instead. + * @see #SENSING_METHOD_VALUE_NOT_DEFINED + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_NOT_DEFINED = 1; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA} instead. + * @see #SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_ONE_CHIP_COLOR_AREA = 2; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_TWO_CHIP_COLOR_AREA} instead. + * @see #SENSING_METHOD_VALUE_TWO_CHIP_COLOR_AREA + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_TWO_CHIP_COLOR_AREA = 3; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_THREE_CHIP_COLOR_AREA} instead. + * @see #SENSING_METHOD_VALUE_THREE_CHIP_COLOR_AREA + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_THREE_CHIP_COLOR_AREA = 4; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_AREA} instead. + * @see #SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_AREA + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_COLOR_SEQUENTIAL_AREA = 5; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_TRILINEAR} instead. + * @see #SENSING_METHOD_VALUE_TRILINEAR + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_TRILINEAR = 7; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_LINEAR} instead. + * @see #SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_LINEAR + */ + @Deprecated public static final int SENSING_METHOD_EXIF_IFD_VALUE_COLOR_SEQUENTIAL_LINEAR = 8; + public static final TagInfoShort EXIF_TAG_SENSING_METHOD = new TagInfoShort( + "SensingMethod", 0xa217, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short SENSING_METHOD_VALUE_NOT_DEFINED = 1; + public static final short SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA = 2; + public static final short SENSING_METHOD_VALUE_TWO_CHIP_COLOR_AREA = 3; + public static final short SENSING_METHOD_VALUE_THREE_CHIP_COLOR_AREA = 4; + public static final short SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_AREA = 5; + public static final short SENSING_METHOD_VALUE_TRILINEAR = 7; + public static final short SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_LINEAR = 8; public static final TagInfoUndefined EXIF_TAG_FILE_SOURCE = new TagInfoUndefined( "FileSource", 0xa300, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int FILE_SOURCE_VALUE_FILM_SCANNER = 1; - public static final int FILE_SOURCE_VALUE_REFLECTION_PRINT_SCANNER = 2; - public static final int FILE_SOURCE_VALUE_DIGITAL_CAMERA = 3; + public static final byte FILE_SOURCE_VALUE_FILM_SCANNER = 1; + public static final byte FILE_SOURCE_VALUE_REFLECTION_PRINT_SCANNER = 2; + public static final byte FILE_SOURCE_VALUE_DIGITAL_CAMERA = 3; + public static final byte FILE_SOURCE_DEFAULT_VALUE = + FILE_SOURCE_VALUE_DIGITAL_CAMERA; public static final TagInfoUndefined EXIF_TAG_SCENE_TYPE = new TagInfoUndefined( "SceneType", 0xa301, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_CFA_PATTERN} instead. + * @see #EXIF_TAG_CFA_PATTERN + */ + @Deprecated public static final TagInfoUndefineds EXIF_TAG_CFAPATTERN = new TagInfoUndefineds( "CFAPattern", 0xa302, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoUndefineds EXIF_TAG_CFA_PATTERN = new TagInfoUndefineds( + "CFAPattern", 0xa302, -1, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoShort EXIF_TAG_CUSTOM_RENDERED = new TagInfoShort( "CustomRendered", 0xa401, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int CUSTOM_RENDERED_VALUE_NORMAL = 0; - public static final int CUSTOM_RENDERED_VALUE_CUSTOM = 1; + public static final short CUSTOM_RENDERED_VALUE_NORMAL = 0; + public static final short CUSTOM_RENDERED_VALUE_CUSTOM = 1; + public static final short CUSTOM_RENDERED_DEFAULT_VALUE = + CUSTOM_RENDERED_VALUE_NORMAL; public static final TagInfoShort EXIF_TAG_EXPOSURE_MODE = new TagInfoShort( "ExposureMode", 0xa402, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int EXPOSURE_MODE_VALUE_AUTO = 0; - public static final int EXPOSURE_MODE_VALUE_MANUAL = 1; - public static final int EXPOSURE_MODE_VALUE_AUTO_BRACKET = 2; + public static final short EXPOSURE_MODE_VALUE_AUTO = 0; + public static final short EXPOSURE_MODE_VALUE_MANUAL = 1; + public static final short EXPOSURE_MODE_VALUE_AUTO_BRACKET = 2; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_WHITE_BALANCE} instead. + * @see #EXIF_TAG_WHITE_BALANCE + */ + @Deprecated public static final TagInfoShort EXIF_TAG_WHITE_BALANCE_1 = new TagInfoShort( "WhiteBalance", 0xa403, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #WHITE_BALANCE_VALUE_AUTO} instead. + * @see #WHITE_BALANCE_VALUE_AUTO + */ + @Deprecated public static final int WHITE_BALANCE_1_VALUE_AUTO = 0; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #WHITE_BALANCE_VALUE_MANUAL} instead. + * @see #WHITE_BALANCE_VALUE_MANUAL + */ + @Deprecated public static final int WHITE_BALANCE_1_VALUE_MANUAL = 1; + public static final TagInfoShort EXIF_TAG_WHITE_BALANCE = new TagInfoShort( + "WhiteBalance", 0xa403, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short WHITE_BALANCE_VALUE_AUTO = 0; + public static final short WHITE_BALANCE_VALUE_MANUAL = 1; public static final TagInfoRational EXIF_TAG_DIGITAL_ZOOM_RATIO = new TagInfoRational( "DigitalZoomRatio", 0xa404, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated The tag does not comply with the EXIF specification. + * Use {@link #EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM} instead. + * @see #EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM + */ + @Deprecated public static final TagInfoShort EXIF_TAG_FOCAL_LENGTH_IN_35MM_FORMAT = new TagInfoShort( "FocalLengthIn35mmFormat", 0xa405, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoShort EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM = new TagInfoShort( + "FocalLengthIn35mmFilm", 0xa405, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoShort EXIF_TAG_SCENE_CAPTURE_TYPE = new TagInfoShort( "SceneCaptureType", 0xa406, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int SCENE_CAPTURE_TYPE_VALUE_STANDARD = 0; - public static final int SCENE_CAPTURE_TYPE_VALUE_LANDSCAPE = 1; - public static final int SCENE_CAPTURE_TYPE_VALUE_PORTRAIT = 2; - public static final int SCENE_CAPTURE_TYPE_VALUE_NIGHT = 3; + public static final short SCENE_CAPTURE_TYPE_VALUE_STANDARD = 0; + public static final short SCENE_CAPTURE_TYPE_VALUE_LANDSCAPE = 1; + public static final short SCENE_CAPTURE_TYPE_VALUE_PORTRAIT = 2; + public static final short SCENE_CAPTURE_TYPE_VALUE_NIGHT = 3; + public static final short SCENE_CAPTURE_TYPE_DEFAULT_VALUE = + SCENE_CAPTURE_TYPE_VALUE_STANDARD; public static final TagInfoShort EXIF_TAG_GAIN_CONTROL = new TagInfoShort( "GainControl", 0xa407, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int GAIN_CONTROL_VALUE_NONE = 0; - public static final int GAIN_CONTROL_VALUE_LOW_GAIN_UP = 1; - public static final int GAIN_CONTROL_VALUE_HIGH_GAIN_UP = 2; - public static final int GAIN_CONTROL_VALUE_LOW_GAIN_DOWN = 3; - public static final int GAIN_CONTROL_VALUE_HIGH_GAIN_DOWN = 4; + public static final short GAIN_CONTROL_VALUE_NONE = 0; + public static final short GAIN_CONTROL_VALUE_LOW_GAIN_UP = 1; + public static final short GAIN_CONTROL_VALUE_HIGH_GAIN_UP = 2; + public static final short GAIN_CONTROL_VALUE_LOW_GAIN_DOWN = 3; + public static final short GAIN_CONTROL_VALUE_HIGH_GAIN_DOWN = 4; + public static final short GAIN_CONTROL_DEFAULT_VALUE = + GAIN_CONTROL_VALUE_NONE; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_CONTRAST} instead. + * @see #EXIF_TAG_CONTRAST + */ + @Deprecated public static final TagInfoShort EXIF_TAG_CONTRAST_1 = new TagInfoShort( "Contrast", 0xa408, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #CONTRAST_VALUE_NORMAL} instead. + * @see #CONTRAST_VALUE_NORMAL + */ + @Deprecated public static final int CONTRAST_1_VALUE_NORMAL = 0; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #CONTRAST_VALUE_LOW} instead. + * @see #CONTRAST_VALUE_LOW + */ + @Deprecated public static final int CONTRAST_1_VALUE_LOW = 1; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #CONTRAST_VALUE_HIGH} instead. + * @see #CONTRAST_VALUE_HIGH + */ + @Deprecated public static final int CONTRAST_1_VALUE_HIGH = 2; + public static final TagInfoShort EXIF_TAG_CONTRAST = new TagInfoShort( + "Contrast", 0xa408, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short CONTRAST_VALUE_NORMAL = 0; + public static final short CONTRAST_VALUE_LOW = 1; + public static final short CONTRAST_VALUE_HIGH = 2; + public static final short CONTRAST_DEFAULT_VALUE = + CONTRAST_VALUE_NORMAL; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_SATURATION} instead. + * @see #EXIF_TAG_SATURATION + */ + @Deprecated public static final TagInfoShort EXIF_TAG_SATURATION_1 = new TagInfoShort( "Saturation", 0xa409, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SATURATION_VALUE_NORMAL} instead. + * @see #SATURATION_VALUE_NORMAL + */ + @Deprecated public static final int SATURATION_1_VALUE_NORMAL = 0; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SATURATION_VALUE_LOW} instead. + * @see #SATURATION_VALUE_LOW + */ + @Deprecated public static final int SATURATION_1_VALUE_LOW = 1; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SATURATION_VALUE_HIGH} instead. + * @see #SATURATION_VALUE_HIGH + */ + @Deprecated public static final int SATURATION_1_VALUE_HIGH = 2; + public static final TagInfoShort EXIF_TAG_SATURATION = new TagInfoShort( + "Saturation", 0xa409, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short SATURATION_VALUE_NORMAL = 0; + public static final short SATURATION_VALUE_LOW = 1; + public static final short SATURATION_VALUE_HIGH = 2; + public static final short SATURATION_DEFAULT_VALUE = + SATURATION_VALUE_NORMAL; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention. Use {@link #EXIF_TAG_SHARPNESS} instead. + * @see #EXIF_TAG_SHARPNESS + */ + @Deprecated public static final TagInfoShort EXIF_TAG_SHARPNESS_1 = new TagInfoShort( "Sharpness", 0xa40a, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SHARPNESS_VALUE_NORMAL} instead. + * @see #SHARPNESS_VALUE_NORMAL + */ + @Deprecated public static final int SHARPNESS_1_VALUE_NORMAL = 0; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SHARPNESS_VALUE_SOFT} instead. + * @see #SHARPNESS_VALUE_SOFT + */ + @Deprecated public static final int SHARPNESS_1_VALUE_SOFT = 1; + /** + * @deprecated This constant does not comply with the Java language constant + * naming convention nor the EXIF specification. + * Use {@link #SHARPNESS_VALUE_HARD} instead. + * @see #SHARPNESS_VALUE_HARD + */ + @Deprecated public static final int SHARPNESS_1_VALUE_HARD = 2; + public static final TagInfoShort EXIF_TAG_SHARPNESS = new TagInfoShort( + "Sharpness", 0xa40a, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short SHARPNESS_VALUE_NORMAL = 0; + public static final short SHARPNESS_VALUE_SOFT = 1; + public static final short SHARPNESS_VALUE_HARD = 2; + public static final short SHARPNESS_DEFAULT_VALUE = + SHARPNESS_VALUE_NORMAL; public static final TagInfoUndefineds EXIF_TAG_DEVICE_SETTING_DESCRIPTION = new TagInfoUndefineds( "DeviceSettingDescription", 0xa40b, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN); public static final TagInfoShort EXIF_TAG_SUBJECT_DISTANCE_RANGE = new TagInfoShort( "SubjectDistanceRange", 0xa40c, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); - public static final int SUBJECT_DISTANCE_RANGE_VALUE_MACRO = 1; - public static final int SUBJECT_DISTANCE_RANGE_VALUE_CLOSE = 2; - public static final int SUBJECT_DISTANCE_RANGE_VALUE_DISTANT = 3; + public static final short SUBJECT_DISTANCE_RANGE_VALUE_UNKNOWN = 0; + public static final short SUBJECT_DISTANCE_RANGE_VALUE_MACRO = 1; + public static final short SUBJECT_DISTANCE_RANGE_VALUE_CLOSE = 2; + public static final short SUBJECT_DISTANCE_RANGE_VALUE_DISTANT = 3; public static final TagInfoAscii EXIF_TAG_IMAGE_UNIQUE_ID = new TagInfoAscii( "ImageUniqueID", 0xa420, 33, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); @@ -506,6 +910,19 @@ public final class ExifTagConstants { public static final TagInfoAscii EXIF_TAG_LENS_SERIAL_NUMBER = new TagInfoAscii( "LensSerialNumber", 0xa435, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoShort EXIF_TAG_COMPOSITE_IMAGE = new TagInfoShort( + "CompositeImage", 0xa460, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final short COMPOSITE_IMAGE_VALUE_UNKNOWN = 0; + public static final short COMPOSITE_IMAGE_VALUE_NON_COMPOSITE = 1; + public static final short COMPOSITE_IMAGE_VALUE_COMPOSITE = 2; + public static final short COMPOSITE_IMAGE_VALUE_COMPOSITE_WHEN_SHOOTING = 3; + public static final TagInfoShorts EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = new TagInfoShorts( + "SourceImageNumberOfCompositeImage", 0xa461, 2, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + public static final TagInfoUndefineds EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = new TagInfoUndefineds( + "SourceExposureTimesOfCompositeImage", 0xa462, -1, + TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); public static final TagInfoRational EXIF_TAG_GAMMA = new TagInfoRational( "Gamma", 0xa500, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); @@ -561,94 +978,168 @@ public final class ExifTagConstants { "MoireFilter", 0xfe58, -1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD); + /** + * A non-modifiable list of all EXIF tags ordered by tag id. + * + *

Note: This list is guaranted to be ordered by tag id. + * However, index positions of tags are not guaranteed in + * future releases of Commons Imaging.

+ */ public static final List ALL_EXIF_TAGS = Collections.unmodifiableList(Arrays.asList( - EXIF_TAG_INTEROPERABILITY_INDEX, EXIF_TAG_INTEROPERABILITY_VERSION, + EXIF_TAG_INTEROPERABILITY_INDEX, + EXIF_TAG_INTEROPERABILITY_VERSION, EXIF_TAG_PROCESSING_SOFTWARE, - EXIF_TAG_SOFTWARE, EXIF_TAG_PREVIEW_IMAGE_START_IFD0, EXIF_TAG_PREVIEW_IMAGE_START_SUB_IFD1, EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD2, EXIF_TAG_PREVIEW_IMAGE_LENGTH_IFD0, EXIF_TAG_PREVIEW_IMAGE_LENGTH_SUB_IFD1, EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2, + EXIF_TAG_SOFTWARE, EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES, EXIF_TAG_JPG_FROM_RAW_START_SUB_IFD, - EXIF_TAG_JPG_FROM_RAW_START_IFD2, EXIF_TAG_OTHER_IMAGE_START, + EXIF_TAG_JPG_FROM_RAW_START_IFD2, + EXIF_TAG_OTHER_IMAGE_START, EXIF_TAG_PREVIEW_IMAGE_LENGTH_MAKER_NOTES, EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD, - EXIF_TAG_JPG_FROM_RAW_LENGTH_IFD2, EXIF_TAG_OTHER_IMAGE_LENGTH, + EXIF_TAG_JPG_FROM_RAW_LENGTH_IFD2, + EXIF_TAG_OTHER_IMAGE_LENGTH, EXIF_TAG_APPLICATION_NOTES, - EXIF_TAG_MATTEING, EXIF_TAG_DATA_TYPE, - EXIF_TAG_IMAGE_DEPTH, EXIF_TAG_TILE_DEPTH, EXIF_TAG_MODEL_2, + EXIF_TAG_MATTEING, + EXIF_TAG_DATA_TYPE, + EXIF_TAG_IMAGE_DEPTH, + EXIF_TAG_TILE_DEPTH, + EXIF_TAG_MODEL_2, EXIF_TAG_EXPOSURE_TIME, - EXIF_TAG_FNUMBER, EXIF_TAG_IPTC_NAA, + EXIF_TAG_FNUMBER, + EXIF_TAG_IPTC_NAA, EXIF_TAG_INTERGRAPH_PACKET_DATA, EXIF_TAG_INTERGRAPH_FLAG_REGISTERS, - EXIF_TAG_SITE, EXIF_TAG_COLOR_SEQUENCE, - EXIF_TAG_IT8HEADER, EXIF_TAG_RASTER_PADDING, + EXIF_TAG_SITE, + EXIF_TAG_COLOR_SEQUENCE, + EXIF_TAG_IT8HEADER, + EXIF_TAG_RASTER_PADDING, EXIF_TAG_BITS_PER_RUN_LENGTH, - EXIF_TAG_BITS_PER_EXTENDED_RUN_LENGTH, EXIF_TAG_COLOR_TABLE, + EXIF_TAG_BITS_PER_EXTENDED_RUN_LENGTH, + EXIF_TAG_COLOR_TABLE, EXIF_TAG_IMAGE_COLOR_INDICATOR, - EXIF_TAG_BACKGROUND_COLOR_INDICATOR, EXIF_TAG_IMAGE_COLOR_VALUE, - EXIF_TAG_BACKGROUND_COLOR_VALUE, EXIF_TAG_PIXEL_INTENSITY_RANGE, - EXIF_TAG_TRANSPARENCY_INDICATOR, EXIF_TAG_COLOR_CHARACTERIZATION, - EXIF_TAG_HCUSAGE, EXIF_TAG_SEMINFO, EXIF_TAG_AFCP_IPTC, + EXIF_TAG_BACKGROUND_COLOR_INDICATOR, + EXIF_TAG_IMAGE_COLOR_VALUE, + EXIF_TAG_BACKGROUND_COLOR_VALUE, + EXIF_TAG_PIXEL_INTENSITY_RANGE, + EXIF_TAG_TRANSPARENCY_INDICATOR, + EXIF_TAG_COLOR_CHARACTERIZATION, + EXIF_TAG_HCUSAGE, + EXIF_TAG_SEMINFO, + EXIF_TAG_AFCP_IPTC, EXIF_TAG_LEAF_DATA, - EXIF_TAG_PHOTOSHOP_SETTINGS, EXIF_TAG_EXIF_OFFSET, + EXIF_TAG_PHOTOSHOP_SETTINGS, + EXIF_TAG_EXIF_OFFSET, EXIF_TAG_EXPOSURE_PROGRAM, - EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, EXIF_TAG_ISO, - EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR, + EXIF_TAG_SPECTRAL_SENSITIVITY, + EXIF_TAG_GPSINFO, + EXIF_TAG_ISO, + EXIF_TAG_OECF, + EXIF_TAG_SENSITIVITY_TYPE, + EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY, + EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX, + EXIF_TAG_ISO_SPEED, + EXIF_TAG_ISO_SPEED_LATITUDE_YYY, + EXIF_TAG_ISO_SPEED_LATITUDE_ZZZ, EXIF_TAG_LEAF_SUB_IFD, - EXIF_TAG_EXIF_VERSION, EXIF_TAG_DATE_TIME_ORIGINAL, - EXIF_TAG_DATE_TIME_DIGITIZED, EXIF_TAG_COMPONENTS_CONFIGURATION, - EXIF_TAG_COMPRESSED_BITS_PER_PIXEL, EXIF_TAG_SHUTTER_SPEED_VALUE, - EXIF_TAG_APERTURE_VALUE, EXIF_TAG_BRIGHTNESS_VALUE, - EXIF_TAG_EXPOSURE_COMPENSATION, EXIF_TAG_MAX_APERTURE_VALUE, - EXIF_TAG_SUBJECT_DISTANCE, EXIF_TAG_IMAGE_UNIQUE_ID, + EXIF_TAG_EXIF_VERSION, + EXIF_TAG_DATE_TIME_ORIGINAL, + EXIF_TAG_DATE_TIME_DIGITIZED, + EXIF_TAG_OFFSET_TIME, + EXIF_TAG_OFFSET_TIME_ORIGINAL, + EXIF_TAG_OFFSET_TIME_DIGITIZED, + EXIF_TAG_COMPONENTS_CONFIGURATION, + EXIF_TAG_COMPRESSED_BITS_PER_PIXEL, + EXIF_TAG_SHUTTER_SPEED_VALUE, + EXIF_TAG_APERTURE_VALUE, + EXIF_TAG_BRIGHTNESS_VALUE, + EXIF_TAG_EXPOSURE_BIAS_VALUE, + EXIF_TAG_MAX_APERTURE_VALUE, + EXIF_TAG_SUBJECT_DISTANCE, + EXIF_TAG_METERING_MODE, + EXIF_TAG_LIGHT_SOURCE, + EXIF_TAG_FLASH, + EXIF_TAG_FOCAL_LENGTH, + EXIF_TAG_SUBJECT_AREA, + EXIF_TAG_STO_NITS, + EXIF_TAG_MAKER_NOTE, + EXIF_TAG_USER_COMMENT, + EXIF_TAG_SUB_SEC_TIME, + EXIF_TAG_SUB_SEC_TIME_ORIGINAL, + EXIF_TAG_SUB_SEC_TIME_DIGITIZED, + EXIF_TAG_TEMPERATURE, + EXIF_TAG_HUMIDITY, + EXIF_TAG_PRESSURE, + EXIF_TAG_WATER_DEPTH, + EXIF_TAG_ACCELERATION, + EXIF_TAG_CAMERA_ELEVATION_ANGLE, + EXIF_TAG_FLASHPIX_VERSION, + EXIF_TAG_PIXEL_X_DIMENSION, + EXIF_TAG_PIXEL_Y_DIMENSION, + EXIF_TAG_RELATED_SOUND_FILE, + EXIF_TAG_INTEROP_OFFSET, + EXIF_TAG_FLASH_ENERGY, + EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2, + EXIF_TAG_NOISE_2, + EXIF_TAG_FOCAL_PLANE_X_RESOLUTION, + EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION, + EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT, + EXIF_TAG_IMAGE_NUMBER, + EXIF_TAG_SECURITY_CLASSIFICATION, + EXIF_TAG_IMAGE_HISTORY, + EXIF_TAG_SUBJECT_LOCATION, + EXIF_TAG_EXPOSURE_INDEX, + EXIF_TAG_TIFF_EPSTANDARD_ID_2, + EXIF_TAG_SENSING_METHOD, + EXIF_TAG_FILE_SOURCE, + EXIF_TAG_SCENE_TYPE, + EXIF_TAG_CFA_PATTERN, + EXIF_TAG_CUSTOM_RENDERED, + EXIF_TAG_EXPOSURE_MODE, + EXIF_TAG_WHITE_BALANCE, + EXIF_TAG_DIGITAL_ZOOM_RATIO, + EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM, + EXIF_TAG_SCENE_CAPTURE_TYPE, + EXIF_TAG_GAIN_CONTROL, + EXIF_TAG_CONTRAST, + EXIF_TAG_SATURATION, + EXIF_TAG_SHARPNESS, + EXIF_TAG_DEVICE_SETTING_DESCRIPTION, + EXIF_TAG_SUBJECT_DISTANCE_RANGE, + EXIF_TAG_IMAGE_UNIQUE_ID, EXIF_TAG_CAMERA_OWNER_NAME, EXIF_TAG_BODY_SERIAL_NUMBER, EXIF_TAG_LENS_SPECIFICATION, EXIF_TAG_LENS_MAKE, EXIF_TAG_LENS_MODEL, EXIF_TAG_LENS_SERIAL_NUMBER, - EXIF_TAG_METERING_MODE, - EXIF_TAG_LIGHT_SOURCE, EXIF_TAG_FLASH, EXIF_TAG_FOCAL_LENGTH, - EXIF_TAG_SUBJECT_AREA, - EXIF_TAG_STO_NITS, EXIF_TAG_SUB_SEC_TIME, - EXIF_TAG_SUB_SEC_TIME_ORIGINAL, EXIF_TAG_SUB_SEC_TIME_DIGITIZED, - EXIF_TAG_FLASHPIX_VERSION, - EXIF_TAG_EXIF_IMAGE_WIDTH, EXIF_TAG_EXIF_IMAGE_LENGTH, - EXIF_TAG_RELATED_SOUND_FILE, EXIF_TAG_INTEROP_OFFSET, - EXIF_TAG_FLASH_ENERGY_EXIF_IFD, - EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2, EXIF_TAG_NOISE_2, - EXIF_TAG_FOCAL_PLANE_XRESOLUTION_EXIF_IFD, - EXIF_TAG_FOCAL_PLANE_YRESOLUTION_EXIF_IFD, - EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT_EXIF_IFD, - EXIF_TAG_IMAGE_NUMBER, EXIF_TAG_SECURITY_CLASSIFICATION, - EXIF_TAG_IMAGE_HISTORY, EXIF_TAG_SUBJECT_LOCATION, - EXIF_TAG_EXPOSURE_INDEX_EXIF_IFD, EXIF_TAG_TIFF_EPSTANDARD_ID_2, - EXIF_TAG_SENSING_METHOD_EXIF_IFD, EXIF_TAG_FILE_SOURCE, - EXIF_TAG_SCENE_TYPE, EXIF_TAG_CFAPATTERN, EXIF_TAG_CUSTOM_RENDERED, - EXIF_TAG_EXPOSURE_MODE, EXIF_TAG_WHITE_BALANCE_1, - EXIF_TAG_DIGITAL_ZOOM_RATIO, EXIF_TAG_FOCAL_LENGTH_IN_35MM_FORMAT, - EXIF_TAG_SCENE_CAPTURE_TYPE, EXIF_TAG_GAIN_CONTROL, - EXIF_TAG_CONTRAST_1, EXIF_TAG_SATURATION_1, EXIF_TAG_SHARPNESS_1, - EXIF_TAG_DEVICE_SETTING_DESCRIPTION, - EXIF_TAG_SUBJECT_DISTANCE_RANGE, EXIF_TAG_IMAGE_UNIQUE_ID, + EXIF_TAG_COMPOSITE_IMAGE, + EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE, + EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE, EXIF_TAG_GAMMA, - EXIF_TAG_ANNOTATIONS, EXIF_TAG_PRINT_IM, - EXIF_TAG_OFFSET_SCHEMA, EXIF_TAG_OWNER_NAME, - EXIF_TAG_SERIAL_NUMBER, EXIF_TAG_LENS, EXIF_TAG_RAW_FILE, - EXIF_TAG_CONVERTER, EXIF_TAG_WHITE_BALANCE_2, EXIF_TAG_EXPOSURE, - EXIF_TAG_SHADOWS, EXIF_TAG_BRIGHTNESS, EXIF_TAG_CONTRAST_2, - EXIF_TAG_SATURATION_2, EXIF_TAG_SHARPNESS_2, EXIF_TAG_SMOOTHNESS, - EXIF_TAG_MOIRE_FILTER, - - EXIF_TAG_USER_COMMENT, // - - EXIF_TAG_MAKER_NOTE)); + EXIF_TAG_ANNOTATIONS, + EXIF_TAG_PRINT_IM, + EXIF_TAG_OFFSET_SCHEMA, + EXIF_TAG_OWNER_NAME, + EXIF_TAG_SERIAL_NUMBER, + EXIF_TAG_LENS, + EXIF_TAG_RAW_FILE, + EXIF_TAG_CONVERTER, + EXIF_TAG_WHITE_BALANCE_2, + EXIF_TAG_EXPOSURE, + EXIF_TAG_SHADOWS, + EXIF_TAG_BRIGHTNESS, + EXIF_TAG_CONTRAST_2, + EXIF_TAG_SATURATION_2, + EXIF_TAG_SHARPNESS_2, + EXIF_TAG_SMOOTHNESS, + EXIF_TAG_MOIRE_FILTER)); - private ExifTagConstants() { - } + private ExifTagConstants() {} } diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java index 598374ed0..56a2ba881 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java @@ -29,6 +29,11 @@ import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals; import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort; +/** + * GPS tags and value constants stored in the {@code GPSInfo} image file + * directory of a TIFF file. + * @see EXIF Specification + */ public final class GpsTagConstants { public static final TagInfoBytes GPS_TAG_GPS_VERSION_ID = new TagInfoBytes( @@ -70,8 +75,8 @@ public static byte[] gpsVersion() { "GPSAltitudeRef", 0x0005, TiffDirectoryType.EXIF_DIRECTORY_GPS); - public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL = 0; - public static final int GPS_TAG_GPS_ALTITUDE_REF_VALUE_BELOW_SEA_LEVEL = 1; + public static final byte GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL = 0; + public static final byte GPS_TAG_GPS_ALTITUDE_REF_VALUE_BELOW_SEA_LEVEL = 1; // ************************************************************ public static final TagInfoRational GPS_TAG_GPS_ALTITUDE = new TagInfoRational( "GPSAltitude", 0x0006, @@ -99,8 +104,8 @@ public static byte[] gpsVersion() { "GPSMeasureMode", 0x000a, 2, TiffDirectoryType.EXIF_DIRECTORY_GPS); - public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_2_DIMENSIONAL_MEASUREMENT = 2; - public static final int GPS_TAG_GPS_MEASURE_MODE_VALUE_3_DIMENSIONAL_MEASUREMENT = 3; + public static final String GPS_TAG_GPS_MEASURE_MODE_VALUE_2_DIMENSIONAL_MEASUREMENT = "2"; + public static final String GPS_TAG_GPS_MEASURE_MODE_VALUE_3_DIMENSIONAL_MEASUREMENT = "3"; // ************************************************************ public static final TagInfoRational GPS_TAG_GPS_DOP = new TagInfoRational( "GPSDOP", 0x000b, @@ -217,8 +222,8 @@ public static byte[] gpsVersion() { "GPSDifferential", 0x001e, TiffDirectoryType.EXIF_DIRECTORY_GPS); - public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_NO_CORRECTION = 0; - public static final int GPS_TAG_GPS_DIFFERENTIAL_VALUE_DIFFERENTIAL_CORRECTED = 1; + public static final short GPS_TAG_GPS_DIFFERENTIAL_VALUE_NO_CORRECTION = 0; + public static final short GPS_TAG_GPS_DIFFERENTIAL_VALUE_DIFFERENTIAL_CORRECTED = 1; // ************************************************************ public static final List ALL_GPS_TAGS = diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java index 27eeabb37..d9ffbd4e6 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java @@ -35,9 +35,10 @@ import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUnknowns; /** - * Tags from the TIFF6 specification. - *
- * http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf + * Tags from the TIFF6 specification. + *

TIFF is a trademark of Adobe Systems Incorporated or its subsidiaries, + * and may be registered in some jurisdictions.

+ *@see TIFF™ 6.0 Specification */ public final class TiffTagConstants { @@ -56,9 +57,9 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_SUBFILE_TYPE = new TagInfoShort( "SubfileType", 0xFF, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int OLD_SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 1; - public static final int OLD_SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 2; - public static final int OLD_SUBFILE_TYPE_VALUE_SINGLE_PAGE_OF_MULTI_PAGE_IMAGE = 3; + public static final short OLD_SUBFILE_TYPE_VALUE_FULL_RESOLUTION_IMAGE = 1; + public static final short OLD_SUBFILE_TYPE_VALUE_REDUCED_RESOLUTION_IMAGE = 2; + public static final short OLD_SUBFILE_TYPE_VALUE_SINGLE_PAGE_OF_MULTI_PAGE_IMAGE = 3; public static final TagInfoShortOrLong TIFF_TAG_IMAGE_WIDTH = new TagInfoShortOrLong( "ImageWidth", 0x100, 1, @@ -71,65 +72,68 @@ public final class TiffTagConstants { public static final TagInfoShorts TIFF_TAG_BITS_PER_SAMPLE = new TagInfoShorts( "BitsPerSample", 0x102, -1, TiffDirectoryType.TIFF_DIRECTORY_ROOT); + public static final short BITS_PER_SAMPLE_DEFAULT_VALUE = 1; public static final TagInfoShort TIFF_TAG_COMPRESSION = new TagInfoShort( "Compression", 0x103, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int COMPRESSION_VALUE_UNCOMPRESSED = 1; - public static final int COMPRESSION_VALUE_CCITT_1D = 2; - public static final int COMPRESSION_VALUE_T4_GROUP_3_FAX = 3; - public static final int COMPRESSION_VALUE_T6_GROUP_4_FAX = 4; - public static final int COMPRESSION_VALUE_LZW = 5; - public static final int COMPRESSION_VALUE_JPEG_OLD_STYLE = 6; - public static final int COMPRESSION_VALUE_JPEG = 7; - public static final int COMPRESSION_VALUE_ADOBE_DEFLATE = 8; - public static final int COMPRESSION_VALUE_JBIG_B_AND_W = 9; - public static final int COMPRESSION_VALUE_JBIG_COLOR = 10; - public static final int COMPRESSION_VALUE_NEXT = 32766; - public static final int COMPRESSION_VALUE_EPSON_ERF_COMPRESSED = 32769; - public static final int COMPRESSION_VALUE_CCIRLEW = 32771; - public static final int COMPRESSION_VALUE_PACK_BITS = 32773; - public static final int COMPRESSION_VALUE_THUNDERSCAN = 32809; - public static final int COMPRESSION_VALUE_IT8CTPAD = 32895; - public static final int COMPRESSION_VALUE_IT8LW = 32896; - public static final int COMPRESSION_VALUE_IT8MP = 32897; - public static final int COMPRESSION_VALUE_IT8BL = 32898; - public static final int COMPRESSION_VALUE_PIXAR_FILM = 32908; - public static final int COMPRESSION_VALUE_PIXAR_LOG = 32909; - public static final int COMPRESSION_VALUE_DEFLATE = 32946; - public static final int COMPRESSION_VALUE_DCS = 32947; - public static final int COMPRESSION_VALUE_JBIG = 34661; - public static final int COMPRESSION_VALUE_SGILOG = 34676; - public static final int COMPRESSION_VALUE_SGILOG_24 = 34677; - public static final int COMPRESSION_VALUE_JPEG_2000 = 34712; - public static final int COMPRESSION_VALUE_NIKON_NEF_COMPRESSED = 34713; - public static final int COMPRESSION_VALUE_KODAK_DCR_COMPRESSED = 65000; - public static final int COMPRESSION_VALUE_PENTAX_PEF_COMPRESSED = 65535; + public static final short COMPRESSION_VALUE_UNCOMPRESSED = 1; + public static final short COMPRESSION_VALUE_CCITT_1D = 2; + public static final short COMPRESSION_VALUE_T4_GROUP_3_FAX = 3; + public static final short COMPRESSION_VALUE_T6_GROUP_4_FAX = 4; + public static final short COMPRESSION_VALUE_LZW = 5; + public static final short COMPRESSION_VALUE_JPEG_OLD_STYLE = 6; + public static final short COMPRESSION_VALUE_JPEG = 7; + public static final short COMPRESSION_VALUE_ADOBE_DEFLATE = 8; + public static final short COMPRESSION_VALUE_JBIG_B_AND_W = 9; + public static final short COMPRESSION_VALUE_JBIG_COLOR = 10; + public static final short COMPRESSION_VALUE_NEXT = 32766; + public static final short COMPRESSION_VALUE_EPSON_ERF_COMPRESSED =(short)32769; + public static final short COMPRESSION_VALUE_CCIRLEW = (short)32771; + public static final short COMPRESSION_VALUE_PACK_BITS = (short)32773; + public static final short COMPRESSION_VALUE_THUNDERSCAN = (short)32809; + public static final short COMPRESSION_VALUE_IT8CTPAD = (short)32895; + public static final short COMPRESSION_VALUE_IT8LW = (short)32896; + public static final short COMPRESSION_VALUE_IT8MP = (short)32897; + public static final short COMPRESSION_VALUE_IT8BL = (short)32898; + public static final short COMPRESSION_VALUE_PIXAR_FILM = (short)32908; + public static final short COMPRESSION_VALUE_PIXAR_LOG = (short)32909; + public static final short COMPRESSION_VALUE_DEFLATE = (short)32946; + public static final short COMPRESSION_VALUE_DCS = (short)32947; + public static final short COMPRESSION_VALUE_JBIG = (short)34661; + public static final short COMPRESSION_VALUE_SGILOG = (short)34676; + public static final short COMPRESSION_VALUE_SGILOG_24 = (short)34677; + public static final short COMPRESSION_VALUE_JPEG_2000 = (short)34712; + public static final short COMPRESSION_VALUE_NIKON_NEF_COMPRESSED = (short)34713; + public static final short COMPRESSION_VALUE_KODAK_DCR_COMPRESSED = (short)65000; + public static final short COMPRESSION_VALUE_PENTAX_PEF_COMPRESSED = (short)65535; public static final TagInfoShort TIFF_TAG_PHOTOMETRIC_INTERPRETATION = new TagInfoShort( "PhotometricInterpretation", 0x106, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_WHITE_IS_ZERO = 0; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_BLACK_IS_ZERO = 1; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_RGB = 2; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_RGB_PALETTE = 3; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_TRANSPARENCY_MASK = 4; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_CMYK = 5; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_YCB_CR = 6; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_CIELAB = 8; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_ICCLAB = 9; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_ITULAB = 10; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_COLOR_FILTER_ARRAY = 32803; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_PIXAR_LOG_L = 32844; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_PIXAR_LOG_LUV = 32845; - public static final int PHOTOMETRIC_INTERPRETATION_VALUE_LINEAR_RAW = 34892; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_WHITE_IS_ZERO = 0; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_BLACK_IS_ZERO = 1; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_RGB = 2; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_RGB_PALETTE = 3; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_TRANSPARENCY_MASK = 4; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_CMYK = 5; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_YCB_CR = 6; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_CIELAB = 8; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_ICCLAB = 9; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_ITULAB = 10; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_COLOR_FILTER_ARRAY = (short)32803; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_PIXAR_LOG_L = (short)32844; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_PIXAR_LOG_LUV = (short)32845; + public static final short PHOTOMETRIC_INTERPRETATION_VALUE_LINEAR_RAW = (short)34892; public static final TagInfoShort TIFF_TAG_THRESHHOLDING = new TagInfoShort( "Threshholding", 0x107, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int THRESHOLDING_VALUE_NO_DITHERING_OR_HALFTONING = 1; - public static final int THRESHOLDING_VALUE_ORDERED_DITHER_OR_HALFTONE = 2; - public static final int THRESHOLDING_VALUE_RANDOMIZED_DITHER = 3; + public static final short THRESHOLDING_VALUE_NO_DITHERING_OR_HALFTONING = 1; + public static final short THRESHOLDING_VALUE_ORDERED_DITHER_OR_HALFTONE = 2; + public static final short THRESHOLDING_VALUE_RANDOMIZED_DITHER = 3; + public static final short THRESHOLDING_DEFAULT_VALUE = + THRESHOLDING_VALUE_NO_DITHERING_OR_HALFTONING; public static final TagInfoShort TIFF_TAG_CELL_WIDTH = new TagInfoShort( "CellWidth", 0x108, @@ -142,8 +146,10 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_FILL_ORDER = new TagInfoShort( "FillOrder", 0x10A, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int FILL_ORDER_VALUE_NORMAL = 1; - public static final int FILL_ORDER_VALUE_REVERSED = 2; + public static final short FILL_ORDER_VALUE_NORMAL = 1; + public static final short FILL_ORDER_VALUE_REVERSED = 2; + public static final short FILL_ORDER_DEFAULT_VALUE = + FILL_ORDER_VALUE_NORMAL; public static final TagInfoAscii TIFF_TAG_DOCUMENT_NAME = new TagInfoAscii( "DocumentName", 0x10D, -1, @@ -168,18 +174,21 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_ORIENTATION = new TagInfoShort( "Orientation", 0x112, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int ORIENTATION_VALUE_HORIZONTAL_NORMAL = 1; - public static final int ORIENTATION_VALUE_MIRROR_HORIZONTAL = 2; - public static final int ORIENTATION_VALUE_ROTATE_180 = 3; - public static final int ORIENTATION_VALUE_MIRROR_VERTICAL = 4; - public static final int ORIENTATION_VALUE_MIRROR_HORIZONTAL_AND_ROTATE_270_CW = 5; - public static final int ORIENTATION_VALUE_ROTATE_90_CW = 6; - public static final int ORIENTATION_VALUE_MIRROR_HORIZONTAL_AND_ROTATE_90_CW = 7; - public static final int ORIENTATION_VALUE_ROTATE_270_CW = 8; + public static final short ORIENTATION_VALUE_HORIZONTAL_NORMAL = 1; + public static final short ORIENTATION_VALUE_MIRROR_HORIZONTAL = 2; + public static final short ORIENTATION_VALUE_ROTATE_180 = 3; + public static final short ORIENTATION_VALUE_MIRROR_VERTICAL = 4; + public static final short ORIENTATION_VALUE_MIRROR_HORIZONTAL_AND_ROTATE_270_CW = 5; + public static final short ORIENTATION_VALUE_ROTATE_90_CW = 6; + public static final short ORIENTATION_VALUE_MIRROR_HORIZONTAL_AND_ROTATE_90_CW = 7; + public static final short ORIENTATION_VALUE_ROTATE_270_CW = 8; + public static final short ORIENTATION_DEFAULT_VALUE = + ORIENTATION_VALUE_HORIZONTAL_NORMAL; public static final TagInfoShort TIFF_TAG_SAMPLES_PER_PIXEL = new TagInfoShort( "SamplesPerPixel", 0x115, TiffDirectoryType.TIFF_DIRECTORY_ROOT); + public static final short SAMPLES_PER_PIXEL_DEFAULT_VALUE = 1; public static final TagInfoShortOrLong TIFF_TAG_ROWS_PER_STRIP = new TagInfoShortOrLong( "RowsPerStrip", 0x116, 1, @@ -208,8 +217,10 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_PLANAR_CONFIGURATION = new TagInfoShort( "PlanarConfiguration", 0x11C, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int PLANAR_CONFIGURATION_VALUE_CHUNKY = 1; - public static final int PLANAR_CONFIGURATION_VALUE_PLANAR = 2; + public static final short PLANAR_CONFIGURATION_VALUE_CHUNKY = 1; + public static final short PLANAR_CONFIGURATION_VALUE_PLANAR = 2; + public static final short PLANAR_CONFIGURATION_DEFAULT_VALUE = + PLANAR_CONFIGURATION_VALUE_CHUNKY; public static final TagInfoAscii TIFF_TAG_PAGE_NAME = new TagInfoAscii( "PageName", 0x11D, -1, @@ -234,11 +245,15 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_GRAY_RESPONSE_UNIT = new TagInfoShort( "GrayResponseUnit", 0x122, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int GRAY_RESPONSE_UNIT_VALUE_0_1 = 1; - public static final int GRAY_RESPONSE_UNIT_VALUE_0_01 = 2; - public static final int GRAY_RESPONSE_UNIT_VALUE_0_001 = 3; - public static final int GRAY_RESPONSE_UNIT_VALUE_0_0001 = 4; - public static final int GRAY_RESPONSE_UNIT_VALUE_0_00001 = 5; + public static final short GRAY_RESPONSE_UNIT_VALUE_0_1 = 1; + public static final short GRAY_RESPONSE_UNIT_VALUE_0_01 = 2; + public static final short GRAY_RESPONSE_UNIT_VALUE_0_001 = 3; + public static final short GRAY_RESPONSE_UNIT_VALUE_0_0001 = 4; + public static final short GRAY_RESPONSE_UNIT_VALUE_0_00001 = 5; + public static final short GRAY_RESPONSE_UNIT_DEFAULT_VALUE = + GRAY_RESPONSE_UNIT_VALUE_0_01; + public static final short GRAY_RESPONSE_UNIT_RECOMMENDED_VALUE = + GRAY_RESPONSE_UNIT_VALUE_0_001; public static final TagInfoShorts TIFF_TAG_GRAY_RESPONSE_CURVE = new TagInfoShorts( "GrayResponseCurve", 0x123, -1, @@ -255,9 +270,19 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_RESOLUTION_UNIT = new TagInfoShort( "ResolutionUnit", 0x128, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int RESOLUTION_UNIT_VALUE_NONE = 1; + public static final short RESOLUTION_UNIT_VALUE_NONE = 1; + /** + * @deprecated This constant does not comply with the Java language constant naming + * convention nor the TIFF specification. + * Use {@link #RESOLUTION_UNIT_VALUE_INCH} instead. + * @see #RESOLUTION_UNIT_VALUE_INCH + */ + @Deprecated public static final int RESOLUTION_UNIT_VALUE_INCHES = 2; - public static final int RESOLUTION_UNIT_VALUE_CM = 3; + public static final short RESOLUTION_UNIT_VALUE_INCH = 2; + public static final short RESOLUTION_UNIT_VALUE_CM = 3; + public static final short RESOLUTION_UNIT_DEFAULT_VALUE = + RESOLUTION_UNIT_VALUE_INCH; public static final TagInfoShorts TIFF_TAG_PAGE_NUMBER = new TagInfoShorts( "PageNumber", 0x129, 2, @@ -286,9 +311,11 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_PREDICTOR = new TagInfoShort( "Predictor", 0x13D, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int PREDICTOR_VALUE_NONE = 1; - public static final int PREDICTOR_VALUE_HORIZONTAL_DIFFERENCING = 2; - public static final int PREDICTOR_VALUE_FLOATING_POINT_DIFFERENCING = 3; + public static final short PREDICTOR_VALUE_NONE = 1; + public static final short PREDICTOR_VALUE_HORIZONTAL_DIFFERENCING = 2; + public static final short PREDICTOR_VALUE_FLOATING_POINT_DIFFERENCING = 3; + public static final short PREDICTOR_DEFAULT_VALUE = + PREDICTOR_VALUE_NONE; public static final TagInfoRationals TIFF_TAG_WHITE_POINT = new TagInfoRationals( "WhitePoint", 0x13E, 2, @@ -325,8 +352,10 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_INK_SET = new TagInfoShort( "InkSet", 0x14C, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int INK_SET_VALUE_CMYK = 1; - public static final int INK_SET_VALUE_NOT_CMYK = 2; + public static final short INK_SET_VALUE_CMYK = 1; + public static final short INK_SET_VALUE_NOT_CMYK = 2; + public static final short INK_SET_DEFAULT_VALUE = + INK_SET_VALUE_CMYK; public static final TagInfoAscii TIFF_TAG_INK_NAMES = new TagInfoAscii( "InkNames", 0x14D, -1, @@ -347,18 +376,21 @@ public final class TiffTagConstants { public static final TagInfoShorts TIFF_TAG_EXTRA_SAMPLES = new TagInfoShorts( "ExtraSamples", 0x152, -1, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int EXTRA_SAMPLE_ASSOCIATED_ALPHA = 1; - public static final int EXTRA_SAMPLE_UNASSOCIATED_ALPHA = 2; + public static final short EXTRA_SAMPLE_VALUE_UNSPECIFIED = 0; + public static final short EXTRA_SAMPLE_ASSOCIATED_ALPHA = 1; + public static final short EXTRA_SAMPLE_UNASSOCIATED_ALPHA = 2; public static final TagInfoShorts TIFF_TAG_SAMPLE_FORMAT = new TagInfoShorts( "SampleFormat", 0x153, -1, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int SAMPLE_FORMAT_VALUE_UNSIGNED_INTEGER = 1; - public static final int SAMPLE_FORMAT_VALUE_TWOS_COMPLEMENT_SIGNED_INTEGER = 2; - public static final int SAMPLE_FORMAT_VALUE_IEEE_FLOATING_POINT = 3; - public static final int SAMPLE_FORMAT_VALUE_UNDEFINED = 4; - public static final int SAMPLE_FORMAT_VALUE_COMPLEX_INTEGER = 5; - public static final int SAMPLE_FORMAT_VALUE_IEEE_FLOATING_POINT_1 = 6; + public static final short SAMPLE_FORMAT_VALUE_UNSIGNED_INTEGER = 1; + public static final short SAMPLE_FORMAT_VALUE_TWOS_COMPLEMENT_SIGNED_INTEGER = 2; + public static final short SAMPLE_FORMAT_VALUE_IEEE_FLOATING_POINT = 3; + public static final short SAMPLE_FORMAT_VALUE_UNDEFINED = 4; + public static final short SAMPLE_FORMAT_VALUE_COMPLEX_INTEGER = 5; + public static final short SAMPLE_FORMAT_VALUE_IEEE_FLOATING_POINT_1 = 6; + public static final short SAMPLE_FORMAT_DEFAULT_VALUE = + SAMPLE_FORMAT_VALUE_UNSIGNED_INTEGER; public static final TagInfoAny TIFF_TAG_SMIN_SAMPLE_VALUE = new TagInfoAny( "SMinSampleValue", 0x154, -1, @@ -375,8 +407,8 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_JPEG_PROC = new TagInfoShort( "JPEGProc", 0x200, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int JPEGPROC_VALUE_BASELINE = 1; - public static final int JPEGPROC_VALUE_LOSSLESS = 14; + public static final short JPEGPROC_VALUE_BASELINE = 1; + public static final short JPEGPROC_VALUE_LOSSLESS = 14; public static final TagInfoLong TIFF_TAG_JPEG_INTERCHANGE_FORMAT = new TagInfoLong( "JPEGInterchangeFormat", 0x201, @@ -421,8 +453,10 @@ public final class TiffTagConstants { public static final TagInfoShort TIFF_TAG_YCBCR_POSITIONING = new TagInfoShort( "YCbCrPositioning", 0x213, TiffDirectoryType.TIFF_DIRECTORY_ROOT); - public static final int YCB_CR_POSITIONING_VALUE_CENTERED = 1; - public static final int YCB_CR_POSITIONING_VALUE_CO_SITED = 2; + public static final short YCB_CR_POSITIONING_VALUE_CENTERED = 1; + public static final short YCB_CR_POSITIONING_VALUE_CO_SITED = 2; + public static final short YCB_CR_POSITIONING_DEFAULT_VALUE = + YCB_CR_POSITIONING_VALUE_CENTERED; public static final TagInfoLongs TIFF_TAG_REFERENCE_BLACK_WHITE = new TagInfoLongs( "ReferenceBlackWhite", 0x214, -1,