2013.06.13 15:52 "[Tiff] TIFF Specification Allowance for Multi-Page vs. Reduced Res 2nd IFD", by Douglas Peterson

2013.06.14 21:06 "Re: [Tiff] TIFF Specification Allowance for Multi-Page vs. Reduced Res 2nd IFD", by Joris Van Damme

Guys,

2013/6/14 Frank Warmerdam <warmerdam@pobox.com>:

I have run tiffinfo on the file and amoung the tags I see:

    SubIFD Offsets: 79455156

So this seems to be a subifd pyramid level. It strickes me as slightly odd that there is only one overview level and it is just a 2x2 downsamplingbut it is a pyramid level.

I'm seeing something different, still. I'll try and copy/paste, hope you're viewing this as a HTML mail.

In the main top-level linked list, I'm seeing a single IFD...

*Tag**Datatype**Count**Value*NewSubfileType<http://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html> Long10ImageWidth<http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html> Short17760ImageLength<http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html> Short110328BitsPerSample<http://www.awaresystems.be/imaging/tiff/tifftags/bitspersample.html>

Short38, 8, 8Compression<http://www.awaresystems.be/imaging/tiff/tifftags/compression.html> Short1LZWPhotometricInterpretation<http://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html>

Short1RGBMake <http://www.awaresystems.be/imaging/tiff/tifftags/make.html> Ascii10"Phase One "Model<http://www.awaresystems.be/imaging/tiff/tifftags/model.html>

Ascii6"IQ180 "StripOffsets<http://www.awaresystems.be/imaging/tiff/tifftags/stripoffsets.html> Long93932382, 103176, 170464, 237880, 304740, 373346, 441212, 510264, 578644, 648884, 716534, 785266,...Orientation<http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html> Short1TopLeftSamplesPerPixel<http://www.awaresystems.be/imaging/tiff/tifftags/samplesperpixel.html> Short13RowsPerStrip<http://www.awaresystems.be/imaging/tiff/tifftags/rowsperstrip.html>

Short111StripByteCounts<http://www.awaresystems.be/imaging/tiff/tifftags/stripbytecounts.html> Long93970794, 67287, 67416, 66859, 68605, 67866, 69051, 68379, 70240, 67650, 68731, 70254, 71849, 72085,...XResolution<http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html> Rational1300YResolution<http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html> Rational1300PlanarConfiguration<http://www.awaresystems.be/imaging/tiff/tifftags/planarconfiguration.html> Short1ChunkyResolutionUnit<http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html> Short1InchSoftware<http://www.awaresystems.be/imaging/tiff/tifftags/software.html> Ascii32"Adobe Photoshop CS6 (Macintosh) "DateTime<http://www.awaresystems.be/imaging/tiff/tifftags/datetime.html> Ascii20"2013:06:14 12:14:08 "Predictor<http://www.awaresystems.be/imaging/tiff/tifftags/predictor.html> Short1HorizontalSubIFDs<http://www.awaresystems.be/imaging/tiff/tifftags/subifds.html> Ifd179455156XMP <http://www.awaresystems.be/imaging/tiff/tifftags/xmp.html> Byte1482460, 63, 120, 112, 97, 99, 107, 101, 116, 32, 98, 101, 103, 105, 110, 61, 34, 239, 187, 191, 34,...IPTC<http://www.awaresystems.be/imaging/tiff/tifftags/iptc.html>

Undefined5228, 1, 90, 0, 3, 27, 37, 71, 28, 1, 90, 0, 3, 27, 37, 71, 28, 2, 0, 0, 2, 0, 0, 28, 2, 55, 0, 8,...Photoshop<http://www.awaresystems.be/imaging/tiff/tifftags/photoshop.html> Byte959056, 66, 73, 77, 4, 37, 0, 0, 0, 0, 0, 16, 107, 34, 115, 23, 175, 254, 94, 215, 117, 68, 124, 23,...EXIF<http://www.awaresystems.be/imaging/tiff/tifftags/exififd.html>

Long179454916

So there's a single SubIFD and an EXIF IFD that are directly linked from this main IFD. However, the SubIFD links to a subsequent IFD in its 'next

IFD' final member of the IFD structure, and that one again links to a subsequent IFD in its 'next IFD' final member of the IFD structure. Giving a total of three SubIFDs. Here they are...

SubIFD 0

*Tag**Datatype**Count**Value*NewSubfileType<http://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html> Long1Reduced-resolution imageImageWidth<http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html> Short13880ImageLength<http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html> Short15164BitsPerSample<http://www.awaresystems.be/imaging/tiff/tifftags/bitspersample.html>

Short38, 8, 8Compression<http://www.awaresystems.be/imaging/tiff/tifftags/compression.html> Short1LZWPhotometricInterpretation<http://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html>

Short1RGBStripOffsets<http://www.awaresystems.be/imaging/tiff/tifftags/stripoffsets.html> Long23579457256, 79523160, 79589880, 79657116, 79727436, 79798936, 79870986, 79944214, 80017288,...Orientation<http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html> Short1TopLeftSamplesPerPixel<http://www.awaresystems.be/imaging/tiff/tifftags/samplesperpixel.html> Short13RowsPerStrip<http://www.awaresystems.be/imaging/tiff/tifftags/rowsperstrip.html>

Short122StripByteCounts<http://www.awaresystems.be/imaging/tiff/tifftags/stripbytecounts.html> Long23565903, 66720, 67236, 70319, 71499, 72050, 73227, 73074, 73669, 76812, 78220, 77316, 78127, 80200,...XResolution<http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html> Rational1150YResolution<http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html> Rational1150PlanarConfiguration<http://www.awaresystems.be/imaging/tiff/tifftags/planarconfiguration.html> Short1ChunkyResolutionUnit<http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html> Short1InchPredictor<http://www.awaresystems.be/imaging/tiff/tifftags/predictor.html>

Short1Horizontal

SubIFD 1

*Tag**Datatype**Count**Value*NewSubfileType<http://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html> Long1Reduced-resolution imageImageWidth<http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html> Short11940ImageLength<http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html> Short12582BitsPerSample<http://www.awaresystems.be/imaging/tiff/tifftags/bitspersample.html>

Short38, 8, 8Compression<http://www.awaresystems.be/imaging/tiff/tifftags/compression.html> Short1LZWPhotometricInterpretation<http://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html>

Short1RGBStripOffsets<http://www.awaresystems.be/imaging/tiff/tifftags/stripoffsets.html> Long58100332806, 100401128, 100472304, 100548608, 100628796, 100707204, 100782604, 100852756,...Orientation<http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html> Short1TopLeftSamplesPerPixel<http://www.awaresystems.be/imaging/tiff/tifftags/samplesperpixel.html> Short13RowsPerStrip<http://www.awaresystems.be/imaging/tiff/tifftags/rowsperstrip.html>

Short145StripByteCounts<http://www.awaresystems.be/imaging/tiff/tifftags/stripbytecounts.html> Long5868322, 71175, 76304, 80188, 78407, 75400, 70152, 70075, 81075, 89267, 90603, 79357, 78536, 77992,...XResolution<http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html> Rational175YResolution<http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html> Rational175PlanarConfiguration<http://www.awaresystems.be/imaging/tiff/tifftags/planarconfiguration.html> Short1ChunkyResolutionUnit<http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html> Short1InchPredictor<http://www.awaresystems.be/imaging/tiff/tifftags/predictor.html>

Short1Horizontal

SubIFD 2

*Tag**Datatype**Count**Value*NewSubfileType<http://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html> Long1Reduced-resolution imageImageWidth<http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html> Short1970ImageLength<http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html> Short11291BitsPerSample<http://www.awaresystems.be/imaging/tiff/tifftags/bitspersample.html>

Short38, 8, 8Compression<http://www.awaresystems.be/imaging/tiff/tifftags/compression.html> Short1LZWPhotometricInterpretation<http://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html>

Short1RGBStripOffsets<http://www.awaresystems.be/imaging/tiff/tifftags/stripoffsets.html> Long15105692834, 105765240, 105837202, 105922548, 106000364, 106091912, 106209670, 106319770,...Orientation<http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html> Short1TopLeftSamplesPerPixel<http://www.awaresystems.be/imaging/tiff/tifftags/samplesperpixel.html> Short13RowsPerStrip<http://www.awaresystems.be/imaging/tiff/tifftags/rowsperstrip.html>

Short190StripByteCounts<http://www.awaresystems.be/imaging/tiff/tifftags/stripbytecounts.html> Long1572406, 71961, 85345, 77815, 91547, 117757, 110099, 110182, 116882, 111710, 108627, 84815, 89589,...XResolution<http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html> Rational137.5YResolution<http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html>

Rational137.5PlanarConfiguration<http://www.awaresystems.be/imaging/tiff/tifftags/planarconfiguration.html> Short1ChunkyResolutionUnit<http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html> Short1InchPredictor<http://www.awaresystems.be/imaging/tiff/tifftags/predictor.html>

Short1Horizontal

Finally, for what it's worth, here's the EXIF IFD tag list.

*Tag**Datatype**Count**Value*Tag 306Ascii20"2013:06:11 18:10:55 " ExposureTime<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposuretime.html> Rational10.1249999999ISOSpeedRatings<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/isospeedratings.html> Short135ExifVersion<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exifversion.html> Undefined448, 50, 50, 48DateTimeOriginal<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/datetimeoriginal.html> Ascii20"2013:06:11 18:10:55 "DateTimeDigitized<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/datetimedigitized.html> Ascii20"2013:06:11 18:10:55 "ShutterSpeedValue<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/shutterspeedvalue.html> SRational13Tag 37384Short1255ColorSpace<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/colorspace.html> Short1UncalibratedPixelXDimension<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/pixelxdimension.html> Long17760PixelYDimension<http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/pixelydimension.html> Long110328Tag 41728Undefined13Tag 41729Undefined11

I observe that my GDAL library does *not* honour this sort of overview via SubIFD which is sad.

It is, in my humble opinion. I regret that I was incomplete in my comments on SubFileType and NewSubFileType schemes a couple of mails ago, since I failed to communicate half of the reasons those are real bad. So I'd like to give it another go...

SubFileType and NewSubFileType...

Best regards,

Joris Van Damme

AWare Systems