Gary Lucas created IMAGING-316: ---------------------------------- Summary: Support the BigTIFF file format Key: IMAGING-316 URL: https://issues.apache.org/jira/browse/IMAGING-316 Project: Commons Imaging Issue Type: New Feature Affects Versions: 1.x Reporter: Gary Lucas
Traditional TIFF files address file position in bytes using 32-bit integers. This approach automatically limits the maximum size of a TIFF file to 4 GB. The BigTIFF specification (formalized in 2011) uses 64-bit integers to address file positions, and thus supports much larger files. I propose that a future release of Commons Imaging would benefit from supporting BigTIFF. The level of effort for this implementation may be large. In terms of creating JUnit tests to support this effort, note that just because a file uses the BigTIFF specification doesn't mean that the file has to be super large. It should be possible to create BigTIFF test files that are only a few kilobytes. Thus supporting BigTIFF does not necessarily mean that massive files will need to be included in the Commons Imaging distribution. P.S. It might be work investigating whether the existing Imaging library actually supports the full 32-bit address space of a conventional TIFF. Regrettably, Java doesn't support unsigned integer types. And it is possible that a file address with the high bit set might be incorrectly interpreted as a negative number. So I will be taking a look at the code to make sure all file addresses are properly masked when they are handed over to Java. -- This message was sent by Atlassian Jira (v8.3.4#803005)