2011.04.12 15:19 "Re: [Tiff] Libtiff v4.0.0beta7 released", by Edward Lam
On 4/12/2011 9:14 AM, Edward Lam wrote:
I haven't had a chance to run my own primitive integration regression tests on it yet but I'll give a holler if anything is amiss.
I've run my integration tests and only came with some minor suggestions on improving libtiff 4. Rough notes follow:
- TIFFFindFieldInfo() (and related functions in tif_dirinfo.c) is now deprecated in favour of TIFFFindField. Right now, it just silently returns 0. But a return value of 0 could just mean that the particular tag was not found, not that we no longer support this API. I feel strongly that we should call TIFFErrorExt() here with a suitable message pointing to the new API. This silent behaviour caused me some grief in figuring out why my images no longer used predictors.
- We need something better than TIFFLIB_VERSION as a date so that we can easily compile code that works under both libtiff 3.9.5 and 4.0.0. Right now, they both have the same TIFFLIB_VERSION value. Yes, I know TIFFGetVersion() can be used but it doesn't help me if I need a compile time library API decision.
- Perhaps add new defines? eg. TIFFLIB_MAJOR_VERSION,
- Users can now easily test against (TIFFLIB_MAJOR_VERSION*100 + TIFFLIB_MINOR_VERSION), etc.
- tiffinfo gives no indication whether it is examining a BigTIFF file. Ditto for tiffcmp.
- Classic TIFF behaviour now works for me out of the box without any patches (unlike my use of libtiff 3.9.2).
- Decided to use the ".btf" extension to allow users to create BigTIFF files.
- Happy to note that the libtiff 3.9.2 build happily detected and rejected BigTIFF files.