-
Notifications
You must be signed in to change notification settings - Fork 78
TIFF hul Messages
Premature EOF
Needs review
- Type: TiffException
- Source location: IFD.java L263
- Examples: Needed
The TIFF may be truncated or incomplete.
Needs review
Tag <tag> out of sequence
Needs review
- Type: ErrorMessage
- Source location: IFD.java L276
- Examples: 1
Needs review
Needs review
Unknown data type
Needs review
- Type: ErrorMessage
- Source location: IFD.java L286
- Examples: 1
Needs review
Needs review
Value offset not word aligned: <value>
TIFF 6.0 Specification, page 15: value offsets are "expected" to point to values which begin on word boundaries. Page 30: "Rows must begin on byte boundaries."
Storing data at word and byte boundaries allows CPUs to more efficiently read and process the data. When it is unaligned, CPUs can require additional attempts at reading the data.
When the parameter byteoffset=true is set in Link to the jhove configuration byteoffset, this error is ignored and becomes an InfoMessage. The status also becomes "Well-Formed and valid".
- Type: ErrorMessage or InfoMessage (configurable)
- Source location: IFD.java L309
- Examples: 1
Minor. Most viewers don't care and will happily display files despite this error. But of course, it still violates the TIFF specification. Further more, systems may suffer a performance penalty while reading or processing the TIFF. The penalty will depend on the architecture of the individual system, which data in the TIFF is unaligned, and how much of it there is.
Options:
- Add pad bytes and adapt pointers where necessary, either manually in a hex editor (tedious and very error-prone) or with a script.
- Write any metadata with ExifTool (either "really" or using some dummy operation like copying a tag to itself:
exiftool '-XResolution<XResolution' a.tif
); this will silently fix this error.
Read error
Needs review
- Type: IOException
- Source location: IFD.java L325
- Examples: Needed
Needs review
Needs review
Count mismatch for tag <tag>; expecting <minCount>, saw <count>
Needs review
- Type: TiffException
- Source location: IFD.java L930
- Examples: Needed
Needs review
Needs review
Type mismatch for tag <tag>; expecting <expected>, saw <type>
Needs review
- Type: TiffException
- Source location: IFD.java L953
- Examples: 1, 2
It depends, but at least medium.
Each TIFF tag has a type (like BYTE, ASCII, SHORT, ...) that determines how its content should be interpreted. Generally, if the type of a tag is set to the wrong value its content cannot be interpreted correctly meaning that a viewer will read nonsense from the tag. Depending on the significance of a tag this may or may not prevent the file from being displayed.
However, since the types of the common TIFF tags are well-known from the respective specifications (TIFF of course, but also other specifications like XMP) some viewers might just (silently) ignore wrong types in a TIFF file and use the correct types from the specifications instead, thus being able to display files despite this error. But obviously, this is nothing one should rely on in the long run ...
Options:
- In the affected IFD entry, set the type to the correct value, if necessary adapt the count value (because values of different types may differ in size), and watch out for pad bytes. This can be done in a hex editor (tedious and very error-prone) or with a script (slightly less tedious and error-prone).
- Copy the affected tag to itself with ExifTool (
exiftool '-XResolution<XResolution' a.tif
); in many cases this will set the correct type. (But not in all cases: some tags are not writable by ExifTool.)
Type mismatch for tag <tag>; expecting <type1> or ,<type2>, saw <type>
Needs review
- Type: TiffException
- Source location: IFD.java L971
- Examples: Needed
Same as TIFF-HUL-7.
Same as TIFF-HUL-7.
Invalid GeoKeyDirectory tag
Needs review
- Type: TiffException
- Source location: TiffIFD.java L1820
- Examples: Needed
Needs review
Needs review
GeoKey <key> out of sequence
Needs review
- Type: TiffException
- Source location: TiffIFD.java L2867
- Examples: Needed
Needs review
Needs review
Undocumented TIFF tag ShadowScale (50739)
Needs review
- Type: InfoMessage
- Source location: TiffIFD.java L3783
- Examples: Needed
Needs review
Needs review
Unknown TIFF IFD tag: <tag>
An IFD tag of the given type was found but ignored because the module is currently unaware of how to interpret the tag's data.
- Type: InfoMessage
- Source location: TiffIFD.java L3795
- Examples: 1
The module is unable to inspect the contents of the IFD tag.
To request support for an unrecognized IFD tag, please report it to the project.
Read error for tag <tag>
Needs review
- Type: IOException
- Source location: TiffIFD.java L3800
- Examples: Needed
Needs review
Needs review
Invalid or ill-formed XMP metadata
Needs review
- Type: TiffException
- Source location: TiffIFD.java L3951
- Examples: Needed
Needs review
Needs review
Unknown Exif Interoperability IFD tag
Needs review
- Type: ErrorMessage
- Source location: InteroperabilityIFD.java L78
- Examples: Needed
Needs review
Needs review
Read error for tag <tag>
Needs review
- Type: IOException
- Source location: InteroperabilityIFD.java L84
- Examples: Needed
Needs review
Needs review
Unknown GPSInfo IFD tag
Needs review
- Type: ErrorMessage
- Source location: GPSInfoIFD.java L658
- Examples: Needed
Needs review
Needs review
Read error for tag <tag>
Needs review
- Type: IOException
- Source location: GPSInfoIFD.java L662
- Examples: Needed
Needs review
Needs review
Read error for tag <tag>
Needs review
- Type: IOException
- Source location: GlobalParametersIFD.java L153
- Examples: Needed
Needs review
Needs review
No TIFF header: <char0> <char1>
Needs review
- Type: TiffException
- Source location: TiffModule.java L426
- Examples: Needed
Needs review
Needs review
No TIFF magic number: <magic>
The header is 8 bytes long, the magic bytes contain of the number 42 and the description of the byte order that serves to identify the format because of internal signatures. Plus, there is an offset of the first IDF (Image File Directory).
- Type: TiffException
- Source location: TiffModule.java L437
- Examples: Needed
Needs review
Needs review
No TIFF header: <char0> <char1>
Needs review
- Type: TiffException
- Source location: TiffModule.java L602
- Examples: Needed
Needs review
Needs review
No TIFF magic number: <magic>
Needs review
- Type: TiffException
- Source location: TiffModule.java L609
- Examples: Needed
Needs review
Needs review
Strips and tiles defined together
TIFF 6.0 Specification, p. 103, chapter "Strips and tiles".
- Type: InfoMessage
- Source location: TiffModule.java L795
- Examples: Needed
Needs review
Needs review
Neither strips nor tiles defined
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L799
- Examples: 1
Needs review
Needs review
StripOffsets not defined
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L808
- Examples: Needed
Needs review
Needs review
StripByteCounts not defined
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L812
- Examples: Needed
Needs review
Needs review
StripOffsets inconsistent with StripByteCounts: <len> != <stripByteCounts.length>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L817
- Examples: Needed
Needs review
Needs review
Invalid strip offset
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L828
- Examples: 1
Needs review
Needs review
TileWidth not defined
TIFF 6.0 Specification, p. 109: datatype "short", has to be defined with a multiple of 8.
- Type: InfoMessage
- Source location: TiffModule.java L837
- Examples: Needed
Needs review
Needs review
TileLength not defined
TIFF 6.0 Specification, p. 109: datatype "short", has to be defined with a multiple of 8.
- Type: InfoMessage
- Source location: TiffModule.java L840
- Examples: 1
Needs review
Needs review
TileOffsets not defined
TIFF 6.0 Specification, p. 109, data type Long, length number of tiles.
- Type: InfoMessage
- Source location: TiffModule.java L843
- Examples: Needed
Needs review
Needs review
TileByteCounts not defined
TIFF 6.0 Specification, p. 109, data type Long, length number of tiles.
- Type: InfoMessage
- Source location: TiffModule.java L846
- Examples: Needed
Needs review
Needs review
TileWidth not a multiple of 16: <tileWidth>
TileWidth must be a multiple of 16. This restriction improves performance in some graphics environments and enhances compatibility with compression schemes such as JPEG. TIFF 6.0 Specification, p. 67.
- Type: InfoMessage
- Source location: TiffModule.java L850
- Examples: 1
Needs review
Needs review
TileLength not a multiple of 16: <tileLength>
TileLength must be a multiple of 16 for compatibility with compression schemes such as JPEG. TIFF 6.0 Specification, p. 68.
- Type: InfoMessage
- Source location: TiffModule.java L854
- Examples: Needed
Needs review
Needs review
Insufficient values for TileOffsets: <tileOffsets.length> < <spp_tpi>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L863
- Examples: Needed
Needs review
Needs review
Insufficient values for TileByteCountts: <tileByteCounts.length> < <spp_tpi>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L868
- Examples: Needed
Needs review
Needs review
Insufficient values for TileOffsets: <tileOffsets.length> < <tilesPerImage>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L873
- Examples: Needed
Needs review
Needs review
Insufficient values for TileByteCounts: <tileByteCounts.length> < <tilesPerImage>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L880
- Examples: Needed
Needs review
Needs review
PhotometricInterpretation and NewSubfileType must agree on transparency mask
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L890
- Examples: 1
Needs review
Needs review
For transparency mask BitsPerSample must be 1
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L897
- Examples: Needed
Needs review
Needs review
For PhotometricInterpretation, SamplesPerPixel must be >= 1, equals <samplesPerPixel>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L909
- Examples: Needed
Needs review
Needs review
For PhotometricInterpretation, SamplesPerPixel must be >= 3, equals <samplesPerPixel>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L916
- Examples: Needed
Needs review
Needs review
ColorMap not defined for palette-color
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L931
- Examples: Needed
Needs review
Needs review
For palette-color SamplesPerPixel must be 1: <samplesPerPixel>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L935
- Examples: Needed
Needs review
Needs review
Insufficient ColorMap values for palette-color: <colormapBitCodeValue.length> < <len>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L940
- Examples: Needed
Needs review
Needs review
CellLength tag not permitted when Threshholding not 2
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L949
- Examples: Needed
Needs review
Needs review
DotRange out of range specified by BitsPerSample
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L960
- Examples: Needed
Needs review
Needs review
JPEGProc not defined for JPEG compression
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L968
- Examples: 1
Needs review
Needs review
SamplesPerPixel-ExtraSamples not 1 or 3: <samplesPerPixel> - <len>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L982
- Examples: Needed
Needs review
Needs review
BitsPerSample not 8 or 16 for CIE L*a*b*
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L987
- Examples: Needed
Needs review
Needs review
XClipPathUnits not defined for ClipPath
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L997
- Examples: Needed
Needs review
Needs review
Invalid DateTime length: <dateTime>
Number of values must be 20.
- Type: InfoMessage
- Source location: TiffModule.java L1007
- Examples: Needed
Needs review
Needs review
Invalid DateTime separator: <dateTime>
The date-time format is incompatible with the baseline TIFF specification.
- Type: InfoMessage
- Source location: TiffModule.java L1013
- Examples: Needed
Needs review
TIFF date formatting could be corrected using ExifTool.
Invalid DateTime digit: <dateTime>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L1026
- Examples: Needed
Needs review
Needs review
Invalid DateTime digit: <dateTime>
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L1029
- Examples: Needed
Needs review
Needs review
Premature EOF
Needs review
- Type: IOException
- Source location: TiffModule.java L1071
- Examples: 1
Needs review
Needs review
No IFD in file
An IFD (Image File directory) is mandatory in each TIFF file.
- Type: TiffException
- Source location: TiffModule.java L1075
- Examples: Needed
Needs review
Needs review
IFD offset not word-aligned: <next>
TIFF 6.0 Specification, page 13: "The [first IFD] may be at any location in the file after the header but must begin on a word boundary."
Storing data at word boundaries allows CPUs to more efficiently read and process the data. When it is unaligned, CPUs can require additional attempts at reading the data.
When the parameter byteoffset=true is set in Link to the jhove configuration byteoffset, this error is ignored and becomes an InfoMessage. The status also becomes Well-Formed and valid.
- Type: TiffException
- Source location: TiffModule.java L1081
- Examples: Needed
Systems may suffer a performance penalty while reading or processing the TIFF. The penalty will depend on the architecture of the individual system, which data in the TIFF is unaligned, and how much of it there is.
Needs review
More than 50 IFDs in chain, probably an infinite loop
Needs review
- Type: TiffException
- Source location: TiffModule.java L1085
- Examples: Needed
Needs review
Needs review
TIFF compression scheme 6 is deprecated
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L2694
- Examples: 1
Needs review
Needs review
ImageWidth not defined
TIFF 6.0 Specification, p. 17: datatype short or long, contains the number of columns in the image, i.e. the number of pixels per scanline.
- Type: InfoMessage
- Source location: TiffModule.java L773
- Examples: 1
Needs review
Needs review
PhotometricInterpretation not defined
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L769
- Examples: 1
Needs review
Needs review
ImageLength not defined
Needs review
- Type: InfoMessage
- Source location: TiffModule.java L777
- Examples: 1
Needs review
Needs review
Undocumented TIFF tag
Needs review
- Type: InfoMessage
- Source location: TiffIFD.java L3783
- Examples: 1
Needs review
Needs review
<Tag> value out of range: <value>
The value found for the given tag is outside the range of expected values for that tag.
- Type: ErrorMessage
- Source location: IFD.java L371 <-- Unreachable error? https://github.com/openpreserve/jhove/blob/release-1.14/jhove-modules/src/main/java/edu/harvard/hul/ois/jhove/module/tiff/IFD.java#L401 https://github.com/openpreserve/jhove/blob/release-1.14/jhove-modules/src/main/java/edu/harvard/hul/ois/jhove/module/tiff/IFD.java#L439 https://github.com/openpreserve/jhove/blob/release-1.14/jhove-modules/src/main/java/edu/harvard/hul/ois/jhove/module/tiff/IFD.java#L470
- Examples: 1
Needs review
Needs review