Opened 13 years ago

Closed 13 years ago

#3876 closed defect (fixed)

Unable to open some new band interleaved PCIDSK files

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone:
Component: GDAL_Raster Version: svn-trunk
Severity: normal Keywords: PCIDSK
Cc:

Description

Change History (3)

comment:1 by warmerdam, 13 years ago

Two direct issues and one indirect issues were identified.

First, the file set the IHi.6.7,IHi.6.8,IHi.6.9 and IHi.6.10 file window values even though it is an internally band oriented file where these were not traditionally set (and contrary to what the old PCIDSK manual says). This was causing the file to be treated as an external database file but this failed as the filename was empty. I have adjusted the logic to instead treat it as an external file only if the filename is empty (part of r21229).

Second, there seems to be new logic put in by Phil to compute the pixel type of a channel from the 8/16u/16s/32r counts if the complex band counts are zero. But this causes the wrong channel types to be selected in this file and I have adjusted the code to never override a provided pixel-type in the image header - instead it only falls back to the counts if this is empty. (part of r21229).

Thirdly, a bug in reading from unpacked FILE interleaved files was discovered in passing while investigating the above. This problem would typically cause a crash when reading an external raw file that is not packed and pixel interleaved. This is a fairly serious bug though rare bug due to the crash and is fixed (r21230).

comment:2 by warmerdam, 13 years ago

A full pcidsk sdk import into trunk was done to capture these changes (and many more) (r21231).

Some specifics of the code were different in 1.7; however and slightly adjusted changes were made there (r21232).

1.6 uses a completely different implementation and is not being investigated.

comment:3 by warmerdam, 13 years ago

Resolution: fixed
Status: newclosed

added some minimal testing with this new file in the sdk testsuite (r21234).

Note: See TracTickets for help on using tickets.