Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#3094 closed defect (fixed)

Cannot display an 8 bit tiff with lzw compression created by Mapinfo

Reported by: gaopeng Owned by: warmerdam
Priority: normal Milestone: 1.7.0
Component: GDAL_Raster Version: 1.6.1
Severity: normal Keywords: GTIFF
Cc:

Description (last modified by warmerdam)

The following are error messages from GDAL. The test dataset is at ftp://GDAL@ftp.esri.com/tiff-lzw-problem.zip

ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 2: Unable to allocate 418499163 bytes for a temporary strip buffer in GTIFF driver.
ERROR 1: IReadBlock failed at X offset 0, Y offset 0

Change History (4)

comment:1 Changed 12 years ago by warmerdam

Description: modified (diff)
Keywords: GTIFF added
Milestone: 1.6.2
Owner: changed from Warmerdam to warmerdam
Status: newassigned

The problem is that the TIFF file is all-in-one-strip. Libtiff has support for breaking up uncompressed files into smaller chunks. GDAL has recent support for breaking up 1 bit 1 strip files but general large compressed files like this will choke GDAL.

I will contemplate how to improve the scanline by scanline access to large strips.

comment:2 Changed 12 years ago by Even Rouault

trunk, r17563 : Allow reading big all-in-one-strip 8bit TIFF (mono&multi-band, planar config=separate/contig); Also enable CreateCopy?'ing those files

Test added in r17564

comment:3 Changed 12 years ago by warmerdam

Milestone: 1.7.0
Resolution: fixed
Status: assignedclosed

Change also applied in 1.6-esri branch.

Closing.

comment:4 Changed 12 years ago by warmerdam

Ported into 1.6-esri as r17580.

Note: See TracTickets for help on using tickets.