[Gdal-dev] MrSID Driver v. 4.0.x overviews

Andrey Kiselev dron at ak4719.spb.edu
Tue Jul 20 13:57:18 EDT 2004


On Tue, Jul 20, 2004 at 12:48:41PM +0200, Julien Demaria 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". (I've attached the zipped new
> mrsid\mrsiddataset.cpp file)

Hi, Julien,

Thank you for the patch. Unfortunately I have a bit older version of the
DSDK, but I shall try to incorporate your changes.

> I've noted one bug with the driver when reading the last MrSID strip I
> believe (black zone under OpenEV) ; maybe a problem in the IReadBlock
> function on last truncated strip...

It seems that you are right and there is a problem with the last strip.
Strange that I haven't noticed it previously. I shall look into the
problem.

> I suspect also another bug with nBlockSize that isn't well initialized
> when sample size > 8 bits (Should I put a bug report in bugzilla ?)

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.

> About performances (tested with OpenEV) on a large RGB image
> (10000x10000), now large zoom-out are fast with overviews, but I find
> navigating in the image between 1/3 and 1/1 zoom factor is slow, and
> the viewer freeze for a moment before starting display tiles
> (initialization cost ?). I cannot compare with old 3.x.x DSDK because
> I haven't one.
> 
> 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 ?)

Well, I don't remember why I have used memcpy() and didn't made more
optimizations, but there are was several issues with DSDK and its API
was not stable at the time when the driver was written. There are
certainly ways to improve perfomance and it seems the time to do that
comes. I will look what can be done to make things better.

> 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 ?

I can't answer this question, but perhaps LizardTech developers which
read this list can do. It is interesting for me too.

						Andrey

-- 
Andrey V. Kiselev
Home phone:  +7 812 5274898  ICQ# 26871517



More information about the Gdal-dev mailing list