gwlucastrig commented on code in PR #318:
URL: https://github.com/apache/commons-imaging/pull/318#discussion_r1330201121
##########
src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java:
##########
@@ -455,27 +473,55 @@ private TiffHeader readTiffHeader(final ByteSource
byteSource) throws ImagingExc
}
}
- private TiffHeader readTiffHeader(final InputStream is) throws
ImagingException, IOException {
- final int byteOrder1 = readByte("BYTE_ORDER_1", is, "Not a Valid TIFF
File");
- final int byteOrder2 = readByte("BYTE_ORDER_2", is, "Not a Valid TIFF
File");
- if (byteOrder1 != byteOrder2) {
- throw new ImagingException("Byte Order bytes don't match (" +
byteOrder1 + ", " + byteOrder2 + ").");
- }
-
- final ByteOrder byteOrder = getTiffByteOrder(byteOrder1);
- setByteOrder(byteOrder);
-
- final int tiffVersion = read2Bytes("tiffVersion", is, "Not a Valid
TIFF File", getByteOrder());
- if (tiffVersion != 42) {
- throw new ImagingException("Unknown TIFF Version: " + tiffVersion);
- }
+ private TiffHeader readTiffHeader(final InputStream is) throws
ImagingException, IOException {
+ final int byteOrder1 = readByte("BYTE_ORDER_1", is, "Not a Valid TIFF
File");
+ final int byteOrder2 = readByte("BYTE_ORDER_2", is, "Not a Valid TIFF
File");
+ if (byteOrder1 != byteOrder2) {
+ throw new ImagingException("Byte Order bytes don't match (" + byteOrder1
+ ", " + byteOrder2 + ").");
+ }
- final long offsetToFirstIFD =
- 0xFFFFffffL & read4Bytes("offsetToFirstIFD", is, "Not a Valid
TIFF File", getByteOrder());
+ final ByteOrder byteOrder = getTiffByteOrder(byteOrder1);
+ setByteOrder(byteOrder);
+
+ // verify that the file is a supported TIFF format using
+ // the numeric indentifier
+ // Classic TIFF (32 bit): 42
+ // Big TIFF (64 bit): 43
+ //
+ final long offsetToFirstIFD;
+ final int tiffVersion = read2Bytes("tiffVersion", is, "Not a Valid TIFF
File", getByteOrder());
+ if (tiffVersion == TIFF_VERSION_STANDARD) {
+ bigTiff = false;
+ standardTiff = true;
+ entryMaxValueLength = TIFF_ENTRY_MAX_VALUE_LENGTH;
+ offsetToFirstIFD
+ = 0xFFFFffffL & read4Bytes(
+ "offsetToFirstIFD", is, "Not a Valid TIFF File", getByteOrder());
+ } else if (tiffVersion == TIFF_VERSION_BIG) {
+ bigTiff = true;
+ standardTiff = false;
+ entryMaxValueLength = TIFF_ENTRY_MAX_VALUE_LENGTH_BIG;
+ int byteSize
Review Comment:
I agree completely on newspaper formatting. I will rebase and address code
changes
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]