Return-Path: <tiff-bounces@remotesensing.org>
Received: from inmx013.isp.belgacom.be (inmx013.isp.belgacom.be [195.238.2.216])
        by mailst006.isp.belgacom.be (8.12.11/8.12.11/Skynet-MAILSTORE-2.14) with ESMTP id i6BHTen9020260
        for <joris.at.lebbeke@skynet.be>; Sun, 11 Jul 2004 19:29:40 +0200
        (envelope-from <tiff-bounces@remotesensing.org>)
Received: from xserve.flids.com (adsl-065-083-169-202.sip.mco.bellsouth.net [65.83.169.202])
        by inmx013.isp.belgacom.be (8.12.11/8.12.11/Skynet-IN-2.32) with ESMTP id i6BHTQBn022280
        for <joris.at.lebbeke@skynet.be>; Sun, 11 Jul 2004 19:29:28 +0200
        (envelope-from <tiff-bounces@remotesensing.org>)
Received: from adsl-065-083-169-202.sip.mco.bellsouth.net (localhost [127.0.0.1])
	by xserve.flids.com (Postfix) with ESMTP
	id 1740011C3EF; Sun, 11 Jul 2004 13:29:07 -0400 (EDT)
X-Original-To: tiff@remotesensing.org
Delivered-To: tiff@remotesensing.org
Received: from ahk.pu.ru (ahk.pu.ru [193.124.85.198])
	by xserve.flids.com (Postfix) with ESMTP id 210D711C3CC
	for <tiff@remotesensing.org>; Sun, 11 Jul 2004 13:29:05 -0400 (EDT)
Received: from wg.pu.ru (wg.pu.ru [193.124.85.219])
	by ahk.pu.ru (8.12.11/8.12.9) with ESMTP id i6BHT3k9071449
	for <tiff@remotesensing.org>; Sun, 11 Jul 2004 21:29:03 +0400 (MSD)
	(envelope-from dron@ak4719.spb.edu)
Received: (from uucp@localhost)
	by wg.pu.ru (8.9.1a/8.9.1) with UUCP id RAA11379
	for tiff@remotesensing.org; Sun, 11 Jul 2004 17:29:03 GMT
Received: from ak4719.spb.edu (localhost [127.0.0.1])
	by ak4719.spb.edu (8.12.1/8.12.1/Debian -5) with ESMTP id
	i6BHRAiP020868
	for <tiff@remotesensing.org>; Sun, 11 Jul 2004 21:27:10 +0400
Received: (from dron@localhost)
	by ak4719.spb.edu (8.12.1/8.12.1/Debian -5) id i6BHRAYg020864
	for tiff@remotesensing.org; Sun, 11 Jul 2004 21:27:10 +0400
From: Andrey Kiselev <dron@ak4719.spb.edu>
Date: Sun, 11 Jul 2004 21:27:10 +0400
To: tiff@remotesensing.org
Subject: Re: [Tiff] unintentional ABI change between 3.5 and 3.6?
Message-ID: <20040711172710.GA19759@ak4719.spb.edu>
Mail-Followup-To: tiff@remotesensing.org
References: <20040710135622.0188826482.qww314159@potamus.in.ql.org>
	<40F0AAD6.1010400@pobox.com>
	<20040711124711.0167415508.qww314159@soup>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20040711124711.0167415508.qww314159@soup>
X-GnuPG-Key: http://www.srces.spb.org/dron/export.home.key
X-Face: "t+se9s~+y~[XUH]L|pmeO3Pt/Q@DNv**S, d@_1-C=}/,
	c%<3Qp]eu!ok<"2lYJm$!9qVcg F?7o*L; |$`6|Q|>Rt-cU%2_y@6tQ|`!Li}TsvZvEKx;
	>fuY=fc(=sX^`7Wmw8%SsR`AvM$a; 0U/eN\ P?B\FTyqD, 0np$U2!*'z_4D,
	VPlFf?bN0&zYf"zF0s!7Tl7?$we)xD0@lL>[h|8bhys0i.g|zLnu@C
	Ti@d]i=[!:j1CB\5/TF[m]`lfHfaqSN[0qn@T3zeosV/[LAss{@p_?],x*j8P_9t[}uHD^X-;
	j~\M! gyTly;fj`}&Y~i{<#bN.#QmkE}#T`dxP.I1\.)_MEN{@#W
User-Agent: Mutt/1.5.6i
X-Virus-Scanned: clamd / ClamAV version 0.72, clamav-milter version 0.72
	on ak4719.spb.edu
X-Virus-Status: Clean
X-BeenThere: tiff@remotesensing.org
X-Mailman-Version: 2.1.2
Precedence: list
List-Id: TIFF and libtiff discussion  <tiff.remotesensing.org>
List-Unsubscribe: <http://xserve.flids.com/mailman/listinfo/tiff>,
	<mailto:tiff-request@remotesensing.org?subject=unsubscribe>
List-Archive: <http://xserve.flids.com/pipermail/tiff>
List-Post: <mailto:tiff@remotesensing.org>
List-Help: <mailto:tiff-request@remotesensing.org?subject=help>
List-Subscribe: <http://xserve.flids.com/mailman/listinfo/tiff>,
	<mailto:tiff-request@remotesensing.org?subject=subscribe>
Sender: tiff-bounces@remotesensing.org
Errors-To: tiff-bounces@remotesensing.org
X-UIDL: c44e66048bd199f952b505dde32b6aa8

On Sun, Jul 11, 2004 at 12:47:12PM -0400, Jay Berkenbilt wrote:
> Executive summary: after additional experimentation, I no longer
> believe that there was an ABI change between 3.5.7 and 3.6.1.  Read on
> for details....
> 
> >   It seems to me that the TIFFDirectory, _TIFFRGBAImage and TIFF structure
> >   contents are not intended to be used publically.  I am not familiar with
> >   what resulted in the TIFFYCbCrToRGB structure change or what it is used
> >   for, so I am not clear on whether this is really a change to the public
> >   ABI or not.
> 
> I've done a bunch of experimentation this morning and agree with your
> conclusion.  I have compiled various programs that follow the TIFF
> interface correctly and have not been able to create a situation where
> a program compiled with libtiff 3.5.7 and run with 3.6.1 or vice versa
> behaves incorrectly.  It is also clear that libtiff uses the well
> established technique of hiding the structures from the public
> interface through an opaque typedef.  This even isolates the client
> applications from changes in the sizes of the data structures.

There was one change: the structure

typedef struct {				/* YCbCr->RGB support */
	TIFFRGBValue* clamptab;			/* range clamping table */
	int*	Cr_r_tab;
	int*	Cb_b_tab;
	int32*	Cr_g_tab;
	int32*	Cb_g_tab;
	float	coeffs[3];			/* cached for repeated use */
} TIFFYCbCrToRGB;

becomes

typedef struct {				/* YCbCr->RGB support */
	TIFFRGBValue* clamptab;			/* range clamping table */
	int*	Cr_r_tab;
	int*	Cb_b_tab;
	int32*	Cr_g_tab;
	int32*	Cb_g_tab;
        int32*  Y_tab;
} TIFFYCbCrToRGB;

I have made that change because that structure previously was used
internally in libtiff, so it should be safe to change it.

> If I can demonstrate conclusively that this is not the result of an
> ABI change, then I'll retract my request to call the next release
> 4.0.0 and change its soname on that basis.  Of course, it may still be
> a good idea to decouple the soname and library version as discussed in
> your message and other responses, but it could be done just because
> it's a good idea to do in conjunction with moving to libtool rather
> than because of this specific problem.

It will be more valuable reason to change the soname soon. We are
working on TIFF format extension able to deals with the large files
(>4GiB), that will certainly results in large ABI change (uint32 will
become uint64 in many places).

							Andrey

-- 
Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517
_______________________________________________
Tiff mailing list
Tiff@remotesensing.org
http://xserve.flids.com/mailman/listinfo/tiff
