4242
4343/**
4444 * References:
45+ * http://www.cipa.jp/std/std-sec_e.html
46+ * The Camera & Imaging Products Association (CIPA) is the driving body behind the EXIF standard
4547 * http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
4648 * http://tiki-lounge.com/~raf/tiff/fields.html
4749 * http://www.awaresystems.be/imaging/tiff/tifftags.html
@@ -218,9 +220,44 @@ public final class ExifTagConstants {
218220 public static final TagInfoShorts EXIF_TAG_ISO = new TagInfoShorts (
219221 "PhotographicSensitivity" , 0x8827 , -1 ,
220222 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
223+ /**
224+ * @deprecated The tag does not comply with the EXIF specification.
225+ * Use {@link #EXIF_TAG_OECF} instead.
226+ * @see #EXIF_TAG_OECF
227+ */
228+ @ Deprecated
221229 public static final TagInfoUndefineds EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR = new TagInfoUndefineds (
222230 "Opto - Electric Conv Factor" , 0x8828 , -1 ,
223231 TiffDirectoryType .EXIF_DIRECTORY_UNKNOWN );
232+ public static final TagInfoUndefineds EXIF_TAG_OECF = new TagInfoUndefineds (
233+ "OECF" , 0x8828 , -1 ,
234+ TiffDirectoryType .EXIF_DIRECTORY_UNKNOWN );
235+ public static final TagInfoShort EXIF_TAG_SENSITIVITY_TYPE = new TagInfoShort (
236+ "SensitivityType" , 0x8830 ,
237+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
238+ public static final short SENSITIVITY_TYPE_VALUE_UNKNOWN = 0 ;
239+ public static final short SENSITIVITY_TYPE_VALUE_SOS = 1 ;
240+ public static final short SENSITIVITY_TYPE_VALUE_REI = 2 ;
241+ public static final short SENSITIVITY_TYPE_VALUE_ISO = 3 ;
242+ public static final short SENSITIVITY_TYPE_VALUE_SOS_REI = 4 ;
243+ public static final short SENSITIVITY_TYPE_VALUE_SOS_ISO = 5 ;
244+ public static final short SENSITIVITY_TYPE_VALUE_REI_ISO = 6 ;
245+ public static final short SENSITIVITY_TYPE_VALUE_SOS_REI_ISO = 7 ;
246+ public static final TagInfoLong EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY = new TagInfoLong (
247+ "StandardOutputSensitivity" , 0x8831 ,
248+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
249+ public static final TagInfoLong EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX = new TagInfoLong (
250+ "RecommendedExposureIndex" , 0x8832 ,
251+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
252+ public static final TagInfoLong EXIF_TAG_ISO_SPEED = new TagInfoLong (
253+ "ISOSpeed" , 0x8833 ,
254+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
255+ public static final TagInfoLong EXIF_TAG_ISO_SPEED_LATITUDE_YYY = new TagInfoLong (
256+ "ISOSpeedLatitudeyyy" , 0x8834 ,
257+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
258+ public static final TagInfoLong EXIF_TAG_ISO_SPEED_LATITUDE_ZZZ = new TagInfoLong (
259+ "ISOSpeedLatitudezzz" , 0x8834 ,
260+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
224261 public static final TagInfoLong EXIF_TAG_LEAF_SUB_IFD = new TagInfoLong (
225262 "LeafSubIFD" , 0x888a ,
226263 TiffDirectoryType .EXIF_DIRECTORY_UNKNOWN );
@@ -231,10 +268,20 @@ public final class ExifTagConstants {
231268 "DateTimeOriginal" , 0x9003 , 20 ,
232269 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
233270 public static final TagInfoAscii EXIF_TAG_DATE_TIME_DIGITIZED = new TagInfoAscii (
234- "DateTimeDigitized" , 0x9004 , 20 , TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
271+ "DateTimeDigitized" , 0x9004 , 20 ,
272+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
235273 public static final TagInfoUndefineds EXIF_TAG_COMPONENTS_CONFIGURATION = new TagInfoUndefineds (
236274 "ComponentsConfiguration" , 0x9101 , 4 ,
237275 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
276+ public static final TagInfoAscii EXIF_TAG_OFFSET_TIME = new TagInfoAscii (
277+ "OffsetTime" , 0x9010 , 7 ,
278+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
279+ public static final TagInfoAscii EXIF_TAG_OFFSET_TIME_ORIGINAL = new TagInfoAscii (
280+ "OffsetTimeOriginal" , 0x9011 , 7 ,
281+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
282+ public static final TagInfoAscii EXIF_TAG_OFFSET_TIME_DIGITIZED = new TagInfoAscii (
283+ "OffsetTimeDigitized" , 0x9012 , 7 ,
284+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
238285 public static final TagInfoRational EXIF_TAG_COMPRESSED_BITS_PER_PIXEL = new TagInfoRational (
239286 "CompressedBitsPerPixel" , 0x9102 ,
240287 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
@@ -247,14 +294,23 @@ public final class ExifTagConstants {
247294 public static final TagInfoSRational EXIF_TAG_BRIGHTNESS_VALUE = new TagInfoSRational (
248295 "BrightnessValue" , 0x9203 ,
249296 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
297+ /**
298+ * @deprecated The tag does not comply with the EXIF specification.
299+ * Use {@link #EXIF_TAG_EXPOSURE_BIAS_VALUE} instead.
300+ * @see #EXIF_TAG_EXPOSURE_BIAS_VALUE
301+ */
302+ @ Deprecated
250303 public static final TagInfoSRational EXIF_TAG_EXPOSURE_COMPENSATION = new TagInfoSRational (
251304 "ExposureCompensation" , 0x9204 ,
252305 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
306+ public static final TagInfoSRational EXIF_TAG_EXPOSURE_BIAS_VALUE = new TagInfoSRational (
307+ "ExposureBiasValue" , 0x9204 ,
308+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
253309 public static final TagInfoRational EXIF_TAG_MAX_APERTURE_VALUE = new TagInfoRational (
254310 "MaxApertureValue" , 0x9205 ,
255311 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
256312 public static final TagInfoRationals EXIF_TAG_SUBJECT_DISTANCE = new TagInfoRationals (
257- "Subject Distance " , 0x9206 , -1 ,
313+ "SubjectDistance " , 0x9206 , -1 ,
258314 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
259315 public static final TagInfoShort EXIF_TAG_METERING_MODE = new TagInfoShort (
260316 "MeteringMode" , 0x9207 ,
@@ -343,15 +399,51 @@ public final class ExifTagConstants {
343399 public static final TagInfoAscii EXIF_TAG_SUB_SEC_TIME_DIGITIZED = new TagInfoAscii (
344400 "SubSecTimeDigitized" , 0x9292 , -1 ,
345401 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
402+ public static final TagInfoSRational EXIF_TAG_TEMPERATURE = new TagInfoSRational (
403+ "Temperature" , 0x9400 ,
404+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
405+ public static final TagInfoRational EXIF_TAG_HUMIDITY = new TagInfoRational (
406+ "Humidity" , 0x9401 ,
407+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
408+ public static final TagInfoRational EXIF_TAG_PRESSURE = new TagInfoRational (
409+ "Pressure" , 0x9402 ,
410+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
411+ public static final TagInfoRational EXIF_TAG_WATER_DEPTH = new TagInfoRational (
412+ "WaterDepth" , 0x9403 ,
413+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
414+ public static final TagInfoRational EXIF_TAG_ACCELERATION = new TagInfoRational (
415+ "Acceleration" , 0x9404 ,
416+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
417+ public static final TagInfoSRational EXIF_TAG_CAMERA_ELEVATION_ANGLE = new TagInfoSRational (
418+ "CameraElevationAngle" , 0x9405 ,
419+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
346420 public static final TagInfoUndefineds EXIF_TAG_FLASHPIX_VERSION = new TagInfoUndefineds (
347421 "FlashpixVersion" , 0xa000 , 4 ,
348422 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
423+ /**
424+ * @deprecated The tag does not comply with the EXIF specification.
425+ * Use {@link #EXIF_TAG_PIXEL_X_DIMENSION} instead.
426+ * @see #EXIF_TAG_PIXEL_X_DIMENSION
427+ */
428+ @ Deprecated
349429 public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_WIDTH = new TagInfoShort (
350430 "ExifImageWidth" , 0xa002 ,
351431 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
432+ public static final TagInfoShortOrLong EXIF_TAG_PIXEL_X_DIMENSION = new TagInfoShortOrLong (
433+ "PixelXDimension" , 0xa002 , 1 ,
434+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
435+ /**
436+ * @deprecated The tag does not comply with the EXIF specification.
437+ * Use {@link #EXIF_TAG_PIXEL_Y_DIMENSION} instead.
438+ * @see #EXIF_TAG_PIXEL_Y_DIMENSION
439+ */
440+ @ Deprecated
352441 public static final TagInfoShort EXIF_TAG_EXIF_IMAGE_LENGTH = new TagInfoShort (
353442 "ExifImageLength" , 0xa003 ,
354443 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
444+ public static final TagInfoShortOrLong EXIF_TAG_PIXEL_Y_DIMENSION = new TagInfoShortOrLong (
445+ "PixelYDimension" , 0xa003 , 1 ,
446+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD , false );
355447 public static final TagInfoAscii EXIF_TAG_RELATED_SOUND_FILE = new TagInfoAscii (
356448 "RelatedSoundFile" , 0xa004 , 13 ,
357449 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
@@ -418,9 +510,18 @@ public final class ExifTagConstants {
418510 public static final TagInfoUndefined EXIF_TAG_SCENE_TYPE = new TagInfoUndefined (
419511 "SceneType" , 0xa301 ,
420512 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
513+ /**
514+ * @deprecated This constant does not comply with the Java language constant
515+ * naming convention. Use {@link #EXIF_TAG_CFA_PATTERN} instead.
516+ * @see #EXIF_TAG_CFA_PATTERN
517+ */
518+ @ Deprecated
421519 public static final TagInfoUndefineds EXIF_TAG_CFAPATTERN = new TagInfoUndefineds (
422520 "CFAPattern" , 0xa302 , -1 ,
423521 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
522+ public static final TagInfoUndefineds EXIF_TAG_CFA_PATTERN = new TagInfoUndefineds (
523+ "CFAPattern" , 0xa302 , -1 ,
524+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
424525 public static final TagInfoShort EXIF_TAG_CUSTOM_RENDERED = new TagInfoShort (
425526 "CustomRendered" , 0xa401 ,
426527 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
@@ -440,9 +541,18 @@ public final class ExifTagConstants {
440541 public static final TagInfoRational EXIF_TAG_DIGITAL_ZOOM_RATIO = new TagInfoRational (
441542 "DigitalZoomRatio" , 0xa404 ,
442543 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
544+ /**
545+ * @deprecated The tag does not comply with the EXIF specification.
546+ * Use {@link #EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM} instead.
547+ * @see #EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM
548+ */
549+ @ Deprecated
443550 public static final TagInfoShort EXIF_TAG_FOCAL_LENGTH_IN_35MM_FORMAT = new TagInfoShort (
444551 "FocalLengthIn35mmFormat" , 0xa405 ,
445552 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
553+ public static final TagInfoShort EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM = new TagInfoShort (
554+ "FocalLengthIn35mmFilm" , 0xa405 ,
555+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
446556 public static final TagInfoShort EXIF_TAG_SCENE_CAPTURE_TYPE = new TagInfoShort (
447557 "SceneCaptureType" , 0xa406 ,
448558 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
@@ -506,6 +616,19 @@ public final class ExifTagConstants {
506616 public static final TagInfoAscii EXIF_TAG_LENS_SERIAL_NUMBER = new TagInfoAscii (
507617 "LensSerialNumber" , 0xa435 , -1 ,
508618 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
619+ public static final TagInfoShort EXIF_TAG_COMPOSITE_IMAGE = new TagInfoShort (
620+ "CompositeImage" , 0xa460 ,
621+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
622+ public static final short COMPOSITE_IMAGE_VALUE_UNKNOWN = 0 ;
623+ public static final short COMPOSITE_IMAGE_VALUE_NON_COMPOSITE = 1 ;
624+ public static final short COMPOSITE_IMAGE_VALUE_COMPOSITE = 2 ;
625+ public static final short COMPOSITE_IMAGE_VALUE_COMPOSITE_WHEN_SHOOTING = 3 ;
626+ public static final TagInfoShorts EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE = new TagInfoShorts (
627+ "SourceImageNumberOfCompositeImage" , 0xa461 , 2 ,
628+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
629+ public static final TagInfoUndefineds EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE = new TagInfoUndefineds (
630+ "SourceExposureTimesOfCompositeImage" , 0xa462 , -1 ,
631+ TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
509632 public static final TagInfoRational EXIF_TAG_GAMMA = new TagInfoRational (
510633 "Gamma" , 0xa500 ,
511634 TiffDirectoryType .EXIF_DIRECTORY_EXIF_IFD );
@@ -598,27 +721,38 @@ public final class ExifTagConstants {
598721 EXIF_TAG_PHOTOSHOP_SETTINGS , EXIF_TAG_EXIF_OFFSET ,
599722 EXIF_TAG_EXPOSURE_PROGRAM ,
600723 EXIF_TAG_SPECTRAL_SENSITIVITY , EXIF_TAG_GPSINFO , EXIF_TAG_ISO ,
601- EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR ,
724+ EXIF_TAG_OECF ,
725+ EXIF_TAG_SENSITIVITY_TYPE ,
726+ EXIF_TAG_STANDARD_OUTPUT_SENSITIVITY ,
727+ EXIF_TAG_RECOMMENDED_EXPOSURE_INDEX ,
602728 EXIF_TAG_LEAF_SUB_IFD ,
603729 EXIF_TAG_EXIF_VERSION , EXIF_TAG_DATE_TIME_ORIGINAL ,
604730 EXIF_TAG_DATE_TIME_DIGITIZED , EXIF_TAG_COMPONENTS_CONFIGURATION ,
731+ EXIF_TAG_OFFSET_TIME , EXIF_TAG_OFFSET_TIME_ORIGINAL ,
732+ EXIF_TAG_OFFSET_TIME_DIGITIZED ,
605733 EXIF_TAG_COMPRESSED_BITS_PER_PIXEL , EXIF_TAG_SHUTTER_SPEED_VALUE ,
606734 EXIF_TAG_APERTURE_VALUE , EXIF_TAG_BRIGHTNESS_VALUE ,
607- EXIF_TAG_EXPOSURE_COMPENSATION , EXIF_TAG_MAX_APERTURE_VALUE ,
735+ EXIF_TAG_EXPOSURE_BIAS_VALUE , EXIF_TAG_MAX_APERTURE_VALUE ,
608736 EXIF_TAG_SUBJECT_DISTANCE , EXIF_TAG_IMAGE_UNIQUE_ID ,
609737 EXIF_TAG_CAMERA_OWNER_NAME ,
610738 EXIF_TAG_BODY_SERIAL_NUMBER ,
611739 EXIF_TAG_LENS_SPECIFICATION ,
612740 EXIF_TAG_LENS_MAKE ,
613741 EXIF_TAG_LENS_MODEL ,
614742 EXIF_TAG_LENS_SERIAL_NUMBER ,
743+ EXIF_TAG_COMPOSITE_IMAGE ,
744+ EXIF_TAG_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE ,
745+ EXIF_TAG_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE ,
615746 EXIF_TAG_METERING_MODE ,
616747 EXIF_TAG_LIGHT_SOURCE , EXIF_TAG_FLASH , EXIF_TAG_FOCAL_LENGTH ,
617748 EXIF_TAG_SUBJECT_AREA ,
618749 EXIF_TAG_STO_NITS , EXIF_TAG_SUB_SEC_TIME ,
619750 EXIF_TAG_SUB_SEC_TIME_ORIGINAL , EXIF_TAG_SUB_SEC_TIME_DIGITIZED ,
751+ EXIF_TAG_TEMPERATURE , EXIF_TAG_HUMIDITY , EXIF_TAG_PRESSURE ,
752+ EXIF_TAG_WATER_DEPTH , EXIF_TAG_ACCELERATION ,
753+ EXIF_TAG_CAMERA_ELEVATION_ANGLE ,
620754 EXIF_TAG_FLASHPIX_VERSION ,
621- EXIF_TAG_EXIF_IMAGE_WIDTH , EXIF_TAG_EXIF_IMAGE_LENGTH ,
755+ EXIF_TAG_PIXEL_X_DIMENSION , EXIF_TAG_PIXEL_Y_DIMENSION ,
622756 EXIF_TAG_RELATED_SOUND_FILE , EXIF_TAG_INTEROP_OFFSET ,
623757 EXIF_TAG_FLASH_ENERGY_EXIF_IFD ,
624758 EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_2 , EXIF_TAG_NOISE_2 ,
@@ -629,9 +763,9 @@ public final class ExifTagConstants {
629763 EXIF_TAG_IMAGE_HISTORY , EXIF_TAG_SUBJECT_LOCATION ,
630764 EXIF_TAG_EXPOSURE_INDEX_EXIF_IFD , EXIF_TAG_TIFF_EPSTANDARD_ID_2 ,
631765 EXIF_TAG_SENSING_METHOD_EXIF_IFD , EXIF_TAG_FILE_SOURCE ,
632- EXIF_TAG_SCENE_TYPE , EXIF_TAG_CFAPATTERN , EXIF_TAG_CUSTOM_RENDERED ,
766+ EXIF_TAG_SCENE_TYPE , EXIF_TAG_CFA_PATTERN , EXIF_TAG_CUSTOM_RENDERED ,
633767 EXIF_TAG_EXPOSURE_MODE , EXIF_TAG_WHITE_BALANCE_1 ,
634- EXIF_TAG_DIGITAL_ZOOM_RATIO , EXIF_TAG_FOCAL_LENGTH_IN_35MM_FORMAT ,
768+ EXIF_TAG_DIGITAL_ZOOM_RATIO , EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM ,
635769 EXIF_TAG_SCENE_CAPTURE_TYPE , EXIF_TAG_GAIN_CONTROL ,
636770 EXIF_TAG_CONTRAST_1 , EXIF_TAG_SATURATION_1 , EXIF_TAG_SHARPNESS_1 ,
637771 EXIF_TAG_DEVICE_SETTING_DESCRIPTION ,
0 commit comments