2006.09.22 01:07 "[Tiff] Status of ISO JBIG and CIELAB JPEG support", by A Wandering LibTIFF User
As a regular HylaFAX user, and someone who is regularly called on to do image/document processing more often than my job description calls for, I've been trying to standardise my libtiff installs to provide as wide-ranging support as I can.
To this end, I've studied the patches provided by Lee and others to provide the necessary added functionality to jpegsrc6b for CIE/ITULAB JPEG support, as well as the patches to bring that support into LibTIFF.
I've successfully patched jpegsrc6b without issue - the build works and passes make check. For paranoia's sake, I've bumped the library revision to 63 to avoid collisions with pre-existing app code on the machine, however, I've symlinked libjpeg.so (and ldconfig'd) to the new version so new builds will link against the new library.
[cd]jpeg and jpegtran seem to work fine. Alas, I don't have any ITU/CIELAB JPEG files (that aren't in TIFFs) to fully test out the library - does anyone have ptrs to such files?
I started with the libtiff 3.8.2 release, and moved onto CVS (as checked-in 2 hours ago).
I've tried a couple of rounds of this, admittedly without going back to libtiff 3.7.2, without much success.
I have the demonstration images from:
I can't transcode any of them with tiffcp to a non-compressed form. The errors range from segfaults to ISO JBIG can't decode scanlines to subsampling 2,2 errors.
./tiffcp -c none jbig-in-tiff.tif testoutput.tif jbig-in-tiff.tif: ISO JBIG scanline decoding is not implemented.
jbig-in-tiff.tif: Error, can't read scanline 0.
./tiffcp -c none jbig.tif testoutput.tif jbig.tif: ISO JBIG scanline decoding is not implemented.
jbig.tif: Error, can't read scanline 0.
./tiffcp -c none cielabjpeg1.tif testoutput.tif JPEGPreDecode: Warning, Improper JPEG sampling factors 2,2 Apparently should be 1,1..
JPEGPreDecode: Warning, Decompressor will try reading with sampling 2,2.. Segmentation fault
I've tried it with and without --disable-check-ycbcr-subsampling
Also, I notice that the manual patch to jpegsrc6b is no longer necessary - I've kept my version with the exposed API entrypoint nevertheless, and I assume that doesn't cause any dramas with the newer libtiff libraries.
So... am I being bad here by trying to use these features in newer libraries than Lee originally patched? Which version of libtiff (and which patches) provide support for both the CIELAB JPEG files and the JBIG files? (I have the latest release of Markus's JBIG-KIT compiled and installed on the system.)