AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
September 2005

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2005.09.08 19:13 "creating JPEG file", by Philip Watkinson
2005.09.08 20:07 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.08 21:00 "Re: creating JPEG file", by Philip Watkinson
2005.09.08 22:11 "Re: creating JPEG file", by Joris Van Damme
2005.09.08 22:31 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.08 23:08 "Re: creating JPEG file", by Joris Van Damme
2005.09.08 20:49 "Re: creating JPEG file", by Joris Van Damme
2005.09.08 23:04 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.08 23:16 "Re: creating JPEG file", by Joris Van Damme
2005.09.09 09:31 "Re: creating JPEG file", by Joris Van Damme
2005.09.09 10:03 "Re: creating JPEG file", by Joris Van Damme
2005.09.09 14:58 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.09 15:11 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.10 17:51 "Re: creating JPEG file", by Andrey Kiselev
2005.09.09 23:30 "Re: creating JPEG file", by Joris Van Damme
2005.09.09 23:49 "Re: creating JPEG file", by Bob Friesenhahn
2005.09.10 00:06 "Re: creating JPEG file", by Joris Van Damme

2005.09.10 00:06 "Re: creating JPEG file", by Joris Van Damme

Bob,

Bob Friesenhahn wrote:
> Even if it does, doing the
> subsamping is painful.  It is easier left to libtiff (which likely
> passes the burden on to libjpeg).

My whole point is that subsampling, too, just like YCbCr and CMYK color
spaces, can be used with different compression schemes. You can
subsample and use flate, or subsample and use LZW, or no compression at
all. So either
1) Encapsulating design, inside LibTiff or inside your app, must take
care of these things. In this case, it's actually easier for
encapsulating design to do these things when JPEG compression is used,
too, so that the logical independence of compression scheme and
colorspace/subsampling is reflected in logical independent code blocks.
If the encapsulating design on the contrary makes an exception when JPEG
compression is used, that's a hack, a pseudo-tag is needed, all things
become needlessly more complicated, and sooner or later that opens the
door for more hacks and bugs to creep in. Totally needlessly.
2) Or either, encapsulating design, inside LibTiff or inside app, cannot
take care of these colorspaces/subsampling issues. In this case, LibTiff
and/or your app is unable to read or write YCbCr subsampled images
compressed with flate or lzw or not compressed at all. In this case, OK,
then it's a good idea to hack a way to delegate the stuff to LibJpeg, at
least that way this stuff is supported with one particular flavor of
compression.

Like I said, I don't pretend to be a LibTiff expert. I realize there are
issues related to the above in LibTiff, but I don't pretend to know
them. I can only look at these things from a theoretical point of view,
and come to the above conclusion, unrelated to my lack of knowledge of
actual LibTiff, hoping it helps someone in the short or long run.


Joris Van Damme
info@awaresystems.be
http://www.awaresystems.be/
Download your free TIFF tag viewer for windows here:
http://www.awaresystems.be/imaging/tiff/astifftagviewer.html