NOTABLE ISSUES
==============

This file documents specific issues that you should be aware of when using this SDK.



Use of Threads
--------------

The MrSID SDK for Raster is neither reentrant nor thread-safe.  However, it
can be used in a multithreaded application successfully if care is taken that
the methods of any given object are never called simultaneously.



Unix-specific Issues
--------------------

 * LizardTech libraries and applications are built with certain compiler and
   linker flags set.  Please see the file examples/src/makefile for sample
   compile and link lines.  Your environment may require modifications to
   these settings.



Windows-specific Issues
-----------------------

 * There is a known crashing condition when allocating and deallocating DLL
   objects on the heap using new and delete.  A detailed explanation of the
   issue can be found at:

     http://support.microsoft.com/default.aspx?scid=kb;en-us;122675

   We recommend using DLL objects on the stack instead of on the heap, but if
   that is not possible the issue can be worked around by using template
   wrappers for the DLL classes.  See the sample code in ImageInfo.cpp and
   DerivedImageReader.cpp for an example of how to do this. [fb5154]



Darwin-specific Issues
----------------------

 * Darwin users must use "cp -p" when copying the SDK libraries to their local
   machines, otherwise the linker will produce messages about needing to run
   ranlib first.

 * Universal Binary users may have to update the USYSROOT variable in the
   example makefile before the examples will build.



Command-line Applications
-------------------------

 * The command line applications may handle filenames incorrectly on some
   foreign language systems due to locale issues.  A workaround might be to
   set the environment variable LT_NO_SETLOCALE to the string 'true'.  If this
   variable is set, the application will print "[setlocale() not used]" when
   run.  (Note this problem only affects the demo command line applications,
   not the SDK libraries themselves.) [fb3152]

   
Data Type (Pixel) Support
-------------------------

 * The SDK has support for 8-bit and 16-bit samples, both signed and unsigned,
   as well as support for 32-bit floats.  Data type support may vary, however,
   with specific image readers, writers, and filters.

 * The SDK supports up to 512 bands per image.  Note that all bands must be the
   same datatype and all bands must be the same width and height.


 
JPEG 2000
---------

 * The J2KImageReader does not yet support all possible Part 1 JP2 encodings.
   In particular, the following limitations are known:
     - lookup tables (palettized images) are not supported
     - advanced use of colorspaces is not supported
     - all components must have the same datatype
     - all components must be sampled at the same rate, i.e. must have
       the same dimensions
   Use of a jp2 image that contains one or more of the above features will
   result in either an error (failure status code) or an incorrectly displayed
   image.

 * The JPEG 2000 writer does not support optimization.
