home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
useful
/
dist
/
gfx
/
show
/
superview-lib
/
docs
/
svobject-docs
/
tiff.doc
< prev
next >
Wrap
Text File
|
1994-07-04
|
10KB
|
257 lines
TIFF.svobject
© 1994 by Andreas R. Kleinert.
FREEWARE. All rights reserved.
Version : 2.7
Release Date : 05.06.1994
Requirements
~~~~~~~~~~~~
- OS V2.04+ (V37)+ and its libraries
- superviewsupport.library V3+
Description
~~~~~~~~~~~
TIFF.svobject is an external Library-Module for the superview.library V2+.
It contains SVDriver-Support for the superview.library V3+, and
needs any SVDriver with Bitplane-/ChunkyPixel-Support.
It supports reading and writing of TIFF-Files (V5.0).
In detail these are :
Reading :
Compression Code PixelBits Planes Max. Depth As Test
None 1 1 (system) 1*(system) BITPLANE
None 1 8 1,3 8 / 24 ONEPLANE X
Mac PackBits 32773 1 (system) 1*(system) BITPLANE X
Mac PackBits 32773 4 1 4 ONEPLANE X
Mac PackBits 32773 8 1 8 ONEPLANE
LZW 5 8 1,3 8 / 24 ONEPLANE (X)
CCITT 1D 2 1 1 1 BITPLANE
- CCITT 1D DISABLED IN THIS VERSION : does not seem to work correctly -
Not all of these modes may work correctly and/or have been tested
for working correctly. Tested were :
- None , PixelBits 8x1, ONEPLANE (problems with odd-width pics)
- None , PixelBits 8x3, ONEPLANE (problems with odd-width pics)
- Mac PackBits, PixelBits 1x?, BITPLANE (nearly no problems recognized)
- Mac PackBits, PixelBits 4x1, ONEPLANE (no problems recognized)
- LZW , PixelBits 8x3, ONEPLANE (not SURE, if working corr.)
Writing :
Writing is only supported for Graphics upto 256 Colors.
They are always written as : Motorola (MM), None, 8, 1, ONEPLANE
Correctness of the written files has been tested so far.
(Used an other program to convert the written file into IFF-ILBM
and then compared the results : Just OK !)
Remarks
~~~~~~~
This SVObject was quite a hard piece of work and is still perhaps not
fully free of bugs yet.
A Word About ...
----------------
... pictures with more than one Strip of Data :
They should be read correctly now, but I can only hope that the
pictures have the same opinion ... ;-(
... LZW compressed pictures :
You may feel lucky, if decoding really works.
If it does not, let me tell you, that I only had two pictures for
testing the routines : The first one produced a strange looking
picture, but decompression returned no error (8 strips in the
picture). The second made the decompression routines complaining
about codesizes (maximum codesize is 12 Bit, but there was a bigger
one).
I didn't found any other programs (even for MS-DOS), which were able
to display the content of my test-pictures ...
Supported
---------
The following should work almost always :
- reading of Intel- (II) and Motorola- (MM) Files
- reading of 256 Color (8 Bit) Files,
either packed with : - None
- Mac PackBits
- reading of uncompressed 24 Bit files (RGB 3x8 Bits)
Not supported
-------------
Files with unknown compression types (e.g. CCITT Fax) are as well rejected
as files with unsupported Compression/PixelBits/Plane combinations, like
e.g. None/4/2.
Requests and Suggestions
------------------------
If you have some FREELY DISTRIBUTABLE TIFF-Files, which do not work
with this program, you may send them to me, so that I can try
- at least _try_ - to improve this program to also allow reading of these.
Debugging
---------
Nevertheless usually information on a specific picture can be requested,
although the picture itself cannot be displayed.
Not all applications may support this (e.g. SuperView does not), because
the error return value may prevent them against doing this.
Author
~~~~~~
Andreas R. Kleinert
Grube Hohe Grethe 23
D-57074 Siegen
Germany
History
~~~~~~~
V2.7 (05.06.1994) :
- fixed a bug-fix of a bug-fix bug-fix (or such a thing :-(
ColorMaps of "II"-type files would always have been black, while
ColorMaps of "MM"-type files would have been correct.
Now they are both OK (forgot conversion of II-Words).
- SVObject flags now reflect, that GfxBuffer can be written
V2.6 (03.06.1994) :
- MAJOR REVISION
- now reads the same files as before and many, many more ... :-)
- reading of "MM" files did not work correctly, because I only checked
this with self-written files (and those had been written wrong :-(.
So the complete UBYTE-, UWORD- and ULONG reading stuff for TIFF's
variable length parameters has been written new.
- writing of files did not work correct because "MM" UWORDs and UBYTEs
were not shifted into the upper word before writing.
Also fixed some minor problems.
- files without ColorMap have been reported to be "24 Bit Files". Fixed.
- reduced (temporary) memory usage for compressed pictures, where
the size of the compressed data often is nothing against the maximum
possible size (depending on width, height and depth).
Now we compare our calced value against the size of the whole file,
which actually should be the limit ...
- added decompression routines for : LZW (Code 5) and CCITT3 (Code 2).
Although these have been derived from the original Aldus Code as
distributed via the Nets, they may not work correctly at all, since
I had to do many changes to get it working on the Amiga ...
(Ever ported some code from MS-DOS ? Oh, oh ...)
Remark : CCITT disabled in this version !
- added support for pictures with "more than one strip of data"
(may not work with all types of compressed data : CCITT3 decompression
routines will e.g. reject data which consists of more than one strip)
- now we assume, that files with a "PhotometricInterpretation" of 2 (RGB)
have at least 3 "SamplesPerPixel", if nothing else is defined :
I have seen 24 Bit RGB files, which did not contain such information !!
V2.5 (27.05.1994) :
- now saving of GfxBuffers is possible : internal write routines have
been completely rewritten, so that supplied Screens are transferred
to GfxBuffers before saving. BitPlane AND OnePlane Buffers upto
8 Bit are supported : they are converted to each other by using the
appropriate functions of superviewsupport.library V3+.
V2.4 (07.05.1994) :
- 15.05.94 : modified Doc-File slightly
- use of SAS/C V6.51
- use of new "superviewsupport.library" V1
This saves some space again (here : ca. 1600 Bytes).
V2.3 (01.05.1994) :
- with 24 Bit pictures, PixelBits-Value in GfxBuffer was not set to
24 instead of 8 accidentally. Fixed.
- version still reflected 2.1 instead 2.2. Now we're at 2.3 :-)
- "black & white" graphics without "BitsPerSample" and "SamplesPerPixel"
Tags should now be read correctly instead of rejecting them
(default value is "1" for both)
- still working on LZW-decoding (and working, and working, and working,
and working, ... :-(
V2.2 (18.04.1994) :
- improved speed of MacPackBits decoding routines
- fixed bug, which occured, when any BitPlane-Formats (no ChunkyPixel)
had been read : Black Screen appeared. This is now fixed.
- created new hierarchy for decoding routines : they are now much more
flexible and error-resistant. Future expansions will be easier to make.
- temporary buffer for rawdata is now delocated immediately after use
- reduced memory usage for BitPlane Formats a lot
- added code for reading 24 Bit Data (unpacked 8 Bit RGB)
- reduced memory usage for unpacked 8 Bit-ChunkyPixel/RGB by just taking
the rawbuffer, which then hasn't to be given free anymore : no
copying is done any longer !
- improved internal "grey-scale-generation"-routine.
It produced sometimes wrong values for the last GreyScale-Color,
which should have been real "white".
The wrong values were like this :
- 4 GreyScales, 4. Color : 192/192/192
- 16 GreyScales, 16. Color : 240/240/240
- 255 GreyScales, 16. Color :