[Gdal-dev] MrSID Driver v. 4.0.x overviews
Michael P. Gerlek
mpg at lizardtech.com
Wed Jul 21 12:50:13 EDT 2004
Julien and/or Andrey wrote:
> I' ve added overviews support in the new driver using MrSID DSDK v.
> 4.0.x and tested it (with OpenEV) under Windows with MrSID and
> JPEG2000 files ; and made minors modifications to update to the last
> DSDK "Geo_DSDK-4.0.9.713".
Thanks to Julien and Andrey their patchings!
PLUG: For those keeping score at home, this is our final, public 4.0
SDK release. You can download it for free (click-through license) at
developer.lizardtech.com.
> I don't have the MrSID files other than 8 bit, do you have a samples? It
> will be enough for me to fix that bug.
...And I have way too many MrSID files that are other than 8 bit. :-(
I think there's at least shipping in the SDK examples directory now, if
not I will mail you one separately.
> Maybe one reason is that to read an RGB image I believe each tile is
> decompressed 3 time, one time per component... About the same problem
> with the GeoTIFF driver, Frank said that we can optimize this by
> reading interleaved data in one pass by using the
> GDALDataset::RasterIO() ; maybe we can also implement this for the
> MrSID Driver ? Maybe we can also try to remove the memcpy in the
> IReadBlock function and read directly data into the GDAL buffer.
> (Maybe there are some optimization to do using the MrSID API
> differently ?)
Yes, one scene read will decode all three bands at once (they are encoded
together, due to the RGB->YIQ color transform).
I think you can easily use the GDAL buffer instead of having to memcpy;
the LTISceneBuffer is designed specifically for this kind of thing. What
is the format/organization of the GDAL buffer?
> I've a little question about JPEG2000 in MrSID : I see in
> Geo_DSDK-4.0.9.713/doc/README-3rdparty.txt that : "This application
> uses Kakadu software, licensed from Unisearch Software, Ltd." Is MrSID
> SDK use Kakadu for all its JPEG2000 support ?
Yes, the 4.0 release uses Kakadu internally (a modified 4.2 kernel).
I've been happy with it -- the performance is good and the low-level
interfaces are very, umm, "comprehensive". However, our public SDK
are designed to be "codec-neutral" and we may choose to swap out the
use of Kakadu in the future.
Please note that our SDK will not (yet!) support all Part 1 JP2 files.
In particular, we don't support images that:
- use >16 bits per component
- use funky colourspaces (none, gray, and RGB are all okay)
- have components of differing sizes
- have components aligned to different grid sizes or origins
I doubt GDAL would support such images anyway, though..?
-mpg
-----------------------------------
Michael P. Gerlek
Software Architect / MrSID team
mpg/AT/lizardtech.com
LizardTech, a Celartem company
Seattle, Washington
More information about the Gdal-dev
mailing list