home *** CD-ROM | disk | FTP | other *** search
-
- GIF.svobject
-
- © 1993-94 by Andreas R. Kleinert.
-
- FREEWARE. All rights reserved.
-
- Version : 2.10
- Release Date : 05.06.1994
-
-
- Requirements
- ~~~~~~~~~~~~
- - OS V2.04+ (V37)+ and its libraries
- - superviewsupport.library V3+
-
-
- Description
- ~~~~~~~~~~~
- GIF.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 ChunkyPixel-Support.
-
- It supports reading and writing of GIF Files.
- In detail these are :
-
- Reading :
-
- - GIF 87a
- - GIF 89a
-
- Writing :
-
- - GIF 87a
- - GIF 89a
-
- Source Colors Version Type Destination Colors
-
- 2 .. 256 GIF 87/89a chunky pixel 2 .. 256
-
-
- A special 68030+ Version of GIF.svobject is called "GIF.svobject.030" and
- has to be copied/renamed to GIF.svobject before usage (it runs on the
- 68020 as well, but might be more suitable for the 68030 : Only the
- Compiler knows about it ... ;).
- GIF.svobject works fine with Instruction Cache (Burst) and Data Cache
- (Burst).
-
-
- Bugs and other Problems
- ~~~~~~~~~~~~~~~~~~~~~~~
- Fixed : The Decoding Routines are fully re-entrant since V2.2 !
-
- Please note, that the Encoding Routines of the Library are not (yet)
- fully re-entrant, so that only one Task may Encode a picture at a time.
- The Library itself manages it, that the other Task has to Delay() until
- the Encoding Routines are "free" again.
- This makes NOT REALLY A MATTER, because Encoding takes so much of the
- processor's time, that it is NOT EFFICIENT to ENCODE TWO OR MORE
- pictures AT THE SAME TIME ANYWAY !
-
- Nevertheless for example it is possible to decode a picture at the same
- time an other is been encoded, due to the fact, that the decoding
- routines do not share any data or variables with the encoding routines.
-
-
- Author
- ~~~~~~
- Andreas R. Kleinert
- Grube Hohe Grethe 23
- D-57074 Siegen
- Germany
-
-
- History :
- ~~~~~~~~~
- V2.10 (05.06.1994) :
-
- - SVObject flags now reflect, that GfxBuffers can be written
-
-
- V2.9 (03.06.1994) :
-
- - again did some optimization of LZW decoding routines :
- - replaced some weird loops with simple bit-shifting operations
- - forced longword-usage for 68030 version
- (there's still room for more optimization, but can you tell me,
- HOW this can be done without producing garbage ... ?!)
- - version still reflected 2.7 instead 2.8. Now we're at 2.9 :-)
-
-
- V2.8 (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.7 (07.05.1994) :
-
- - use of SAS/C V6.51
- - use of new "superviewsupport.library" V1
- This saves some space again (here : ca. 1600 Bytes).
-
-
- V2.6 (16.04.1994) :
-
- - now using "libcall" pragmas in 68030-Code, which should be faster
- - _strongly_ optimized LWZ decoding routines : these will hopefully
- be much faster on 68000 machines. On the 68030 it's hard to decide,
- whether there's an increase or not.
- - interlaced and simple raster decoding has been joined to one single
- routine, so that there are no longer any unnecessary redundancies
- - side effects of these changes :
- interlaced graphics should be read somewhat faster, because
- the "skipping code" for the passes has been changed to allow
- simple adaption of the raster file decoding routine
- - shortly : it's smaller (some routines), faster, better !
-
-
- V2.5 (27.03.1994) :
-
- - removed internal SVDriver-Replacement, so that we now are really
- dependent on external SVDrivers in libs:svdrivers.
- This saves about 1600 Bytes diskspace and reduces redundancy.
- - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one.
- This saves again about 1800 Bytes.
- - now using Utility-Library for integer operations (activated
- SAS/C's UTILLIB option) : this increases 68000-codesize a little
- bit more than 68030-codesize, but increases speed on 68020+ systems
- (should also decrease codesize, but does not ...)
-
-
- V2.4 (25.03.1994) :
-
- - slightly improved internal BitMap-to-BitMap routine
-
-
- V2.3 (17.03.1994) :
-
- - fixed "large memory usage" bug in internal ECS-ChunkyPixel routine
- - added several security checks (zero-pointers)
- - multiple enconding was not enabled (although possible, since the
- decoding routines are fully re-entrant since V2.2) due to an internal
- flag check : now they are.
- This will perhaps not be fast at all, but for 4-Color GIFs it should
- suffice ... ;)
- - improved (hopefully) LWZ-Decoding a little bit
- - improved handling of "worst case" : unexpected end of file situations
- (source buffer for GIF Encoding too small)
- Now will be handled faster.
- - changed 68020 version to 68030 version : both processors are binary
- compatible, but perhaps there are differences in execution time,
- which may be important for optimizations ...
-
-
- V2.2 (13.03.1994) :
-
- - decoding routines now are fully re-entrant (no more local static
- variables inside decoding routines)
- - AGAIN : fixed same bug as in V1.2 (GIF87a ColorDepth)
- (re-occured in V2.1)
- - this version has been released as bug-fix to V2.1
- (superview.library V3.1 release)
-
-
- V2.1 (09.03.1994) :
-
- - now with SVDriver-Support. Not yet necessarily needed.
- - added Write Support for GIF 87a and GIF 89a under usage of
- _strongly_ modified FBM routines (see copyright notices under
- credits)
- - improved internal "Chunky Pixel to BitMap" (8 Bit) Routine
- - optimized GIF decoding a little bit !?
- - fixed small bug in memory management routines
- - internal routines : AUTOSCROLL now really works with big-sized Screens
- - fixed several little bugs
-
-
- V1.4 (29.01.1994) :
-
- - fixed bug with reading of interlaced GIFs
- - fixed bug in former optimizations
- - small speed improvements
- - added special 68020+ version (GIF.svobject.020) to the distribution
- archive
-
-
- V1.3 (24.01.1994) :
-
- - fixed bug with setting ColorMap under V37/V38
-
-
- V1.2 (16.01.1994) :
-
- - fixed bug with GIF87a inconsistence with global and local colordepth
-
-
- V1.1 (02.01.1994) :
-
- - first version
-
-
- Literature
- ~~~~~~~~~~
- [1] "Supercharged Bitmapped Graphics", Steve Rimmer, Windcrest/McGraw-Hill,
- © 1992 by Windcrest Books (registered Trademark of TAB Books).
- ISBN 0-8306-3788-5
- [2] "DOS Extra", Issue 4/1993, DMV-Verlag
-
-
- Credits
- ~~~~~~~
- For the GIF LWZ Decoding Routines I used some code of the FBM Package.
- The code of the original routines has been _strongly_ modified and
- enhanced/improved.
- Here's the Copyright notice as found in the file "flgifr.c" :
-
-
- * flgifr.c: FBM Release 1.0 25-Feb-90 Michael Mauldin
- *
- * Modifications to GIFTORLE are Copyright (C) 1989,1990 by Michael
- * Mauldin. Permission is granted to use this file in whole or in
- * part for any purpose, educational, recreational or commercial,
- * provided that this copyright notice is retained unchanged.
- * This software is available to all free of charge by anonymous
- * FTP and in the UUNET archives.
- *
- * Derived from 'giftorle', written by David Koblas
- *
- * +------------------------------------------------------------------+
- * | Copyright 1989, David Koblas. |
- * | You may copy this file in whole or in part as long as you |
- * | don't try to make money off it, or pretend that you wrote it. |
- * +------------------------------------------------------------------+
-
-
- For the GIF LWZ Encoding Routines I used some code of the FBM Package.
- The code of the original routines has been _strongly_ modified and
- enhanced/improved.
- Here are the Copyright notice of these modules as found in the files
- "flgife.c" and "flgifc.c" (revision headers cut off / left out) :
-
- * flgife.c: FBM Release 1.0 25-Feb-90 Michael Mauldin
- *
- * Modifications to GIFENCODE are Copyright (C) 1989,1990 by
- * Michael Mauldin. Permission is granted to use this file in whole
- * or in part for any purpose, educational, recreational or commercial,
- * provided that this copyright notice is retained unchanged.
- * This software is available to all free of charge by anonymous
- * FTP and in the UUNET archives.
- *
-
-
- * flgifc.c: FBM Release 1.0 25-Feb-90 Michael Mauldin
- *
- * Modifications to GIFENCODE are Copyright (C) 1989,1990 by
- * Michael Mauldin. Permission is granted to use this file in whole
- * or in part for any purpose, educational, recreational or commercial,
- * provided that this copyright notice is retained unchanged.
- * This software is available to all free of charge by anonymous
- * FTP and in the UUNET archives.
- *
- * Based on: compress.c - File compression ala IEEE Computer, June 1984.
- *
- * Spencer W. Thomas (decvax!harpo!utah-cs!utah-gr!thomas)
- * Jim McKie (decvax!mcvax!jim)
- * Steve Davies (decvax!vax135!petsd!peora!srd)
- * Ken Turkowski (decvax!decwrl!turtlevax!ken)
- * James A. Woods (decvax!ihnp4!ames!jaw)
- * Joe Orost (decvax!vax135!petsd!joe)
- *
-
-
- Copyrights
- ~~~~~~~~~~
- Some of the mentioned names or products above may be copyrighted by
- companies or trademarks of companies.
-
-
-