Author: damjan
Date: Wed Sep 14 23:25:47 2016
New Revision: 1760815
URL: http://svn.apache.org/viewvc?rev=1760815&view=rev
Log:
Store and use the cardinality of tags (1 vs more) when setting and getting
TIFF field values.
Added:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoBytes.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoDoubles.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoFloats.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoLongs.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoRationals.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSBytes.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSLongs.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSRationals.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShorts.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoShorts.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUndefineds.java
(with props)
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknowns.java
(with props)
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/ExifTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GeoTiffTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/GpsTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/HylaFaxTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftHdPhotoTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MicrosoftTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/MolecularDynamicsGelTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Rfc2301TagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/Tiff4TagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffEpTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/TiffTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/WangTagConstants.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoByte.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoDirectory.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoDouble.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoFloat.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoGpsText.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoLong.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoRational.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSByte.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSLong.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSRational.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShort.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoShort.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUndefined.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknown.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoXpString.java
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputDirectory.java
commons/proper/imaging/trunk/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffDirectory.java
Wed Sep 14 23:25:47 2016
@@ -34,17 +34,27 @@ import org.apache.commons.imaging.format
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDouble;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDoubles;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloat;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloats;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoGpsText;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSByte;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSBytes;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSLongs;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRationals;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShorts;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoXpString;
public class TiffDirectory extends TiffElement {
@@ -190,15 +200,6 @@ public class TiffDirectory extends TiffE
return field.getValue();
}
- public byte getSingleFieldValue(final TagInfoByte tag) throws
ImageReadException {
- final byte[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
public String getSingleFieldValue(final TagInfoAscii tag)
throws ImageReadException {
final String[] result = getFieldValue(tag, true);
@@ -209,25 +210,6 @@ public class TiffDirectory extends TiffE
return result[0];
}
- public short getSingleFieldValue(final TagInfoShort tag)
- throws ImageReadException {
- final short[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
- public int getSingleFieldValue(final TagInfoLong tag) throws
ImageReadException {
- final int[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
public int getSingleFieldValue(final TagInfoShortOrLong tag) throws
ImageReadException {
final int[] result = getFieldValue(tag, true);
if (result.length != 1) {
@@ -237,75 +219,24 @@ public class TiffDirectory extends TiffE
return result[0];
}
- public RationalNumber getSingleFieldValue(final TagInfoRational tag)
- throws ImageReadException {
- final RationalNumber[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
- public byte getSingleFieldValue(final TagInfoSByte tag) throws
ImageReadException {
- final byte[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
- public short getSingleFieldValue(final TagInfoSShort tag)
+ public byte getFieldValue(final TagInfoByte tag)
throws ImageReadException {
- final short[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
- public int getSingleFieldValue(final TagInfoSLong tag) throws
ImageReadException {
- final int[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
- }
- return result[0];
- }
-
- public RationalNumber getSingleFieldValue(final TagInfoSRational tag)
- throws ImageReadException {
- final RationalNumber[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
}
- return result[0];
- }
-
- public float getSingleFieldValue(final TagInfoFloat tag)
- throws ImageReadException {
- final float[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
}
- return result[0];
- }
-
- public double getSingleFieldValue(final TagInfoDouble tag)
- throws ImageReadException {
- final double[] result = getFieldValue(tag, true);
- if (result.length != 1) {
- throw new ImageReadException("Field \"" + tag.name
- + "\" has incorrect length " + result.length);
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
}
- return result[0];
+ return field.getByteArrayValue()[0];
}
- public byte[] getFieldValue(final TagInfoByte tag, final boolean mustExist)
+ public byte[] getFieldValue(final TagInfoBytes tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -350,7 +281,25 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public short[] getFieldValue(final TagInfoShort tag, final boolean
mustExist)
+ public short getFieldValue(final TagInfoShort tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public short[] getFieldValue(final TagInfoShorts tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -373,7 +322,25 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public int[] getFieldValue(final TagInfoLong tag, final boolean mustExist)
+ public int getFieldValue(final TagInfoLong tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public int[] getFieldValue(final TagInfoLongs tag, final boolean mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -395,7 +362,7 @@ public class TiffDirectory extends TiffE
final byte[] bytes = field.getByteArrayValue();
return tag.getValue(field.getByteOrder(), bytes);
}
-
+
public int[] getFieldValue(final TagInfoShortOrLong tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
@@ -423,7 +390,25 @@ public class TiffDirectory extends TiffE
}
}
- public RationalNumber[] getFieldValue(final TagInfoRational tag, final
boolean mustExist)
+ public RationalNumber getFieldValue(final TagInfoRational tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public RationalNumber[] getFieldValue(final TagInfoRationals tag, final
boolean mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -446,7 +431,24 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public byte[] getFieldValue(final TagInfoSByte tag, final boolean
mustExist)
+ public byte getFieldValue(final TagInfoSByte tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ return field.getByteArrayValue()[0];
+ }
+
+ public byte[] getFieldValue(final TagInfoSBytes tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -468,7 +470,25 @@ public class TiffDirectory extends TiffE
return field.getByteArrayValue();
}
- public short[] getFieldValue(final TagInfoSShort tag, final boolean
mustExist)
+ public short getFieldValue(final TagInfoSShort tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public short[] getFieldValue(final TagInfoSShorts tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -491,7 +511,25 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public int[] getFieldValue(final TagInfoSLong tag, final boolean mustExist)
+ public int getFieldValue(final TagInfoSLong tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public int[] getFieldValue(final TagInfoSLongs tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -514,7 +552,24 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public RationalNumber[] getFieldValue(final TagInfoSRational tag,
+ public RationalNumber getFieldValue(final TagInfoSRational tag) throws
ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public RationalNumber[] getFieldValue(final TagInfoSRationals tag,
final boolean mustExist) throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -537,7 +592,25 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public float[] getFieldValue(final TagInfoFloat tag, final boolean
mustExist)
+ public float getFieldValue(final TagInfoFloat tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public float[] getFieldValue(final TagInfoFloats tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -560,7 +633,25 @@ public class TiffDirectory extends TiffE
return tag.getValue(field.getByteOrder(), bytes);
}
- public double[] getFieldValue(final TagInfoDouble tag, final boolean
mustExist)
+ public double getFieldValue(final TagInfoDouble tag)
+ throws ImageReadException {
+ final TiffField field = findField(tag);
+ if (field == null) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" is missing");
+ }
+ if (!tag.dataTypes.contains(field.getFieldType())) {
+ throw new ImageReadException("Required field \"" + tag.name
+ + "\" has incorrect type " +
field.getFieldType().getName());
+ }
+ if (field.getCount() != 1) {
+ throw new ImageReadException("Field \"" + tag.name + "\" has wrong
count " + field.getCount());
+ }
+ final byte[] bytes = field.getByteArrayValue();
+ return tag.getValue(field.getByteOrder(), bytes);
+ }
+
+ public double[] getFieldValue(final TagInfoDoubles tag, final boolean
mustExist)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
Wed Sep 14 23:25:47 2016
@@ -33,16 +33,16 @@ import org.apache.commons.imaging.format
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDouble;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloat;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDoubles;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloats;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoGpsText;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSLong;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShort;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSBytes;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSLongs;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRationals;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSShorts;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoXpString;
import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
import org.apache.commons.imaging.formats.tiff.write.TiffOutputField;
@@ -299,7 +299,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public short[] getFieldValue(final TagInfoShort tag) throws
ImageReadException {
+ public short[] getFieldValue(final TagInfoShorts tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -311,7 +311,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public int[] getFieldValue(final TagInfoLong tag) throws
ImageReadException {
+ public int[] getFieldValue(final TagInfoLongs tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -323,7 +323,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public RationalNumber[] getFieldValue(final TagInfoRational tag)
+ public RationalNumber[] getFieldValue(final TagInfoRationals tag)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -336,7 +336,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public byte[] getFieldValue(final TagInfoSByte tag) throws
ImageReadException {
+ public byte[] getFieldValue(final TagInfoSBytes tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -347,7 +347,7 @@ public class TiffImageMetadata extends G
return field.getByteArrayValue();
}
- public short[] getFieldValue(final TagInfoSShort tag) throws
ImageReadException {
+ public short[] getFieldValue(final TagInfoSShorts tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -359,7 +359,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public int[] getFieldValue(final TagInfoSLong tag) throws
ImageReadException {
+ public int[] getFieldValue(final TagInfoSLongs tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -371,7 +371,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public RationalNumber[] getFieldValue(final TagInfoSRational tag)
+ public RationalNumber[] getFieldValue(final TagInfoSRationals tag)
throws ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
@@ -384,7 +384,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public float[] getFieldValue(final TagInfoFloat tag) throws
ImageReadException {
+ public float[] getFieldValue(final TagInfoFloats tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
@@ -396,7 +396,7 @@ public class TiffImageMetadata extends G
return tag.getValue(field.getByteOrder(), bytes);
}
- public double[] getFieldValue(final TagInfoDouble tag) throws
ImageReadException {
+ public double[] getFieldValue(final TagInfoDoubles tag) throws
ImageReadException {
final TiffField field = findField(tag);
if (field == null) {
return null;
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
Wed Sep 14 23:25:47 2016
@@ -253,9 +253,12 @@ public class TiffImageParser extends Ima
final ImageInfo.ColorType colorType = ImageInfo.ColorType.RGB;
- final short[] compressionFieldValues =
directory.getFieldValue(TiffTagConstants.TIFF_TAG_COMPRESSION, false);
- final short compressionFieldValue = compressionFieldValues != null ?
- compressionFieldValues[0] : TIFF_COMPRESSION_UNCOMPRESSED_1;
+ final short compressionFieldValue;
+ if (directory.findField(TiffTagConstants.TIFF_TAG_COMPRESSION) !=
null) {
+ compressionFieldValue =
directory.getFieldValue(TiffTagConstants.TIFF_TAG_COMPRESSION);
+ } else {
+ compressionFieldValue = TIFF_COMPRESSION_UNCOMPRESSED_1;
+ }
final int compression = 0xffff & compressionFieldValue;
ImageInfo.CompressionAlgorithm compressionAlgorithm;
@@ -544,12 +547,14 @@ public class TiffImageParser extends Ima
throw new ImageReadException("TIFF missing entries");
}
- final int photometricInterpretation = 0xffff &
directory.getSingleFieldValue(
+ final int photometricInterpretation = 0xffff & directory.getFieldValue(
TiffTagConstants.TIFF_TAG_PHOTOMETRIC_INTERPRETATION);
- final short[] compressionFieldValues = directory.getFieldValue(
- TiffTagConstants.TIFF_TAG_COMPRESSION, false);
- final short compressionFieldValue = compressionFieldValues != null ?
- compressionFieldValues[0] : TIFF_COMPRESSION_UNCOMPRESSED_1;
+ final short compressionFieldValue;
+ if (directory.findField(TiffTagConstants.TIFF_TAG_COMPRESSION) !=
null) {
+ compressionFieldValue =
directory.getFieldValue(TiffTagConstants.TIFF_TAG_COMPRESSION);
+ } else {
+ compressionFieldValue = TIFF_COMPRESSION_UNCOMPRESSED_1;
+ }
final int compression = 0xffff & compressionFieldValue;
final int width =
directory.getSingleFieldValue(TiffTagConstants.TIFF_TAG_IMAGE_WIDTH);
final int height =
directory.getSingleFieldValue(TiffTagConstants.TIFF_TAG_IMAGE_LENGTH);
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java
Wed Sep 14 23:25:47 2016
@@ -43,7 +43,7 @@ import org.apache.commons.imaging.format
import
org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryConstants;
import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
import org.apache.commons.imaging.formats.tiff.fieldtypes.FieldType;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDirectory;
public class TiffReader extends BinaryFileParser {
@@ -228,7 +228,7 @@ public class TiffReader extends BinaryFi
}
if (listener.readOffsetDirectories()) {
- final TagInfoLong[] offsetFields = {
+ final TagInfoDirectory[] offsetFields = {
ExifTagConstants.EXIF_TAG_EXIF_OFFSET,
ExifTagConstants.EXIF_TAG_GPSINFO,
ExifTagConstants.EXIF_TAG_INTEROP_OFFSET
@@ -239,14 +239,14 @@ public class TiffReader extends BinaryFi
TiffDirectoryConstants.DIRECTORY_TYPE_INTEROPERABILITY
};
for (int i = 0; i < offsetFields.length; i++) {
- final TagInfoLong offsetField = offsetFields[i];
+ final TagInfoDirectory offsetField = offsetFields[i];
final TiffField field = directory.findField(offsetField);
if (field != null) {
long subDirectoryOffset;
int subDirectoryType;
boolean subDirectoryRead = false;
try {
- subDirectoryOffset =
directory.getSingleFieldValue(offsetField);
+ subDirectoryOffset =
directory.getFieldValue(offsetField);
subDirectoryType = directoryTypes[i];
subDirectoryRead = readDirectory(byteSource,
subDirectoryOffset, subDirectoryType,
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePageMaker6TagConstants.java
Wed Sep 14 23:25:47 2016
@@ -22,9 +22,9 @@ import java.util.List;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongOrIFD;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongOrIFD;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
/**
@@ -40,27 +40,27 @@ public final class AdobePageMaker6TagCon
"SubIFDs", 0x014a, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN, true);
- public static final TagInfoByte TIFF_TAG_CLIP_PATH = new TagInfoByte(
+ public static final TagInfoBytes TIFF_TAG_CLIP_PATH = new TagInfoBytes(
"ClipPath", 0x0157, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong TIFF_TAG_XCLIP_PATH_UNITS = new
TagInfoLong(
- "XClipPathUnits", 0x0158, 1,
+ "XClipPathUnits", 0x0158,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong TIFF_TAG_YCLIP_PATH_UNITS = new
TagInfoLong(
- "YClipPathUnits", 0x0159, 1,
+ "YClipPathUnits", 0x0159,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoShort TIFF_TAG_INDEXED = new TagInfoShort(
- "Indexed", 0x015a, 1,
+ "Indexed", 0x015a,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final int INDEXED_VALUE_NOT_INDEXED = 0;
public static final int INDEXED_VALUE_INDEXED = 1;
public static final TagInfoShort TIFF_TAG_OPIPROXY = new TagInfoShort(
- "OPIProxy", 0x015f, 1,
+ "OPIProxy", 0x015f,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final int
OPIPROXY_VALUE_HIGHER_RESOLUTION_IMAGE_DOES_NOT_EXIST = 0;
public static final int OPIPROXY_VALUE_HIGHER_RESOLUTION_IMAGE_EXISTS = 1;
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/AdobePhotoshopTagConstants.java
Wed Sep 14 23:25:47 2016
@@ -21,7 +21,7 @@ import java.util.Collections;
import java.util.List;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefined;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds;
/**
* TIFF specification supplement 2
@@ -32,12 +32,12 @@ import org.apache.commons.imaging.format
*/
public final class AdobePhotoshopTagConstants {
- public final static TagInfoUndefined EXIF_TAG_JPEGTABLES = new
TagInfoUndefined(
+ public final static TagInfoUndefineds EXIF_TAG_JPEGTABLES = new
TagInfoUndefineds(
"JPEGTables", 0x015b, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public final static TagInfoUndefined EXIF_TAG_IMAGE_SOURCE_DATA = new
TagInfoUndefined(
- "ImageSourceData", 0x935c, 1,
+ public final static TagInfoUndefineds EXIF_TAG_IMAGE_SOURCE_DATA = new
TagInfoUndefineds(
+ "ImageSourceData", 0x935c, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public final static List<TagInfo> ALL_ADOBE_PHOTOSHOP_TAGS =
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DcfTagConstants.java
Wed Sep 14 23:25:47 2016
@@ -45,7 +45,7 @@ public final class DcfTagConstants {
TiffDirectoryType.EXIF_DIRECTORY_INTEROP_IFD);
public static final TagInfoShort EXIF_TAG_COLOR_SPACE = new TagInfoShort(
- "ColorSpace", 0xa001, 1,
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
+ "ColorSpace", 0xa001, TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD);
public static final int COLOR_SPACE_VALUE_SRGB = 1;
public static final int COLOR_SPACE_VALUE_ADOBE_RGB = 2;
public static final int COLOR_SPACE_VALUE_UNCALIBRATED = 65535;
Modified:
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java
URL:
http://svn.apache.org/viewvc/commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java?rev=1760815&r1=1760814&r2=1760815&view=diff
==============================================================================
---
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java
(original)
+++
commons/proper/imaging/trunk/src/main/java/org/apache/commons/imaging/formats/tiff/constants/DngTagConstants.java
Wed Sep 14 23:25:47 2016
@@ -23,17 +23,21 @@ import java.util.List;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAsciiOrByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoByte;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDouble;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloat;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoBytes;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoDoubles;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoFloats;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLong;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoLongs;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoRationals;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRational;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoSRationals;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShort;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLong;
import
org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrLongOrRational;
import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShortOrRational;
-import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefined;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoShorts;
+import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoUndefineds;
/**
* Digital Negative (DNG) Specification
@@ -42,11 +46,11 @@ import org.apache.commons.imaging.format
*/
public final class DngTagConstants {
- public static final TagInfoByte EXIF_TAG_DNG_VERSION = new TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_DNG_VERSION = new TagInfoBytes(
"DNGVersion", 0xc612, 4,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoByte EXIF_TAG_DNG_BACKWARD_VERSION = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_DNG_BACKWARD_VERSION = new
TagInfoBytes(
"DNGBackwardVersion", 0xc613, 4,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -58,12 +62,12 @@ public final class DngTagConstants {
"LocalizedCameraModel", 0xc615, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoByte EXIF_TAG_CFAPLANE_COLOR = new TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_CFAPLANE_COLOR = new
TagInfoBytes(
"CFAPlaneColor", 0xc616, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoShort EXIF_TAG_CFALAYOUT = new TagInfoShort(
- "CFALayout", 0xc617, 1,
+ "CFALayout", 0xc617,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final int CFALAYOUT_VALUE_RECTANGULAR = 1;
public static final int CFALAYOUT_VALUE_EVEN_COLUMNS_OFFSET_DOWN_1_2_ROW =
2;
@@ -75,23 +79,23 @@ public final class DngTagConstants {
public static final int
CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_LEFT_1_2_COLUMN
= 8;
public static final int
CFALAYOUT_VALUE_EVEN_ROWS_OFFSET_DOWN_1_2_ROW_EVEN_COLUMNS_OFFSET_RIGHT_1_2_COLUMN
= 9;
- public static final TagInfoShort EXIF_TAG_LINEARIZATION_TABLE = new
TagInfoShort(
+ public static final TagInfoShorts EXIF_TAG_LINEARIZATION_TABLE = new
TagInfoShorts(
"LinearizationTable", 0xc618, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoShort EXIF_TAG_BLACK_LEVEL_REPEAT_DIM = new
TagInfoShort(
- "BlackLevelRepeatDim", 0xc619,
- 2, TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
+ public static final TagInfoShorts EXIF_TAG_BLACK_LEVEL_REPEAT_DIM = new
TagInfoShorts(
+ "BlackLevelRepeatDim", 0xc619, 2,
+ TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoShortOrLongOrRational EXIF_TAG_BLACK_LEVEL =
new TagInfoShortOrLongOrRational(
"BlackLevel", 0xc61a, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_BLACK_LEVEL_DELTA_H = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_H = new
TagInfoSRationals(
"BlackLevelDeltaH", 0xc61b, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_BLACK_LEVEL_DELTA_V = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_BLACK_LEVEL_DELTA_V = new
TagInfoSRationals(
"BlackLevelDeltaV", 0xc61c, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -99,7 +103,7 @@ public final class DngTagConstants {
"WhiteLevel", 0xc61d, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoRational EXIF_TAG_DEFAULT_SCALE = new
TagInfoRational(
+ public static final TagInfoRationals EXIF_TAG_DEFAULT_SCALE = new
TagInfoRationals(
"DefaultScale", 0xc61e, 2,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -111,31 +115,31 @@ public final class DngTagConstants {
"DefaultCropSize", 0xc620, 2,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_COLOR_MATRIX_1 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_1 = new
TagInfoSRationals(
"ColorMatrix1", 0xc621, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_COLOR_MATRIX_2 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_COLOR_MATRIX_2 = new
TagInfoSRationals(
"ColorMatrix2", 0xc622, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_CAMERA_CALIBRATION_1 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_1 = new
TagInfoSRationals(
"CameraCalibration1", 0xc623, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_CAMERA_CALIBRATION_2 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_CAMERA_CALIBRATION_2 = new
TagInfoSRationals(
"CameraCalibration2", 0xc624, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_REDUCTION_MATRIX_1 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_1 = new
TagInfoSRationals(
"ReductionMatrix1", 0xc625, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_REDUCTION_MATRIX_2 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_REDUCTION_MATRIX_2 = new
TagInfoSRationals(
"ReductionMatrix2", 0xc626, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoRational EXIF_TAG_ANALOG_BALANCE = new
TagInfoRational(
+ public static final TagInfoRationals EXIF_TAG_ANALOG_BALANCE = new
TagInfoRationals(
"AnalogBalance", 0xc627, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -143,62 +147,62 @@ public final class DngTagConstants {
"AsShotNeutral", 0xc628, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoRational EXIF_TAG_AS_SHOT_WHITE_XY = new
TagInfoRational(
+ public static final TagInfoRationals EXIF_TAG_AS_SHOT_WHITE_XY = new
TagInfoRationals(
"AsShotWhiteXY", 0xc629, 2,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoSRational EXIF_TAG_BASELINE_EXPOSURE = new
TagInfoSRational(
- "BaselineExposure", 0xc62a, 1,
+ "BaselineExposure", 0xc62a,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoRational EXIF_TAG_BASELINE_NOISE = new
TagInfoRational(
- "BaselineNoise", 0xc62b, 1,
+ "BaselineNoise", 0xc62b,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoRational EXIF_TAG_BASELINE_SHARPNESS = new
TagInfoRational(
- "BaselineSharpness", 0xc62c, 1,
+ "BaselineSharpness", 0xc62c,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoLong EXIF_TAG_BAYER_GREEN_SPLIT = new
TagInfoLong(
- "BayerGreenSplit", 0xc62d, 1,
+ "BayerGreenSplit", 0xc62d,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoRational EXIF_TAG_LINEAR_RESPONSE_LIMIT = new
TagInfoRational(
- "LinearResponseLimit", 0xc62e, 1,
+ "LinearResponseLimit", 0xc62e,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoAscii EXIF_TAG_CAMERA_SERIAL_NUMBER = new
TagInfoAscii(
"CameraSerialNumber", 0xc62f, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoRational EXIF_TAG_DNG_LENS_INFO = new
TagInfoRational(
+ public static final TagInfoRationals EXIF_TAG_DNG_LENS_INFO = new
TagInfoRationals(
"DNGLensInfo", 0xc630, 4,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoRational EXIF_TAG_CHROMA_BLUR_RADIUS = new
TagInfoRational(
- "ChromaBlurRadius", 0xc631, 1,
+ "ChromaBlurRadius", 0xc631,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoRational EXIF_TAG_ANTI_ALIAS_STRENGTH = new
TagInfoRational(
- "AntiAliasStrength", 0xc632, 1,
+ "AntiAliasStrength", 0xc632,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoRational EXIF_TAG_SHADOW_SCALE = new
TagInfoRational(
- "ShadowScale", 0xc633, 1,
+ "ShadowScale", 0xc633,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoByte EXIF_TAG_DNG_PRIVATE_DATA = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_DNG_PRIVATE_DATA = new
TagInfoBytes(
"DNGPrivateData", 0xc634, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoShort EXIF_TAG_MAKER_NOTE_SAFETY = new
TagInfoShort(
- "MakerNoteSafety", 0xc635, 1,
+ "MakerNoteSafety", 0xc635,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final int MAKER_NOTE_SAFETY_VALUE_UNSAFE = 0;
public static final int MAKER_NOTE_SAFETY_VALUE_SAFE = 1;
public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_1 = new
TagInfoShort(
- "CalibrationIlluminant1", 0xc65a, 1,
+ "CalibrationIlluminant1", 0xc65a,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final int CALIBRATION_ILLUMINANT_1_VALUE_DAYLIGHT = 1;
public static final int CALIBRATION_ILLUMINANT_1_VALUE_FLUORESCENT = 2;
@@ -222,7 +226,7 @@ public final class DngTagConstants {
public static final int CALIBRATION_ILLUMINANT_1_VALUE_OTHER = 255;
public static final TagInfoShort EXIF_TAG_CALIBRATION_ILLUMINANT_2 = new
TagInfoShort(
- "CalibrationIlluminant2", 0xc65b, 1,
+ "CalibrationIlluminant2", 0xc65b,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final int CALIBRATION_ILLUMINANT_2_VALUE_DAYLIGHT = 1;
public static final int CALIBRATION_ILLUMINANT_2_VALUE_FLUORESCENT = 2;
@@ -246,10 +250,10 @@ public final class DngTagConstants {
public static final int CALIBRATION_ILLUMINANT_2_VALUE_OTHER = 255;
public static final TagInfoRational EXIF_TAG_BEST_QUALITY_SCALE = new
TagInfoRational(
- "BestQualityScale", 0xc65c, 1,
+ "BestQualityScale", 0xc65c,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoByte EXIF_TAG_RAW_DATA_UNIQUE_ID = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_RAW_DATA_UNIQUE_ID = new
TagInfoBytes(
"RawDataUniqueID", 0xc65d, 16,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -257,7 +261,7 @@ public final class DngTagConstants {
"OriginalRawFileName", 0xc68b, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoUndefined EXIF_TAG_ORIGINAL_RAW_FILE_DATA = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_ORIGINAL_RAW_FILE_DATA =
new TagInfoUndefineds(
"OriginalRawFileData", 0xc68c, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -269,24 +273,24 @@ public final class DngTagConstants {
"MaskedAreas", 0xc68e, 4,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_AS_SHOT_ICCPROFILE = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_AS_SHOT_ICCPROFILE = new
TagInfoUndefineds(
"AsShotICCProfile", 0xc68f, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX =
new TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_AS_SHOT_PRE_PROFILE_MATRIX
= new TagInfoSRationals(
"AsShotPreProfileMatrix", 0xc690, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoUndefined EXIF_TAG_CURRENT_ICCPROFILE = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_CURRENT_ICCPROFILE = new
TagInfoUndefineds(
"CurrentICCProfile", 0xc691, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoSRational EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX =
new TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_CURRENT_PRE_PROFILE_MATRIX
= new TagInfoSRationals(
"CurrentPreProfileMatrix", 0xc692, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoShort EXIF_TAG_COLORIMETRIC_REFERENCE = new
TagInfoShort(
- "ColorimetricReference", 0xc6bf, 1,
+ "ColorimetricReference", 0xc6bf,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final short COLORIMETRIC_REFERENCE_VALUE_SCENE_REFERRED = 0;
public static final short COLORIMETRIC_REFERENCE_VALUE_OUTPUT_REFERRED = 1;
@@ -299,7 +303,7 @@ public final class DngTagConstants {
"ProfileCalibrationSignature", 0xc6f4, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoLong EXIF_TAG_EXTRA_CAMERA_PROFILES = new
TagInfoLong(
+ public static final TagInfoLongs EXIF_TAG_EXTRA_CAMERA_PROFILES = new
TagInfoLongs(
"ExtraCameraProfiles", 0xc6f5, -1,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -308,31 +312,31 @@ public final class DngTagConstants {
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
public static final TagInfoRational EXIF_TAG_NOISE_REDUCTION_APPLIED = new
TagInfoRational(
- "NoiseReductionApplied", 0xc6f7, 1,
+ "NoiseReductionApplied", 0xc6f7,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoAscii EXIF_TAG_PROFILE_NAME = new TagInfoAscii(
"ProfileName", 0xc6f8, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoLong EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS = new
TagInfoLong(
+ public static final TagInfoLongs EXIF_TAG_PROFILE_HUE_SAT_MAP_DIMS = new
TagInfoLongs(
"ProfileHueSatMapDims", 0xc6f9, 3,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoFloat EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1 = new
TagInfoFloat(
+ public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA1 = new
TagInfoFloats(
"ProfileHueSatMapData1", 0xc6fa, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoFloat EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2 = new
TagInfoFloat(
+ public static final TagInfoFloats EXIF_TAG_PROFILE_HUE_SAT_MAP_DATA2 = new
TagInfoFloats(
"ProfileHueSatMapData2", 0xc6fb, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoFloat EXIF_TAG_PROFILE_TONE_CURVE = new
TagInfoFloat(
+ public static final TagInfoFloats EXIF_TAG_PROFILE_TONE_CURVE = new
TagInfoFloats(
"ProfileToneCurve", 0xc6fc, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong EXIF_TAG_PROFILE_EMBED_POLICY = new
TagInfoLong(
- "ProfileEmbedPolicy", 0xc6fd, 1,
+ "ProfileEmbedPolicy", 0xc6fd,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final int PROFILE_EMBED_POLICY_VALUE_ALLOW_COPYING = 0;
public static final int PROFILE_EMBED_POLICY_VALUE_EMBED_IF_USED = 1;
@@ -343,11 +347,11 @@ public final class DngTagConstants {
"ProfileCopyright", 0xc6fe, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_FORWARD_MATRIX1 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX1 = new
TagInfoSRationals(
"ForwardMatrix1", 0xc714, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoSRational EXIF_TAG_FORWARD_MATRIX2 = new
TagInfoSRational(
+ public static final TagInfoSRationals EXIF_TAG_FORWARD_MATRIX2 = new
TagInfoSRationals(
"ForwardMatrix2", 0xc715, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
@@ -363,12 +367,12 @@ public final class DngTagConstants {
"PreviewSettingsName", 0xc718, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoByte EXIF_TAG_PREVIEW_SETTINGS_DIGEST = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_PREVIEW_SETTINGS_DIGEST = new
TagInfoBytes(
"PreviewSettingsDigest", 0xc719, 16,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final TagInfoLong EXIF_TAG_PREVIEW_COLORSPACE = new
TagInfoLong(
- "PreviewColorspace", 0xc71a, 1,
+ "PreviewColorspace", 0xc71a,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
public static final int PREVIEW_COLORSPACE_VALUE_UNKNOWN = 0;
public static final int PREVIEW_COLORSPACE_VALUE_GRAY_GAMMA_2_2 = 1;
@@ -380,11 +384,11 @@ public final class DngTagConstants {
"PreviewDateTime", 0xc71b, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoByte EXIF_TAG_RAW_IMAGE_DIGEST = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_RAW_IMAGE_DIGEST = new
TagInfoBytes(
"RawImageDigest", 0xc71c, 16,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
- public static final TagInfoByte EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST = new
TagInfoByte(
+ public static final TagInfoBytes EXIF_TAG_ORIGINAL_RAW_FILE_DIGEST = new
TagInfoBytes(
"OriginalRawFileDigest", 0xc71d, 16,
TiffDirectoryType.EXIF_DIRECTORY_IFD0);
@@ -396,27 +400,27 @@ public final class DngTagConstants {
"RowInterleaveFactor", 0xc71f, 1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoLong EXIF_TAG_PROFILE_LOOK_TABLE_DIMS = new
TagInfoLong(
+ public static final TagInfoLongs EXIF_TAG_PROFILE_LOOK_TABLE_DIMS = new
TagInfoLongs(
"ProfileLookTableDims", 0xc725, 3,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoFloat EXIF_TAG_PROFILE_LOOK_TABLE_DATA = new
TagInfoFloat(
+ public static final TagInfoFloats EXIF_TAG_PROFILE_LOOK_TABLE_DATA = new
TagInfoFloats(
"ProfileLookTableData", 0xc726, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_OPCODE_LIST_1 = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_1 = new
TagInfoUndefineds(
"OpcodeList1", 0xc740, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_OPCODE_LIST_2 = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_2 = new
TagInfoUndefineds(
"OpcodeList2", 0xc741, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoUndefined EXIF_TAG_OPCODE_LIST_3 = new
TagInfoUndefined(
+ public static final TagInfoUndefineds EXIF_TAG_OPCODE_LIST_3 = new
TagInfoUndefineds(
"OpcodeList3", 0xc74E, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);
- public static final TagInfoDouble EXIF_TAG_NOISE_PROFILE = new
TagInfoDouble(
+ public static final TagInfoDoubles EXIF_TAG_NOISE_PROFILE = new
TagInfoDoubles(
"NoiseProfile", 0xc761, -1,
TiffDirectoryType.EXIF_DIRECTORY_UNKNOWN);