You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by da...@apache.org on 2012/03/21 09:56:19 UTC
svn commit: r1303315 - in /commons/proper/sanselan/trunk/src:
main/java/org/apache/commons/sanselan/formats/tiff/
main/java/org/apache/commons/sanselan/formats/tiff/constants/
main/java/org/apache/commons/sanselan/formats/tiff/taginfos/
test/java/org/a...
Author: damjan
Date: Wed Mar 21 08:56:18 2012
New Revision: 1303315
URL: http://svn.apache.org/viewvc?rev=1303315&view=rev
Log:
Factor out more tags.
Added:
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java (with props)
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java (with props)
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java (with props)
Modified:
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java
commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java Wed Mar 21 08:56:18 2012
@@ -24,7 +24,6 @@ import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -38,7 +37,7 @@ import org.apache.commons.sanselan.commo
import org.apache.commons.sanselan.common.ImageBuilder;
import org.apache.commons.sanselan.common.bytesource.ByteSource;
import org.apache.commons.sanselan.formats.tiff.TiffDirectory.ImageDataElement;
-import org.apache.commons.sanselan.formats.tiff.constants.ExifTagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
import org.apache.commons.sanselan.formats.tiff.datareaders.DataReader;
@@ -92,7 +91,7 @@ public class TiffImageParser extends Ima
.readFirstDirectory(byteSource, params, false, formatCompliance);
TiffDirectory directory = contents.directories.get(0);
- return directory.getFieldValue(ExifTagConstants.EXIF_TAG_ICC_PROFILE);
+ return directory.getFieldValue(AllTagConstants.EXIF_TAG_ICC_PROFILE);
}
public Dimension getImageSize(ByteSource byteSource, Map params)
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePageMaker6TagConstants.java Wed Mar 21 08:56:18 2012
@@ -50,7 +50,7 @@ public interface AdobePageMaker6TagConst
"Image ID", 0x800d, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final List<TagInfo> ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS =
+ public static final List<TagInfo> ALL_ADOBE_PAGEMAKER_6_TAGS =
Collections.unmodifiableList(Arrays.asList(
TIFF_TAG_SUB_IFD,
TIFF_TAG_CLIP_PATH,
Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java?rev=1303315&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java Wed Mar 21 08:56:18 2012
@@ -0,0 +1,31 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoUndefined;
+
+/**
+ * TIFF specification supplement 2
+ * <BR>
+ * Adobe Photoshop (R) TIFF Technical Notes
+ * <BR>
+ * http://partners.adobe.com/public/developer/en/tiff/TIFFphotoshop.pdf
+ */
+public interface AdobePhotoshopTagConstants {
+ public static final TagInfoUndefined EXIF_TAG_JPEGTABLES = new TagInfoUndefined(
+ "JPEGTables", 0x015b, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoUndefined EXIF_TAG_IMAGE_SOURCE_DATA = new TagInfoUndefined(
+ "Image Source Data", 0x935c, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_IFD0);
+
+ public static final List<TagInfo> ALL_ADOBE_PHOTOSHOP_TAGS =
+ Collections.unmodifiableList(Arrays.asList(new TagInfo[] {
+ EXIF_TAG_JPEGTABLES,
+ EXIF_TAG_IMAGE_SOURCE_DATA
+ }));
+}
Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AdobePhotoshopTagConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java Wed Mar 21 08:56:18 2012
@@ -19,16 +19,26 @@ package org.apache.commons.sanselan.form
import java.util.Collections;
import java.util.List;
-import org.apache.commons.sanselan.SanselanConstants;
import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
-public interface AllTagConstants
- extends
- SanselanConstants
+public interface AllTagConstants extends
+ AdobePhotoshopTagConstants,
+ AdobePageMaker6TagConstants,
+ DcfTagConstants,
+ ExifTagConstants,
+ GpsTagConstants,
+ HylaFaxTagConstants,
+ MicrosoftTagConstants,
+ Rfc2301TagConstants,
+ Tiff4TagConstants,
+ TiffEpTagConstants,
+ TiffTagConstants,
+ WangTagConstants
{
public static final List<TagInfo> ALL_TAGS = Collections.unmodifiableList(
TagConstantsUtils.mergeTagLists(
- AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS,
+ AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAGS,
+ AdobePhotoshopTagConstants.ALL_ADOBE_PHOTOSHOP_TAGS,
DcfTagConstants.ALL_DCF_TAGS,
ExifTagConstants.ALL_EXIF_TAGS,
GpsTagConstants.ALL_GPS_TAGS,
@@ -36,6 +46,7 @@ public interface AllTagConstants
MicrosoftTagConstants.ALL_MICROSOFT_TAGS,
Rfc2301TagConstants.ALL_RFC_2301_TAGS,
Tiff4TagConstants.ALL_TIFF_4_TAGS,
+ TiffEpTagConstants.ALL_TIFF_EP_TAGS,
TiffTagConstants.ALL_TIFF_TAGS,
WangTagConstants.ALL_WANG_TAGS));
}
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java Wed Mar 21 08:56:18 2012
@@ -83,8 +83,6 @@ public interface ExifTagConstants
public static final TagInfoLong EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2 = new TagInfoLong(
"Jpg From Raw Length", 0x0117, 1,
TiffDirectoryType.EXIF_DIRECTORY_SUB_IFD2);
- public static final TagInfoUndefined EXIF_TAG_JPEGTABLES = new TagInfoUndefined("JPEGTables",
- 0x015b, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong EXIF_TAG_PREVIEW_IMAGE_START_MAKER_NOTES = new TagInfoLong(
"Preview Image Start", 0x0201, 1,
TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES);
@@ -123,21 +121,12 @@ public interface ExifTagConstants
0x80e6, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoUnknown EXIF_TAG_MODEL_2 = new TagInfoUnknown("Model 2",
0x827d, -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoShort EXIF_TAG_CFAREPEAT_PATTERN_DIM = new TagInfoShort(
- "CFARepeat Pattern Dim", 0x828d, 2,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoByte EXIF_TAG_CFAPATTERN_2 = new TagInfoByte(
- "CFAPattern 2", 0x828e, -1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- // FIXME: rational or ascii!!! N4378
- public static final TagInfoRational EXIF_TAG_BATTERY_LEVEL = new TagInfoRational(
- "Battery Level", 0x828f, 1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoRational EXIF_TAG_EXPOSURE_TIME = new TagInfoRational(
- "Exposure Time", 0x829a, 1,
+ "Exposure Time", 0x829a, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+ public static final TagInfoRational EXIF_TAG_FNUMBER = new TagInfoRational(
+ "FNumber", 0x829d, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoRational EXIF_TAG_FNUMBER = new TagInfoRational("FNumber",
- 0x829d, 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final TagInfoLong EXIF_TAG_MDFILE_TAG = new TagInfoLong("MDFile Tag",
0x82a5, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoRational EXIF_TAG_MDSCALE_PIXEL = new TagInfoRational(
@@ -235,9 +224,6 @@ public interface ExifTagConstants
public static final TagInfoLong EXIF_TAG_EXIF_OFFSET = new TagInfoLong(
"Exif Offset", 0x8769, 1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
- public static final TagInfoUndefined EXIF_TAG_ICC_PROFILE = new TagInfoUndefined(
- "ICC_ Profile", 0x8773, -1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoShort EXIF_TAG_GEO_TIFF_DIRECTORY = new TagInfoShort(
"Geo Tiff Directory", 0x87af, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -259,24 +245,17 @@ public interface ExifTagConstants
public static final int EXPOSURE_PROGRAM_VALUE_PORTRAIT = 7;
public static final int EXPOSURE_PROGRAM_VALUE_LANDSCAPE = 8;
public static final TagInfoAscii EXIF_TAG_SPECTRAL_SENSITIVITY = new TagInfoAscii(
- "Spectral Sensitivity", 0x8824, 1,
+ "Spectral Sensitivity", 0x8824, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final TagInfoLong EXIF_TAG_GPSINFO = new TagInfoLong(
"GPSInfo", 0x8825, 1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
- public static final TagInfoShort EXIF_TAG_ISO = new TagInfoShort("ISO", 0x8827,
- 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoUndefined EXIF_TAG_OPTO__ELECTRIC_CONV_FACTOR = new TagInfoUndefined(
- "Opto - Electric Conv Factor", 0x8828,
- -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoShort EXIF_TAG_INTERLACE = new TagInfoShort("Interlace",
- 0x8829, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSShort EXIF_TAG_TIME_ZONE_OFFSET = new TagInfoSShort(
- "Time Zone Offset", 0x882a, -1,
- TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoShort EXIF_TAG_SELF_TIMER_MODE = new TagInfoShort(
- "Self Timer Mode", 0x882b, 1,
+ public static final TagInfoShort EXIF_TAG_ISO = new TagInfoShort(
+ "PhotographicSensitivity", 0x8827, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+ public static final TagInfoUndefined EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR = new TagInfoUndefined(
+ "Opto - Electric Conv Factor", 0x8828, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong EXIF_TAG_LEAF_SUB_IFD = new TagInfoLong(
"Leaf Sub IFD", 0x888a, 1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -310,7 +289,7 @@ public interface ExifTagConstants
"Max Aperture Value", 0x9205, 1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final TagInfoRational EXIF_TAG_SUBJECT_DISTANCE = new TagInfoRational(
- "Subject Distance", 0x9206, 1,
+ "Subject Distance", 0x9206, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final TagInfoShort EXIF_TAG_METERING_MODE = new TagInfoShort(
"Metering Mode", 0x9207, 1,
@@ -345,8 +324,9 @@ public interface ExifTagConstants
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 TagInfoShort EXIF_TAG_FLASH = new TagInfoShort("Flash", 0x9209,
- 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+ public static final TagInfoShort EXIF_TAG_FLASH = new TagInfoShort(
+ "Flash", 0x9209, 1,
+ 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;
@@ -375,58 +355,11 @@ public interface ExifTagConstants
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 TagInfoRational EXIF_TAG_FOCAL_LENGTH = new TagInfoRational(
- "Focal Length", 0x920a, 1,
- TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoRational EXIF_TAG_FLASH_ENERGY = new TagInfoRational(
- "Flash Energy", 0x920b, -1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1 = new TagInfoUndefined(
- "Spatial Frequency Response", 0x920c,
- -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_NOISE_1 = new TagInfoUndefined("Noise", 0x920d,
- -1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_XRESOLUTION = new TagInfoRational(
- "Focal Plane XResolution", 0x920e,
- 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_YRESOLUTION = new TagInfoRational(
- "Focal Plane YResolution", 0x920f,
- 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoShort EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT = new TagInfoShort(
- "Focal Plane Resolution Unit", 0x9210,
- 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_NONE = 1;
- public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCHES = 2;
- public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_CM = 3;
- public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_MM = 4;
- public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_UM = 5;
- public static final TagInfoLong EXIF_TAG_IMAGE_NUMBER_EXIF_IFD = new TagInfoLong(
- "Image Number", 0x9211, 1, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoAscii EXIF_TAG_SECURITY_CLASSIFICATION_EXIF_IFD = new TagInfoAscii(
- "Security Classification", 0x9212, 1,
- TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoAscii EXIF_TAG_IMAGE_HISTORY_EXIF_IFD = new TagInfoAscii(
- "Image History", 0x9213, 1,
+ "Focal Length", 0x920a, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final TagInfoShort EXIF_TAG_SUBJECT_LOCATION_1 = new TagInfoShort(
- "Subject Location", 0x9214, 4,
+ "Subject Location", 0x9214, -1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX = new TagInfoRational(
- "Exposure Index", 0x9215, -1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoByte EXIF_TAG_TIFF_EPSTANDARD_ID_1 = new TagInfoByte(
- "TIFF- EPStandard ID", 0x9216, 4,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoShort EXIF_TAG_SENSING_METHOD = new TagInfoShort(
- "Sensing Method", 0x9217, 1,
- TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final int SENSING_METHOD_VALUE_MONOCHROME_AREA = 1;
- public static final int SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA = 2;
- public static final int SENSING_METHOD_VALUE_TWO_CHIP_COLOR_AREA = 3;
- public static final int SENSING_METHOD_VALUE_THREE_CHIP_COLOR_AREA = 4;
- public static final int SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_AREA = 5;
- public static final int SENSING_METHOD_VALUE_MONOCHROME_LINEAR = 6;
- public static final int SENSING_METHOD_VALUE_TRILINEAR = 7;
- public static final int SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_LINEAR = 8;
public static final TagInfoDouble EXIF_TAG_STO_NITS = new TagInfoDouble("Sto Nits",
0x923f, 1, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
// skipping Maker Note!
@@ -444,9 +377,6 @@ public interface ExifTagConstants
public static final TagInfoAscii EXIF_TAG_SUB_SEC_TIME_DIGITIZED = new TagInfoAscii(
"Sub Sec Time Digitized", 0x9292, 1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
- public static final TagInfoUndefined EXIF_TAG_IMAGE_SOURCE_DATA = new TagInfoUndefined(
- "Image Source Data", 0x935c, 1,
- TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoUndefined EXIF_TAG_FLASHPIX_VERSION = new TagInfoUndefined(
"Flashpix Version", 0xa000, 1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
@@ -969,7 +899,6 @@ public interface ExifTagConstants
EXIF_TAG_PREVIEW_IMAGE_LENGTH_IFD0,
EXIF_TAG_PREVIEW_IMAGE_LENGTH_SUB_IFD1,
EXIF_TAG_JPG_FROM_RAW_LENGTH_SUB_IFD2,
- EXIF_TAG_JPEGTABLES,
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,
@@ -979,8 +908,7 @@ public interface ExifTagConstants
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_CFAREPEAT_PATTERN_DIM, EXIF_TAG_CFAPATTERN_2,
- EXIF_TAG_BATTERY_LEVEL, EXIF_TAG_EXPOSURE_TIME,
+ EXIF_TAG_EXPOSURE_TIME,
EXIF_TAG_FNUMBER, EXIF_TAG_MDFILE_TAG, EXIF_TAG_MDSCALE_PIXEL,
EXIF_TAG_MDCOLOR_TABLE, EXIF_TAG_MDLAB_NAME,
EXIF_TAG_MDSAMPLE_INFO, EXIF_TAG_MDPREP_DATE, EXIF_TAG_MDPREP_TIME,
@@ -998,12 +926,10 @@ public interface ExifTagConstants
EXIF_TAG_HCUSAGE, EXIF_TAG_SEMINFO, EXIF_TAG_AFCP_IPTC,
EXIF_TAG_MODEL_TRANSFORM, EXIF_TAG_LEAF_DATA,
EXIF_TAG_PHOTOSHOP_SETTINGS, EXIF_TAG_EXIF_OFFSET,
- EXIF_TAG_ICC_PROFILE,
EXIF_TAG_GEO_TIFF_DIRECTORY, EXIF_TAG_GEO_TIFF_DOUBLE_PARAMS,
EXIF_TAG_GEO_TIFF_ASCII_PARAMS, EXIF_TAG_EXPOSURE_PROGRAM,
EXIF_TAG_SPECTRAL_SENSITIVITY, EXIF_TAG_GPSINFO, EXIF_TAG_ISO,
- EXIF_TAG_OPTO__ELECTRIC_CONV_FACTOR, EXIF_TAG_INTERLACE,
- EXIF_TAG_TIME_ZONE_OFFSET, EXIF_TAG_SELF_TIMER_MODE,
+ EXIF_TAG_OPTO_ELECTRIC_CONV_FACTOR,
EXIF_TAG_LEAF_SUB_IFD,
EXIF_TAG_EXIF_VERSION, EXIF_TAG_DATE_TIME_ORIGINAL,
EXIF_TAG_CREATE_DATE, EXIF_TAG_COMPONENTS_CONFIGURATION,
@@ -1012,17 +938,9 @@ public interface ExifTagConstants
EXIF_TAG_EXPOSURE_COMPENSATION, 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_FLASH_ENERGY, EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1,
- EXIF_TAG_NOISE_1, EXIF_TAG_FOCAL_PLANE_XRESOLUTION,
- EXIF_TAG_FOCAL_PLANE_YRESOLUTION,
- EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT,
- EXIF_TAG_IMAGE_NUMBER_EXIF_IFD,
- EXIF_TAG_SECURITY_CLASSIFICATION_EXIF_IFD,
- EXIF_TAG_IMAGE_HISTORY_EXIF_IFD, EXIF_TAG_SUBJECT_LOCATION_1,
- EXIF_TAG_EXPOSURE_INDEX, EXIF_TAG_TIFF_EPSTANDARD_ID_1,
- EXIF_TAG_SENSING_METHOD, EXIF_TAG_STO_NITS, EXIF_TAG_SUB_SEC_TIME,
+ EXIF_TAG_SUBJECT_LOCATION_1,
+ EXIF_TAG_STO_NITS, EXIF_TAG_SUB_SEC_TIME,
EXIF_TAG_SUB_SEC_TIME_ORIGINAL, EXIF_TAG_SUB_SEC_TIME_DIGITIZED,
- EXIF_TAG_IMAGE_SOURCE_DATA,
EXIF_TAG_FLASHPIX_VERSION,
EXIF_TAG_EXIF_IMAGE_WIDTH, EXIF_TAG_EXIF_IMAGE_LENGTH,
EXIF_TAG_RELATED_SOUND_FILE, EXIF_TAG_INTEROP_OFFSET,
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/Tiff4TagConstants.java Wed Mar 21 08:56:18 2012
@@ -12,7 +12,7 @@ import org.apache.commons.sanselan.forma
* <BR>
* http://cool.conservation-us.org/bytopic/imaging/std/tiff4.html
*/
-public class Tiff4TagConstants {
+public interface Tiff4TagConstants {
public static final TagInfoShort TIFF_TAG_COLOR_RESPONSE_UNIT = new TagInfoShort(
"Color Response Unit", 0x12C, 1,
TiffDirectoryType.TIFF_DIRECTORY_ROOT);
Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java?rev=1303315&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java Wed Mar 21 08:56:18 2012
@@ -0,0 +1,131 @@
+package org.apache.commons.sanselan.formats.tiff.constants;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoAsciiOrRational;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoSShort;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfoUndefined;
+
+/**
+ *
+ */
+public interface TiffEpTagConstants extends TiffFieldTypeConstants {
+ public static final TagInfoShort EXIF_TAG_CFAREPEAT_PATTERN_DIM = new TagInfoShort(
+ "CFARepeat Pattern Dim", 0x828d, 2,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoByte EXIF_TAG_CFAPATTERN_2 = new TagInfoByte(
+ "CFAPattern 2", 0x828e, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoAsciiOrRational EXIF_TAG_BATTERY_LEVEL = new TagInfoAsciiOrRational(
+ "Battery Level", 0x828f, -1,
+ TiffDirectoryType.TIFF_DIRECTORY_ROOT);
+
+ public static final TagInfoUndefined EXIF_TAG_ICC_PROFILE = new TagInfoUndefined(
+ "ICC_Profile", 0x8773, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoShort EXIF_TAG_INTERLACE = new TagInfoShort(
+ "Interlace", 0x8829, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoSShort EXIF_TAG_TIME_ZONE_OFFSET = new TagInfoSShort(
+ "Time Zone Offset", 0x882a, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+
+ public static final TagInfoShort EXIF_TAG_SELF_TIMER_MODE = new TagInfoShort(
+ "Self Timer Mode", 0x882b, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+
+ public static final TagInfoRational EXIF_TAG_FLASH_ENERGY = new TagInfoRational(
+ "Flash Energy", 0x920b, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoUndefined EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1 = new TagInfoUndefined(
+ "Spatial Frequency Response", 0x920c, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoUndefined EXIF_TAG_NOISE_1 = new TagInfoUndefined(
+ "Noise", 0x920d, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_XRESOLUTION = new TagInfoRational(
+ "Focal Plane XResolution", 0x920e, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoRational EXIF_TAG_FOCAL_PLANE_YRESOLUTION = new TagInfoRational(
+ "Focal Plane YResolution", 0x920f, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoShort EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT = new TagInfoShort(
+ "Focal Plane Resolution Unit", 0x9210, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+ public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_NONE = 1;
+ public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_INCHES = 2;
+ public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_CM = 3;
+ public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_MM = 4;
+ public static final int FOCAL_PLANE_RESOLUTION_UNIT_VALUE_UM = 5;
+
+ public static final TagInfoLong EXIF_TAG_IMAGE_NUMBER_EXIF_IFD = new TagInfoLong(
+ "Image Number", 0x9211, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+
+ public static final TagInfoAscii EXIF_TAG_SECURITY_CLASSIFICATION_EXIF_IFD = new TagInfoAscii(
+ "Security Classification", 0x9212, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+
+ public static final TagInfoAscii EXIF_TAG_IMAGE_HISTORY_EXIF_IFD = new TagInfoAscii(
+ "Image History", 0x9213, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+
+ public static final TagInfoRational EXIF_TAG_EXPOSURE_INDEX = new TagInfoRational(
+ "Exposure Index", 0x9215, -1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoByte EXIF_TAG_TIFF_EPSTANDARD_ID_1 = new TagInfoByte(
+ "TIFF/EP Standard ID", 0x9216, 4,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+
+ public static final TagInfoShort EXIF_TAG_SENSING_METHOD = new TagInfoShort(
+ "Sensing Method", 0x9217, 1,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+ public static final int SENSING_METHOD_VALUE_MONOCHROME_AREA = 1;
+ public static final int SENSING_METHOD_VALUE_ONE_CHIP_COLOR_AREA = 2;
+ public static final int SENSING_METHOD_VALUE_TWO_CHIP_COLOR_AREA = 3;
+ public static final int SENSING_METHOD_VALUE_THREE_CHIP_COLOR_AREA = 4;
+ public static final int SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_AREA = 5;
+ public static final int SENSING_METHOD_VALUE_MONOCHROME_LINEAR = 6;
+ public static final int SENSING_METHOD_VALUE_TRILINEAR = 7;
+ public static final int SENSING_METHOD_VALUE_COLOR_SEQUENTIAL_LINEAR = 8;
+
+ public static final List<TagInfo> ALL_TIFF_EP_TAGS =
+ Collections.unmodifiableList(Arrays.asList(
+ EXIF_TAG_CFAREPEAT_PATTERN_DIM,
+ EXIF_TAG_CFAPATTERN_2,
+ EXIF_TAG_BATTERY_LEVEL,
+ EXIF_TAG_ICC_PROFILE,
+ EXIF_TAG_INTERLACE,
+ EXIF_TAG_TIME_ZONE_OFFSET,
+ EXIF_TAG_SELF_TIMER_MODE,
+ EXIF_TAG_FLASH_ENERGY,
+ EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE_1,
+ EXIF_TAG_NOISE_1,
+ EXIF_TAG_FOCAL_PLANE_XRESOLUTION,
+ EXIF_TAG_FOCAL_PLANE_YRESOLUTION,
+ EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT,
+ EXIF_TAG_IMAGE_NUMBER_EXIF_IFD,
+ EXIF_TAG_SECURITY_CLASSIFICATION_EXIF_IFD,
+ EXIF_TAG_IMAGE_HISTORY_EXIF_IFD,
+ EXIF_TAG_EXPOSURE_INDEX,
+ EXIF_TAG_TIFF_EPSTANDARD_ID_1,
+ EXIF_TAG_SENSING_METHOD));
+}
Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffEpTagConstants.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java (original)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java Wed Mar 21 08:56:18 2012
@@ -96,4 +96,8 @@ public interface TiffFieldTypeConstants
public static final List<FieldType> FIELD_TYPE_DESCRIPTION_BYTE_OR_SHORT =
Collections.unmodifiableList(Arrays.asList(
FIELD_TYPE_SHORT, FIELD_TYPE_BYTE));
+
+ public static final List<FieldType> FIELD_TYPE_DESCRIPTION_ASCII_OR_RATIONAL =
+ Collections.unmodifiableList(Arrays.asList(
+ FIELD_TYPE_ASCII, FIELD_TYPE_RATIONAL));
}
\ No newline at end of file
Added: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java?rev=1303315&view=auto
==============================================================================
--- commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java (added)
+++ commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java Wed Mar 21 08:56:18 2012
@@ -0,0 +1,9 @@
+package org.apache.commons.sanselan.formats.tiff.taginfos;
+
+import org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryType;
+
+public class TagInfoAsciiOrRational extends TagInfo {
+ public TagInfoAsciiOrRational(String name, int tag, int length, TiffDirectoryType directoryType) {
+ super(name, tag, FIELD_TYPE_DESCRIPTION_SHORT_OR_RATIONAL, length, directoryType, false);
+ }
+}
Propchange: commons/proper/sanselan/trunk/src/main/java/org/apache/commons/sanselan/formats/tiff/taginfos/TagInfoAsciiOrRational.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java
URL: http://svn.apache.org/viewvc/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java?rev=1303315&r1=1303314&r2=1303315&view=diff
==============================================================================
--- commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java (original)
+++ commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffTagIntegrityTest.java Wed Mar 21 08:56:18 2012
@@ -21,25 +21,29 @@ import java.util.List;
import org.apache.commons.sanselan.SanselanTest;
import org.apache.commons.sanselan.formats.tiff.constants.AdobePageMaker6TagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.AdobePhotoshopTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.DcfTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.ExifTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.GpsTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.MicrosoftTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.Rfc2301TagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.Tiff4TagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffEpTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
import org.apache.commons.sanselan.formats.tiff.constants.WangTagConstants;
import org.apache.commons.sanselan.formats.tiff.taginfos.TagInfo;
public class TiffTagIntegrityTest extends SanselanTest {
public void testTagIntegrity() {
- verifyFields(AdobePageMaker6TagConstants.class, AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAG_CONSTANTS);
+ verifyFields(AdobePageMaker6TagConstants.class, AdobePageMaker6TagConstants.ALL_ADOBE_PAGEMAKER_6_TAGS);
+ verifyFields(AdobePhotoshopTagConstants.class, AdobePhotoshopTagConstants.ALL_ADOBE_PHOTOSHOP_TAGS);
verifyFields(DcfTagConstants.class, DcfTagConstants.ALL_DCF_TAGS);
verifyFields(ExifTagConstants.class, ExifTagConstants.ALL_EXIF_TAGS);
verifyFields(GpsTagConstants.class, GpsTagConstants.ALL_GPS_TAGS);
verifyFields(MicrosoftTagConstants.class, MicrosoftTagConstants.ALL_MICROSOFT_TAGS);
verifyFields(Rfc2301TagConstants.class, Rfc2301TagConstants.ALL_RFC_2301_TAGS);
verifyFields(Tiff4TagConstants.class, Tiff4TagConstants.ALL_TIFF_4_TAGS);
+ verifyFields(TiffEpTagConstants.class, TiffEpTagConstants.ALL_TIFF_EP_TAGS);
verifyFields(TiffTagConstants.class, TiffTagConstants.ALL_TIFF_TAGS);
verifyFields(WangTagConstants.class, WangTagConstants.ALL_WANG_TAGS);
}