5 Known Problems and Workarounds
- 1 -
1. Introduction
The Silicon Graphics ImageVision Library (IL) 2.3 Execution
environment is required on any system that runs IL programs.
Applications such as Indigo Magic, the desktop environment,
Insight and the ImageVision tools all require this
subsystem. Since the necessary il_eoe subsystems are
installed as a default, most users should not have to
concern themselves with further details. However, the
curious user may be interested in using IL derived tools or
programming directly with the IL. You can refer to the
ImageVision Tools book or the IL man page for some example
applications derived from IL.
IL Execution environment software consists of a primary
library for C++ as well as supporting libraries for C and
Fortran based applications. Additionally, a set of
libraries used for supporting several file formats are
included in the il_eoe subsystems. The IL reference man
page contains more information about IL derived
applications.
Important note: for back compatibility, included in the
ImageVision Library 2.3 release are the IL 2.2
libraries. This allows applications linked with the
previous IL release (version 2.2) to continue to run.
However, you must relink against the IL 2.3 libraries
to take advantage of performance tunes and bugs fixed
since the IL 2.2 release.
This document contains the following chapters:
1. Introduction
2. Installation Information
3. Changes and Additions
4. Bug Fixes
5. Known Problems and Workarounds
1.1 Release_Identification_Information
Following is the release identification information for
ImageVision Library:
ImageVision Library
- 2 -
Software Product
- 3 -
Version 2.3
System Software Requirements IRIX 5.2
1.2 Online_Release_Notes
After you install the online documentation for a product
(the relnotes subsystem), you can view the release notes on
your screen.
If you have a graphics system, select ``Release Notes'' from
the Tools submenu of the Toolchest. This displays the
grelnotes(1) graphical browser for the online release notes.
Refer to the grelnotes(1) man page for information on
options to this command.
If you do not have a graphics system, you can use the
relnotes command. Refer to the relnotes(1) man page for
accessing the online release notes.
1.3 Product_Support
Silicon Graphics, Inc., provides a comprehensive product
support maintenance program for its products.
If you are in North America and would like support for your
Silicon Graphics-supported products, contact the Technical
Assistance Center at
1-800-800-4SGI.
If you are outside North America, contact the Silicon
Graphics subsidiary or authorized distributor in your
country.
- 1 -
2. Installation_Information
This chapter lists supplemental information to the IRIS
Software Installation Guide. The information listed here is
product-specific; use it with the Installation Guide to
install this product.
2.1 ImageVision_Library_Subsystems
The ImageVision Library includes these subsystems:
il_eoe.sw.c++ This is the C++ version of the ImageVision
Library DSO.
il_eoe.sw.c This is the C version of the ImageVision
Library DSO. It depends on the C++
version: il_eoe.sw.c++.
il_eoe.sw.ftn This is the Fortran version of the
ImageVision Library DSO. It depends on the
C and C++ versions: il_eoe.sw.c and
il_eoe.sw.c++.
il_eoe.sw.tiff This DSO library provides support for the
TIFF image file format. It depends on the
base library: il_eoe.sw.c++.
il_eoe.sw.sgi This DSO library provides support for the
SGI image file format. It depends on the
base library: il_eoe.sw.c++.
il_eoe.sw.photocd This DSO library provides support for the
PhotoCD image file format. It depends on
the base library: il_eoe.sw.c++.
il_eoe.sw.fit This DSO library provides support for the
sample FIT image file format.
il_eoe.sw.gif This DSO library provides support for the
GIF image file format. It depends on the
base library: il_eoe.sw.c++.
il_eoe.sw.demos This provides some demo programs using IL.
il_eoe.sw.il2_2 This is the set of DSO libraries
corresponding to the 2.2 ImageVision
Library release.
il_eoe.data.images This provides some sample images that can
be used with the IL demo programs.
- 2 -
il_eoe.man.relnotes The online version of these release
notes.
il_eoe.man.il Documentation on configuring the IL
runtime environment.
2.2 ImageVision_Library_Subsystem_Disk_Space_Requirements
This section lists the subsystems (and their sizes) of the
ImageVision Library option.
If you are installing this option for the first time, The
subsystems marked ``default'' are the ones that are
installed if you use the ``go'' menu item. To install a
different set of subsystems, use the ``install,''
``remove,'' ``keep,'' and ``step'' commands in inst to
customize the list of subsystems to be installed, then
select the ``go'' menu item.
Note: The listed subsystem sizes are approximate. Refer to
the IRIS Software Installation Guide for information
on finding exact sizes.
Subsystem Name Subsystem Size
(512-byte blocks)
il_eoe.sw.c++ (default) 5741
il_eoe.sw.c 866
il_eoe.sw.ftn 828
il_eoe.sw.tiff (default) 862
il_eoe.sw.sgi (default) 151
il_eoe.sw.photocd (default) 221
il_eoe.sw.fit (default) 73
il_eoe.sw.gif (default) 81
il_eoe.sw.demos 190
il_eoe.data.images 3287
il_eoe.man.relnotes 17
il_eoe.man.il 13
il_eoe.sw.il2_2 8257
- 3 -
2.3 Installation_Method
All of the subsystems for ImageVision Library can be
installed using IRIX. You do not need to use the miniroot.
Refer to the IRIS Software Installation Guide for complete
installation instructions.
2.4 Prerequisites
If you want to install il_eoe.sw.c, you must also install
il_eoe.sw.c++. If you want to install il_eoe.sw.ftn, you
must also install il_eoe.sw.c and il_eoe.sw.c++. If you
want to install il_eoe.sw.tiff, il_eoe.sw.sgi,
il_eoe.sw.gif, il_eoe.sw.photocd or il_eoe.sw.fit you must
also install il_eoe.sw.c++. Your workstation must be
running at least release IRIX 5.2 in order to use release
2.3 of this product.
- 1 -
3. Changes_and_Additions
This chapter lists the changes and additions to the
ImageVision Library since the 2.0 release.
3.1 Changes_Between_Release_2.0_and_Release_2.1
There were no significant execution environment changes
between release 2.0 and 2.1.
3.2 Changes_Between_Release_2.1_and_Release_2.2
3.2.1 New_Method_for_Extending_File_Format_Support
o The mechanism for adding a user-defined file format to
IL was changed in release 2.1. The new method enables
a user-defined format to be added to the library at
runtime, thus permitting existing applications (like
imgview(1)) to recognize the new file formats. See the
gift source ilFITImg.c++ and ilFITformat.c++ in
4Dgifts/examples/ImageVision/ilsrc for an example image
format handler. See the imgformats(1) man page for
details on how to tell IL about your new format
handlers.
3.2.2 Supported_File_Formats_Are_Independent_DSOs
o The supported file format handlers are now provided as
independent dynamic shared objects that are installed
in /usr/lib/ImageVision/filefmt. To be able to read
and write in the supported file formats you must have
installed the il_eoe.tiff, il_eoe.fit, il_eoe.sgi and
il_eoe.photocd subsystems.
3.2.3 New_Image_Reader_for_PCD_Image_File_Format
o A new image reader is provided for the Photo Compact
Disc (PCD) format. Writing is not supported for this
format.
3.3 Changes_Between_Release_2.2_and_Release_2.3
3.3.1 Extended_List_of_Run_Time_Control_Parameters
o Several environment variables have been added to
enhance control and use of cpu, memory and graphics
hardware resources. See the IL(1) man page for the
complete list of environment variables.
- 2 -
3.3.2 New_Caching_Implementation
o IL's memory management is now based on memory mapping
to allow for finer control of main memory allocation
and reclamation. Several environment variables have
been added to allow user control of IL's memory usage.
See the IL(1) man page for details.
3.3.3 New_Image_Reader_for_GIF_Image_File_Format
o A new image reader is provided for the Graphics
Interchange Format (GIF) format. Writing is not
supported for this format.
- 1 -
4. Bug_Fixes
The following bugs in IL version 2.0 have been fixed in
version 2.3.
o Memory leaks
A number of memory leaks and file descriptor leaks have
been plugged in this release.
o Memory fragmentation
Memory fragmentation has been greatly reduced with the
new memory management system.
o Reality Engine acceleration improved
The performance of IL using RE hardware has been
improved over 2.2, in some cases greatly.
o Generalized hardware acceleration
The ability to used graphics hardware independent of
the display has been added. Applications can now
compute image operators in hardware independent of the
image output's destination.
o Recovery from bad SGI image files
There exist many SGI-format image files with bad
min/max values, created by programs that had bugs in
the past. Such files can be viewed by the ipaste
program (which always ignores the min/max values) but
until IL 2.3 they could not be read by IL-based
programs such as imgview which use the min/max values
for scaling. IL will now detect this situation and
substitute reasonable min/max values. The imgcopy
program may also be used to patch these files.
o TIFF format issues resolved
IL was writing an SGI-specific TIFF tag
TIFFTAG_IMAGEDEPTH in all cases, now this tag is only
written when necessary (when the image's depth is > 1).
IL no longer prints messages to standard error output
when it encounters unknown TIFF tags.
Errors caused by invalid codes when decoding fax-
encoded TIFF files no longer cause the operation to
abort.
- 2 -
IL now recognizes the new scaling min/max tags as
specified in the TIFF 6.0 spec, and no longer uses the
statistical min/max tags for scaling.
o Other TIFF bugs fixed
IL wrote and read the wrong values for signed vs.
unsigned integer data types in TIFF files; this has
been fixed.
A bug that resulted in a bad TileLength being written
and core dumps when creating a tiled TIFF image has
been fixed.
Restrictions on page size in TIFF images was too
strict, causing valid TIFF files to be rejected; this
has been fixed.
A bug that caused images with rowsperstrip and
tileheight tags both undefined to be read incorrectly
has been fixed.
Problems reading/writing TIFF images whose data type
was float or double and whose color model was grey or
negative have been fixed.
Color maps are now properly written out into TIFF color
palette images, and they are scaled properly when read
in.
o Corruption and core dumps
A bug causing memory corruption upon closing a FIT
image file has been fixed.
o IL Applications wouldn't die
A bug that caused IL applications to sometimes leave a
process running after the application was closed by
user interaction with the window manager has been
fixed.
o Incorrect results and core dumps on RE
A bug that caused pages of images to appear in
scrambled order when displaying the results of certain
hardware accelerated operations on the Reality Engine
has been fixed.
A bug that caused a segmentation violation when trying
to display a large portion of a hardware-accelerated
- 3 -
operation on the Reality Engine has been fixed.
A bug that caused texture-rendered ABGR images to be
displayed as garbage has been fixed.
o Hardware accelerated zoom on VGX
There was a bug that sometimes caused gaps to show
between pages of an image when displaying a hardware
accelerated zoomed image on a VGX; this has been fixed.
- 1 -
5. Known_Problems_and_Workarounds
This chapter lists the known problems in version 2.3 of the
ImageVision Library and, where known, ways to work around
them.
o Output to an image file in Silicon Graphics' classic
.rgb format is not supported if RLE compression is
selected. Output files created in SGI format must be
created in raw (uncompressed) format. Use TIFF format
if you wish to create a compressed image file.
o Output to an image file in Silicon Graphics' classic
.rgb format does not support arbitrary min and max
values set. Use TIFF format if you wish to set
arbitrary min and max pixel values.
o When running the ILmonitor mp-enabled and with
IL_MONITOR set to 2, if you exit the monitor while the
application is still running, the application will not
terminate as its threads linger.
o On the Reality Engine, image icons that appear in
desktop applications such as fm and iconbook are
created using the graphics hardware; unfortunately, for
the particular minification operations used by these
programs, this hardware method is slower than doing the
calculation in software. Thus these programs can be
speeded up by setting the environment variable
IL_HW_ACCELERATE to 0. Keep in mind, however, that all
other IL applications started from within the desktop
program will inherit this value and so they will not
get hardware-accelerated. See the IL(1) man page for
more details on hardware acceleration and environment
variables that affect IL.
o IL programs will core dump if the current file-creation
mode mask (umask) is strange, for example, if the mask
causes files to be created without read or write
permission by the owner of the file.
o Trying to display an RGB bit-data-type image directly
on a Reality Engine does not work and may crash the
graphics pipe; this happens even with IL hardware
acceleration turned off. An image file in this format
may be viewed by first converting its data type to
uchar using the imgcopy program.