Return-Path: <tiff-bounces@lists.maptools.org>
X-Original-To: info@awaresystems.be
Delivered-To: info@awaresystems.be
Received: from mx-q.b-one.net (mx-q.one.com [91.198.169.248])
	by mail9.b-one.net (Postfix) with ESMTP id 9EB9C400B7B
	for <info@awaresystems.be>; Tue, 11 May 2010 18:04:07 +0200 (CEST)
Received: by mx-q.b-one.net (Postfix, from userid 106)
	id 963E47231273; Tue, 11 May 2010 18:04:07 +0200 (CEST)
X-Virus-Scanned: by one.com
X-Spam-Score: 0
X-Spam-Level: 
X-Spam-Status: No, score=0 tagged_above=0 required=4 tests=[none]
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.4
Received: from lists.maptools.org (lists.maptools.org [65.39.174.144]) by
 mx-q.b-one.net (Postfix) with ESMTP id 9EBB07231269 for
 <info@awaresystems.be>; Tue, 11 May 2010 18:04:06 +0200 (CEST)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by
 lists.maptools.org (Postfix) with ESMTP id 9657C1D4ACB85; Tue, 11 May 2010
 11:03:30 -0500 (EST)
Received: from hydra.rus.uni-stuttgart.de (hydra.rus.uni-stuttgart.de
 [129.69.1.55]) by lists.maptools.org (Postfix) with ESMTP id 492C41D651E6F
 for <tiff@lists.maptools.org>; Tue, 11 May 2010 11:03:08 -0500 (EST)
Received: from localhost (localhost [127.0.0.1]) by
 hydra.rus.uni-stuttgart.de (Postfix) with ESMTP id CDAC512B88B; Tue, 11 May
 2010 18:03:04 +0200 (CEST)
Received: from hydra.rus.uni-stuttgart.de ([127.0.0.1]) by localhost
 (hydra.rus.uni-stuttgart.de [127.0.0.1]) (amavisd-new, port 10024) with LMTP
 id Gg48dUvy2tNc; Tue, 11 May 2010 18:03:02 +0200 (CEST)
Received: from uni-stuttgart.de (mbox.uni-stuttgart.de [129.69.1.9]) by
 hydra.rus.uni-stuttgart.de (Postfix) with ESMTP id 7A94312B96E; Tue, 11 May
 2010 18:02:59 +0200 (CEST)
Received: from [129.69.58.55] ([129.69.58.55] verified) by uni-stuttgart.de
 (CommuniGate Pro SMTP 5.2.14) with ESMTP id 133431565; Tue, 11 May 2010
 18:02:36 +0200
Message-ID: <4BE97F9C.1060500@math.tu-berlin.de>
Date: Tue, 11 May 2010 18:02:36 +0200
From: Thomas Richter <thor@math.tu-berlin.de>
User-Agent: Mozilla-Thunderbird 2.0.0.24 (X11/20100329)
MIME-Version: 1.0
To: Frank Warmerdam <warmerdam@pobox.com>
References: <4BE9788B.2020701@math.tu-berlin.de>
 <14197_1273592973_4BE97C8C_14197_29529_1_4BE97C7C.1060407@pobox.com>
In-Reply-To:
 <14197_1273592973_4BE97C8C_14197_29529_1_4BE97C7C.1060407@pobox.com>
Content-Type: multipart/mixed; boundary="------------010800060001050609050605"
Cc: tiff@lists.maptools.org
Subject: Re: [Tiff] Tiff with varying bit depths
X-BeenThere: tiff@lists.maptools.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.maptools.org>
List-Unsubscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.maptools.org?subject=unsubscribe>
List-Archive: <http://lists.maptools.org/mailman/private/tiff>
List-Post: <mailto:tiff@lists.maptools.org>
List-Help: <mailto:tiff-request@lists.maptools.org?subject=help>
List-Subscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.maptools.org?subject=subscribe>
Sender: tiff-bounces@lists.maptools.org
Errors-To: tiff-bounces@lists.maptools.org

This is a multi-part message in MIME format.
--------------010800060001050609050605
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Frank Warmerdam schrieb:
> Thomas Richter wrote:
>> Hi folks,
>>
>> I currently have a need to read and write TIFF files with a varying 
>> bit depth. To be specific, this is a BGR565 image packed into TIFF:
>>
>> $ tiffdump out.tif
>> out.tif:
>> Magic: 0x4949 <little-endian> Version: 0x2a
>> Directory 0: offset 8 (0x8) next 0 (0)
>> ImageWidth (256) LONG (4) 1<64>
>> ImageLength (257) LONG (4) 1<64>
>> BitsPerSample (258) SHORT (3) 3<5 6 5>
>> Compression (259) SHORT (3) 1<1>
>> Photometric (262) SHORT (3) 1<2>
>> StripOffsets (273) LONG (4) 1<140>
>> SamplesPerPixel (277) SHORT (3) 1<3>
>> RowsPerStrip (278) LONG (4) 1<64>
>> StripByteCounts (279) LONG (4) 1<8192>
>> SampleFormat (339) SHORT (3) 1<1>
>>
>>
>> Obviously, the library does not support this, but what are my options 
>> if I need to read this file? I'm not too keen to write a tiff-parser
>> myself, unless I really really have to - and - I afraid - I really 
>> really have to read this file in one way or another.
>>
>> Is there a way to get at least hands on the raw stripe data without 
>> the lib falling over? Failing that, what is the patch acceptance policy
>> for libTIFF? Would you accept a patch that adds support for this, 
>> probably in a limited way?
>
> Thomas,
>
> Have you investigated using TIFFReadRawTile() to read these tiles?   At
> what point does libtiff fail with this file?
Do I misunderstand this? The file isn't tiled, but striped, thus why 
would TIFFReadRawTile() help?
Anyhow, I don't even get that far, the code already fails at TIFFOpen():

 tfd = TIFFOpen(basename,"r");
    if (tfd == NULL)
      PostError("failed to open the TIFF file %s\n",basename);  // <--- 
goes here immediately.

(From my code).
> I don't anticipate the regular decompression/decoding logic working with
> such a file in the near future, but I would like to see it be possible
> to fetch the raw tile/strip data without too much difficulty.
That's what I would basically need. The file is uncompressed, i.e. the 
data is in a single stripe, bit-packed
as five bits red, six bits green, five bits blue. I assume this is 
tiff-conforming, but please look into the
file yourself.
> Can you make one of these files available?
Certainly, please find it attached.

Note that this was created by a custom tiff writer. I *assume* its the 
proper way of creating such a tiff file, but I don't know.
Would be great if you could look into this.

Thanks,
Thomas


--------------010800060001050609050605
Content-Type: image/tiff;
 name="rgb565.tif"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="rgb565.tif"

SUkqAAgAAAAKAAABBAABAAAAQAAAAAEBBAABAAAAQAAAAAIBAwADAAAAhgAAAAMBAwABAAAA
AQAAAAYBAwABAAAAAgAAABEBBAABAAAAjAAAABUBAwABAAAAAwAAABYBBAABAAAAQAAAABcB
BAABAAAAACAAAFMBAwABAAAAAQAAAAAAAAAFAAYABQCRW5BbkVvRW7FbUFOxWzBTcVOxW3BT
UFtxU3BTkVtxW1FTkVtwW3FjcVuRW1FbcFNxU3FbcFORU5FTsFtwW3BTcFNxW3BTUFtxW3BT
kFNxU3FTUFORU09TcFOQW3FbcVtxW5FbcFtxW1FbcFNwW3BTcVtwU3BTT1NwU3BTUFswU5Fb
sWNvU3BTcVNwU1FbUVuRW5FbcFNwW3FbcFORW5FbkVuRW3FbcFNxW5BbcFNxW3BTcFNxU1Fb
kVuRU3BTcFNwU3BTUFtQW3BbcVtRU1FTcVtwW3BTcFtwU3BTcFtwU5BbkVtwW3BbcVtxW3BT
cVtwW3BTUFtwU3BTcVNRU1FTMFNQSzBTUVtQWzBTcFtwW3FbkVtwU3BTkEuRU7FbkluQW09T
UFuRW5BbcFtxW1FTUFtwW3BbcFuQW49Tj1twW3FbcVNQW1FbUFtxW1BbcVtQU3BbcFNQW3Bb
kFtvW3BTcFNxW3BbUFtwU3BTcFNxW3BTcVNRW1BbUFtRW1FbUFtQW3BbcFswU1BbcFsvWy9b
UFtRW3BTUFswU49bkFtQW1BbcFtwW5BbkFtwU1FbUFtwW3BbcFNwW3BjcFuQW1BbcGNwW1Bb
cFtwW7BbUVtwU29TkVswWzBTcFNwW3BTcVNxU3BTcFtRW3FbcFNwU3BbcVNxW1FbMVsxU1Fb
UVswUzBbT1tQUw9TT1uQWw9TUFswU3BbT1NQW3BbkFuQW1BTUFNPU3BbcFswU3BbcFuQU7Bb
kFtvU1BbkGOwY7BbUGNwWzBTcFNwU3BTcFtQW09TcFuRY1FbUFNwU3BbcFtxW3BTUVNwU3FT
UVNxU3BbkVNxS3FbcFtRU1FTkVtRW1FbMFtPUzBbL1NPW3BbcFtQW1BbcFtwU29TkFtwU3Bb
cFtPU3BbcFtwW1BTcFNwW3BbkVuQW45Tj1uvY69jj1uQW5FbUFNRU3BbcFtxU1FTMFNxW3Fb
cFNQW3FbcFNRW3FbUVNRU3BbcFNwU3BTcVtxU3BTcVNxW3FbkVuRW1FbUVuQU3BTcFuQW3Bb
kFtvW3BTkWOQY1BbcVtQW5BbkFuRW7FbsVuRY5FbUFNQW3BbUVNwW1BTcFOPW29bj1tvW3BT
kFswUzBTUFtyY1FbUFtQW1BbUFtQW3BbcVtRW1BbcFtwW1FbcFtwW3BbcFNwW1BbcFtwW3Bb
cFNxW3FbcVtxW3BbcVNPU1FTcVtPU5BjkmOxY1BbkVtxW1BTUFORW3BTsVuxW5BbkFtvU1BT
cVtxU3FbcFNQW3BbT2NvY5BbT1NvU1BTMFNRW3FbUVtQWzBTMFNRW3BbMFNRW1FbcFtxW3Fb
cVtwWzBTcVtxW3BbUVtRW3BTcFNxW3FTcFtwU3BTcFNwU3BTUVsvU49TUFuRY3FbUFtQU29T
T1NwU5FbkVtwU5BbcVtwU1BLcFNxW1FbMFNwW3FbcWNPWy5TT1tPU3BTcVtRW5BbcFNxW1Fb
MFNRU1FbcFNQU1FbcVtxW5FbcVNxW3BbcFtRW3FbcFNRU3FTsVNwW3FTkVuRY3BTcFNvW3Bb
T1MwU1BLUEtQU1BTUFtwW3FTL0twU3BTsFuwW5BbkVtQU1BTcVuRW3BbcFtQU3FjkVuRY29T
TlMvW09Tb1MxWzBbcFtxW3FTUVtRW1FbcVtRW3BTcVtwW1FbcVtxW3FbcVNxW3FbcVtxW3Fb
kFuRW3BTcFNxU3FTkVuRW09TUFNPU1BTD1MPU09bMFMwUzBTUFNQW09TUFtwU3BTUFMvU1BT
UEtxW1FbcFNxWy9TkWORW5BbT1NPW09TT1NQU3BLUFMwU3BbUVuRY3FbcFtwW3BbcVuQW3Fb
UVtQW1FbUVtxW3FbkVtwW5BTkFOwU5FbcFtwW3BbcFuRY5FjUFNQUzBTL1MvWw9TMFNRW1Bb
UFNPU1BLcFNQU3BTcFswU1BTUEswU3BbkFtxW5FjUFORY3BTkFtPWy9TTlNPWy9TT1NxW3Fb
UFORY3BbL1MvW3BbUVswU3BTkVtxW1FTcFtwW1FbUFtwW3FbcFNwW3BTkGORW5FbkWOSY3Fb
cVswW09TMFsvS1BbUFtQW1BbUFNwW1BbcFNQU3BbT1MvWzBTT1NwUzBbUVORW3BTcVtPU7Fb
MFOQW29TLlNOWy9TL0suS3BTT1NPW3BbcFtPWy5TL0tRY3BbcFNwW3FbcFNwW3BTUVNPU09T
cVtwY1BbMFtQY5FbkVtxY3FjT1MwU09TMFsvSy9TD1MPUy9TD1NQW1BbT1tPU5BTcFsvW09T
T1NwY1BbUVtxW3BbcFsvW3BTcVtPU5BbblMvS01TT1MPS+5CMFNQW3BbcVtwU3BbL0svU3BT
cFtwW3FbUVtRW1FbUVtxW3BTb1NwW1FjMFNxUzFbUFuRW3BbUVtQU1BTL0tvU09TL1MvUzBb
b1NvU3Bbb1NPU09TT1NPU09TT1NwW3Bbb1twW09TL1NPUy9bcFuPU3BbkVsPUy9bTlsvU1Bb
UFNwW3BbcFtxW3BbUFswU3BbcVtxY1FbcVuRW3BbkFOQW3FjUVtxWzBTcFuRW1BTcVuQU3Bb
cFNPU1BTUFMOQ1BLUFMPUy9TUFNQS1BLEFNwW09TEFMPU09TUFNQU1BbcFNwUy9LcVtPUy9b
L1twW3Bjb1uQWw5TLlMuUy9bL1NvU3BbcFsvUy5TUFswW3FbMFtxU7JbUEtQU3FbcFtQU1Fb
UFMQU5FbUFuRW5FbEFNPS3BTUVNwU3BTUFMxU1BTUFtQUw9LL1OQUzBbzkrPSlBTUFMwSzBT
T1NvU3BbcFtvW09TcFtwW29TL2NvU3BTcFtwW29bDktuU05LTlMvUy9Tb1tQWy9Tj1tRW1Bb
UFsvU3JjUFNQUzBTkVuQW1BTMFMvS1BTcFuRW1BTMFMwU29TkVswUy9LcFNwWzBbsVNwWzBb
LlMPUzBTT1NwY1BbUFNPU09Tb1NvU1BbUFtwW3BbL1NPU09TcFuOU09bcFOQU3BTcFNQW09T
D1NvW29bUFMwUy9TcFtPUzBbUFNQUzBTUFMQSxBTcFOxY49bkFuQW1BTUVMQUxBTkWOPW5Bb
T1OQU1BTkVtQUw5TUFMvSy9Lb1NwW3BbUFNwW5BjUFsvW29bcFOPW09LT1NPU3BbcFtvU29T
cVNvS09TT1uwW5FbcFtwW3Bjj2NvY5BjsFtwW09TT1MvU09TT1NvU5BTT1MvS1BTkFMvU3Fb
cFuQUw9LL0svSy5DL0twW3BbUFNQU3BTcFNwU7FbcVsvU3Bbj1tvU09TcFNwUzBTD1PvUi9b
b1twWw9Lb1NQU3BTkFNwU29Lb0twU3BTMFtvU5BbkWNwU09TMFuPY3BrsGuQY3BbcFtvWy9T
TktQU3BTUEtwU1BTcEtwW3BbcFNwU1BTUFtwUy9LL0NQU09LL0tQU3FbDkswUzBLD0tQU5Fb
T1NQS3BbcFtQU1BTUFsPUxBTUFuPWw9T7kovS09TT1MvU29TT1NvU1BTcFNwW29bb1NPUy5T
EFPwUk9bkHPRc7BjkVtvUy9LDksuU09Tb1NPS09TT1NQU09TUEuRYy9LD0sPUzBLz0rwSnFb
UFNPU3BTUEsOSw9LMFNQU3FbL1MOSy9LLktvUy9Tb1MPUzBTMFsvUy9Tb1MvU09TT1MvU29T
b1NPU09TcFOQU3Bbb1tQW1BTL1MvUy9bT1vRc/Bj8WuQYy5TDksuS05TLksvS09TL0svU09T
kFMvSw5TDksuSy5LD0vtSi9LD0sPSxBTT1MvSy9LUFNPU1BLcVtQU09TD1NPUy9TDksPUw5T
DksuUw5LD0sPU29Tb1NvU29TL1MvUy9LL1MvU09TLlMvUw5LD1MvU1BbL1NvWxGE0nvxc29b
L0sOSw5L7kLuQi9TT1NPU29bcFuPW09TMFtvW3BbL1NPUy9TUEsvS29TcFtwU3BbUFOQU3BL
L0svUzBTUFsuU1BTD1MvU+5CL1MvUy5LD0vuUg9TLksuS29TT1MOS+5KL1MPUy9bDlsuUy5T
DktPSw9TD1NPU49jEYTRc9BzT1sOSy9TDktvU+5KL1MvW09bT1tQW1BTUFtwW3BbMFNPW05T
T1OxWy9Lb0uQW1BbLlNPUzBT7UovUzBLT1PNOi5L7UouSy5LDkNPU1BbD0sPSw1DLksuSy5T
7UruQu5C7krOSq1KzlLuUm9TDksPU+9KcFsvUy5Lj2Oxc7FrsWuRYy9TL0swS05TDktQWw9T
cFtQWw9TD1NPW3BbUFsQUy5TT0tOSw5LLksOSw5LMFMvS09b71IPS05T71IPU+5CDVPMSu1C
7kLuSg5LMFsvU29TLksOQ+1KDksuSy5TUFsOSw9Tz0oQU+5SDksPSw9TD1MuSy5LLksuU9Fz
kGtvY7BbLlNwW05LT1MOSy9TL1OPW29Tb1MvUy9L7lIwWxBTD0sOSw9LL0suSy9TLksvU09T
DksvUy9TDksPSw9L70rvSi5LDksOSy5LTktPS09TDksOSw5L7krNQi9TL1MOS85K7krNQu5C
LlMuS09TLlMvU09TL1PuSi5Tr2uPay5TkGNOW09TD1NPUw5TDlMvUw5LL1MvU+5K7koOUy5T
L0svUy9TL1MuU3FTkWNQU1BbUFMvS1BTUFMvS+9KEFNxW09LD1MOSw9bL0svUw9TDktQUy9L
L1POSu1KD1MPS+9KL1MvUw5LLksvW1BTcFsuUy9TLlNvU09TDluQY9Frr2OQay5TT1NPWw9T
DktPU1BTDksvS09Tb1MOS29TkFtvUy5TMVtQU5BbkGNPU09bUFtwW1BbUFtwWzBTT1NxW+5K
T1NvU1BbD1NvU09TD0svS3BbL1MuUw5LLlMuUw9T70ovUw9T7kovS3BbcFtQY09TcVtvW29T
UFtwY9Fr8GPQY9BrcVuRY3BjcWNvS09TUFNPU09TkFuRW3BTb1NwW3FjkVuRY7Fb0VuRY3Bb
cVtyW5FbcVuxW3FbcVtxW1FbL1NwW5BbL1NPU7BbUEtwU3BbUFMvS3BTT1NPUzBTcFNQUw9T
UFMvU5FbkVuyY5BjkVtxW3FbcVuwY5Bj8XPQY7BbsWPSY7JjsVuRW7BbcFtwW3BbcFtwW7Jb
kVORW5Fb0mOyW5JjcFOQW5JbUVtQU3FTcluxW7JjkVuxW5NrcmMvS1BbcFNwU3BTkFNwW5Fb
cVtxW3BbcFtRU1FbcFtwW5BTkFOQW5BbsGOwW5BbkVuxW5BTkFuRY3Fbr2vya7BrkFvRY5Fj
sVuRW3FbsVuRY9JjsWOQW5Fb0mPRW7Fb0mOyY7JbcFORW3FTsVtwU3BTsFuRW/Fj0WPRY/Jr
0mPyY3BTcFuwW7BbkFuRW3BbcWORW1FTkVvRW9JrcFtRU5FbkFOPU5BjkFuwW7Bbr1twS3BT
sVuRY1FbcVuQaxJsr2NvU3BTkWNPU5FjkmORY5FbkFuxW3FbkVuyW7FbsmPSY9Fb8WOyY9Fb
kVuQU3BTcFtQW3Fb8mORW5Fb0mOyY7JrcFMwU9FbkVuRW5BbUVtRW5FbkluQU7FbsluxW5Fb
kVtwU5FbsFvPU9Fb0GOwW3BTcVORW3BbkVuRY5Bj0GOvW29TcFORW3FTUVNxY7FbkWORW7Bb
MFuRW7JbsFOyY/FjkFvRW1FTUVtQW3FT0VsxW5FbsVvRY1BTUFORW5BbMVuxW5Fbj1ORW3FT
cFNQW1BbcVuRW1BbUFuyW1BTkVtQU3FbkVuwW69bsGORW5BTkFuQW5FbkFOyW7Fj0WMRbJBb
j2NvW5FbkFuRW5FbkGPRY5FjcFtPU3BbsVuxW5Fb0WNyW5JbcFtwW3FbcFtyW5FbkVtxU9Jr
kVuxW5FTkFtQW3BbkFuxY3BTkVuyY7JjsVtwU3FbcFNwU5BbkFORW09TkFtwW5BjcFuQU49b
cFtxW5BjcVuRW5Fjj1uQY9BrsGvQYzF08GuwW3BTkFNxY5BbsWOQW5Fjb1OQW3BbUFOQW9Fb
kVOQU1BTsFNwW3FbcVtyW3FbkVtwU5FbsmORW9FbcFvRY5BbcFORW9JbkFuRW5FTcVOxW3Bb
cFvxY5BbkVswU09TsWNxY3BbkVtQU3BbkVuQU5BjcGOwY7Fj0mvxcxFsEXSwY29TcVtvU5Fj
sWPRW9JjcFuQW3FjT1uRY3BTkFNwU3BbkVuxW5FTcFMwU3FTkFORW3BTkVuRW3BTcFtxW3Fb
sFtPU5Fj0WOwW5BTUEuQU7FbkVuQW7FbkVtxW3FTkFvya7FjkFuRY3BTcVtxW5BbkWNwW5Bb
kWPRa9Bjj2PQY29bkFOQW5FbsWOQW5FTkFuxW7FjcVtPW3BbcFPSU5Fbb1OxW5FTkVtwUzBT
cVuxW3BTsVtwU7BTcVORW3FbMFuyY5BTsFuxW7JjkFNvU5FjsFORW5BbsWNwW3BbsVuQU7Bj
kFuRW7FbkVuxY7FbkVuRW3BTkFuRY/Frj1OvW25Tr1OPU7BbkFuyY9Fj0WPQY3FbkGOPW05T
T1OwU9FjkVtwW5BTcFtxW1FbcluRW5FbkVuRW3BTkVOxW7FbkFtyY5FbsVuRW7BTkFtxW7Fb
cVuQUzBTcVuRW7JbkVtxY7Bj0WPxY9JrkWOyY5Fj0WOyY9BjsWOQW/Fj0WvRa5Fj0GPQW5Fj
sWPxa5Bb0mOya7FbkVuRW5FjkGuQY3FjsVuRW3BTsVuxY7JjsWORW3BbkVtwU/Fj0VtwW7Nr
8muyY7FjsmOyW5BbkVOxY3FbkluRW3FbcVtQW3FbsmNxW5FjsWPxa9FjElzRW9FjslvRY9Fj
kWOQY5Bb8mPRY/Jz0GvQW89jsFvRY7FjkmNxW5Bj0mOQW/Fj8WsRbLFjkWNxW3FTcVtwU3BT
kWOSY3FbcVtxW3FbkVuRY3FbkVuRW7Jb0mOSW7JjsVuRU5BbcVtxW5FbcVuSY5FjslvRW3BT
kVuxY9Jj8VvSW9Fb0mOxW9FjsWOxW/Fj0WPyY7FT0WOxY/Br0GOwU5BbsWOSW1FjcFuwY9Jr
EmzRY/BjcFsvW1BbcFORW3FbcFORY5FjcVswU5FbkVtQW1FTsmOSY1BTkVuxW7BbkVuxW7Fb
cVtxY7FjUFtwW3FbsWORU9FjsVuRW7Fj0mPSW5FTkVORW7Jj0luxW7Fb0WvSY9Nj0WPya/Fr
kGPxY7Fj0WOSY7JbcWOxY9Jj0WOyY5FbkVuPW5BbkVuQU5BbcFOQU7BbkVtxWy9LkFORW9Jj
kVtyW5Fb0mOxY1BbkFuQU7FjsmOSY7Jj0mvSa7FbkFuRU7JjsVuQW/FjsWPRY5Fj0mPSY9Fj
0WPSYzJkEmTSa9Jj0WPRY/Jr8Guwa89rkWPyY/Fr8mPxa/FjEWzRY5FbsVuxU3FjsFtwU5Jj
kFvRW5FbcFOyY5Jj0WORW7FbsmPRW7FbsFuSW7FjsWOyY/JjsWOxW5JbcFORW9JjkVtPU5Bb
sVuxY5Fjj1uxW7Jj0mOyY9Jj8mPRY9Jj8mvSY9JjsWPRY5Bb0WuvY/BjsGuvYxJs8mvxa9Fj
8WOxW7JjsWOxW9FbkFtvW5FTkVPRW5FTUVPyW/Nrs2ORY7Jj0mPSa9FjsVuSW9FbsmORW/Jj
smOxY9Fj0VtwW3FbsVuRW5BTUEuQW7FjkmOxY9FjkFtxY5Jj0mPxa/JjsVvxa7FjsVvRYxJs
sWOxY/Fj8Wvxe/Bj8msybNFj0VuyW5Bb8WOyW5JbkVuQU3BbkVOQW7JbUVNRU7Fb0mOxY5Fb
kFPSY7JjkVuxW7JbsVtwU5FbkVvSY7FbsVuxW7FbkWPRW7JjkVOyY7Jj0mPyY/Jr8WPRW9Jj
sWOSYxJksVvxW9FjsWPSW/Nr0mvRaxFsMXwRdDB8MGwRZLFb0VuwW5Fb0VvRW9Fb02OxW5Fb
cFORU5Jb0FOxW3BTcFOxW9FbcFNwU5BbkFPRW7FbkVOQW7FbkVuyY7JjUFtQW3BTkFuxY5Bb
sWOxW7Fj0mOxY5BbsFNvW3FbcFNwU3Fj0WPRY9FjEWwSbNFrsWuwa9Bz72vvaw50D3TRa5Fj
sWOwW3BbkFvRW5BbkVvRW/Fj0VvxY9BjkFuRWzBbkFuxW7FjkVtPU3BbsFvRW7JjkFtxW3FT
cVuQU7JbkVtxW3BTcFNwU3BTkVtxW3BTkFNwW29bcFuQY5FjkGOyY3FbkVvRY7FjsWuwY9Bj
b1uPY25bb2uQe25rrWuOa7BrcWNQU5FbcFNQU3BbUFMwU7FjsVvRW/Bjb1MvS5BTkFuRW7Fb
sVuQW1BLsVtxU3JbcVORW5FbkVtyY3BTkFNwWzBTkFtRW3BTcUuRU3FbcFtwU5BbsFtwY7Br
0GNPW5BjkWOPW7Bjr2OPY09bLlstU01bTVttYy5jbmPPc65rkGtQW3BTsWOxY5FbkFtwU5Fb
kVvyY3BbkVsPU29TT1twW5FbcVuxW1BTcVOxW3FTD1NRU5FTklsxU7FbkFuQU3FbMFNQU5BT
sVORW5FTsluyY7FjsVtvW49bblNtW29jr2OPYy5jbltNW01bTWMtY25jr2uNY65jr2vQaxB0
MYQSfNFrkWOxY9FrsWORY5BbcFuxW9Fj0WPya9JrsWPSa/FrsGPRY5FbsVOxU5FT0VuwW7Fb
smORW5BbkFOwU9FbkVuRW5FjkVNwU3BTcFNwW5BbcVtwU29bj2NvY45bz2Ovc49rEHQPdM9z
0Gvwc/Bz8HMQfFGEMXySjLKcsZTRnNKMk4wxdBF8EWzzc/J7EnxSdHJ8UXQxdFJ8MXRSfPOU
04zUjLSM0GOyY1BbcFORW5BbkFOxY5FjcFuPS7BbsVORW7FbkVtxW1FbcFNwU7Bb0VtxW3BT
kWPyczF08XNzhJKMVa21rVSlM6UUpfScM500pdW1tr3WxfbFFc4WxjbGN8a2tbWl05TTjLOE
UYRxhJGEcYSSjNKMNJ1VrVWtlK21tbatVa3UlBJ80nOxY7JjsmPSY5Fj0mOxW5BTkFuRU5Fb
cFOwU1FbsluyW5Fb8mOxW5FbsVuwY1J8UnTUjHalGM655lbOtLX2vVjOeNaXxjbGd853zvnu
l9bUvRa2eM4b57jeWd/VtZWlspRwhHGUD4RxjBOdVK1Xxva91b0WvvW99b2YxhfG1rXYrTaV
1ZQTdNFjkmOxY7FbsFtPU5BbsFNwU3BTcVNwU1BTcVOxW7Jj8luxWxJskoQVnde1PN/a7tz3
Wed4zhe+1bVUpfGcVK05zrXFVs71vRKl8aS0tRvfGue977rvNsZ0pbKUkoz0pDOdM6UWxvXF
N85Yzvre2d5a73v3mu/e953vnvf63vOE8WPya5BjcFtwUy9TkFuPW3BbcFNwU7BTsVswU7Fj
sWPRY5Bj8XPzlDOddrVc57nWvvff//332N72vTKl8qQ0tbW9eObY5nfG9b0WvnfGV873vXjG
mcbVtfe99734xRjGeMZZzhrnOue77/7//ff+9973//+b9/7/3v+995rntIwSfBJ80WuRW3BT
cFNwU5FjcFNQU5Bb0VuyYzBT0ms0hJSMVaXWtfbFtbXWtdrOnec53/3//P8a17nWuc54znnW
udY775v/G+/77rnWmc661lrOu9abzl33vf/////////f9/7//v/+/9733vf//933/vf+/733
3ff+/9z/9a0VldSMsoQRXJFbkVvSY5FbkFOPU1BLcVuxY1FbUWM0fLit+b1793rvOe+4zpjO
uN54zpnW2d5b5/vmW+ec71v3vP+d//7//vee957v/////773nvf/99//vvfd9////v+d973v
3v/971vfGddb5zrf+dZYvnfGeM6YzpjG9bXTjBWNU2zya7FjsVuyW7FjEmSxW7Fj0mOSY5Fb
kmPzczel2tY5zpnOeNb+////3/////////////73///+/97v////9/7///+979/////e9///
3vfe7/7/3P/b//v3u+965/jWmcb4vTi+FrYWrha21rW2tVOdM51zpVS1dK0TjfSME2zSY5Fb
kVuxW/Nr82vzY/JjE2TyY9JjkVuQU/Jj9ZzVtda12tZ83/73vvfd9/3//f/d99z3/f/c95rv
uve695rvOuca5xrnGt+5ztnO2M54xli+NrY2vhe+9rX2tfa1ta3zlLGMEpXyjPKM0oQTlfOM
s4yyhPKM8pQUjbR8UXTRa9Jr0VuRW9Fj8muxW9Fb8msTZLFjkVvSY7Fj8Vvxa+9rMYRVrfa1
Nr42vtS19b1Wxhe+F76Yxje+F8YWtja+9r20rda1FrbVtbWtlaV0nVSV0ozyjBKN0oSRhJF0
cGzvaxB0MGwQbDBs8WvRYzF0MnQRbDF0MnRSfLN8c3zRYzFs8WPSW7FbkmPSa7FbkVuxW/Jj
0FvSY7JbsmPxY5BTbluPYzB0kYQSlVOdk6WUpVKdE5XyjDKdEpUSndGU05SRhLGE0ozSjJGE
MHRxdDB072swdDB0cXQRbNFzsGOPW49jb1vQW9Fj0WOQW9FjsWOwY3FjsGPxY9BbEmRSbDR0
0mPSY9FjcFtwU3FbcFuwW7FjsFuQU3FbcFuxW49TkFOwY/Br0FsxZFF00ozTjNGEkoSShFB8
cIQwfHF0UHTwc89jrmvvc+9z8GtuW21bz2vwa9Brj2OPW7BjsGuxa29bkGNwY5Bj0FvQW7Bj
0WPRY5BbsWOxY7Fj0Vvya9Jb8mORY5BTkFuQW7Jj70qxW/FjEmwwS1BbkWORWy9TkFORW7Fb
kFuwY9Bj8WOwY/Br0GvQa/Br8WNQdDBsEWwybK9jr2NuY9Bjr2PQa69jbluvYxF08WuQY9Bj
sFtPU7FjkVuRW5BbkFvRW9FbsmPRY/Fj8mPSW9Jj8WPSY7Fb0mPSY5FbsVuRW7FjsVtwW7Bb
0mPyW5BbsVvQY7FbsVvRW5JbkFuRY5BbsWPSY7Fj0WvRY5FjTluwa49b0GOPW/Fj8mPxY69b
0FvvY+9jj2PQa9Bjr2OwY7Bj8WPSa7JjsGPQY3BbT1OQY3FbkVuwU29L0mPxY7FbsWOxW5Bb
kVuSY/Fb0mPRY7FbsVuyWw==
--------------010800060001050609050605
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
http://www.remotesensing.org/libtiff/
--------------010800060001050609050605--
