2000.12.15 09:50 "Stripes in thumbnail", by Christian Bednarek

2000.12.18 13:06 "Re: Stripes in thumbnail", by Joris Van Damme

LibTiff fax decompression has been reported to behave differently from other decompressors like eg the one in Photoshop. My guess is that some scanlines in the original g4 tiff(s) cannot be correctly interpretted by LibTiff, and are simply (partially) skipped, leaving a (partially) blank line. Warning and error behaviour of the g3/g4 decompressors has been reported to be imperfect, so it's even possible you don't even get a warning about this, I guess...

The G3 and G4 codecs in the library should follow the published specs; if they don't please provide an example image where they don't. Suggesting that they behave differently than other codecs (e.g. Photoshop) is nonsense.

No, I'm not going to take up the responsability to prove that point. For starters, I did not say for a fact that it behaves differently. I said it has been reported to behave differently. Which is something quite different. Which refers to a number of postings on this mailing list reporting so, from different independent sources, and you must have read them and know what I'm talking about.

FWIW, these codecs haven't changed in any material way in probably 5 or 6 years (the last change I can recall was to support images wider than 64K pixels--i.e. changing some 16-bit counters to 32-bit). The library (including G3+G4 support) has been around for >10 years.

I remember at least one specific posting, again in this same mailing list, that reported the warning behaviour didn't correlate with some other decoder's warning behaviour (was it photoshop's?), since the last tiff version, while it did correlate better before. Again, these are not my words, I'm merely repeating what has been reported before.

And I also remember some reports of overrun problems in these fax decoders, which were reported to be solved quite recently.

As to error and warning behaviour; again please be specific if you've encountered a problem.

Again, I don't have to. First of all, I did not speak of problems but of differences. And secondly, other people have been specific, I'm merely sumarizing them for someone that is possibly new on this list.

In all cases the library error and/or warning handlers are invoked when decoding fails for some reason. I don't recall exactly which handler is invoked under which conditions; check the source code.

But now that you mention the word 'problem', I do regard this as a problem. The g3/g4 decoders have been reported (!) to sometimes emit an error when the library is perfectly able to continue with the rest of the image. Possibly I'm too carefull, but I do not regard it as safe to only abort decompression when the LibTiff functions return a value indicating it cannot continue. Therefore, I have to check whether errors have been emitted after each call to a LibTiff function, and an error that should actually have been a warning means the loss of the ability to decode the image for my wrapper.

Carefull here, I said 'I do not regard it as safe'. I did not say 'It is proven to be unsafe'. So please don't go flaming on me again. Instead, please try to define what the difference between errors and warnings actually is. If it does not indicate whether LibTiff can continue safely, than a) what does it indicate and b) how can one know whether it's safe to continue?

I'm sorry if I offended you, Sam, but I honestly don't think I wrote one single word I shouldn't have. And BTW, I noticed the original poster has now reported that there are warnings, so my guess (guess! and I did clearly say that!) might actually have been correct. I'll check it, and will get back to you.

Joris