DESCRIPTION
-----------
This archive contains a simple and readable ANSI C implementation of
run length encoding and decoding (RLE).  This implementation is not intended
to be the best, fastest, smallest, or any other performance related adjective.

The version of encoding used by this library only provides a run length if
the last two symbols are matching.  This method avoids the need to include
run lengths for runs of only 1 symbol.  It also avoids the need for escape
characters.

More information on run length encoding may be found at:
http://www.datacompression.info/RLE.shtml

FILES
-----
COPYING         - Rules for copying and distributing LGPL software
getopt.c        - LGPL version of getopt source from GNU project
getopt.h        - LGPL version of getopt headers from GNU project
LICENSE         - GNU Lesser General Public License
Makefile        - makefile for this project (assumes gcc compiler and GNU make)
README          - this file
rle.c           - Library of run length encoding and decoding routines.
rle.h           - Header containing prototypes for library functions.
sample.c        - Demonstration of how to use run length encoding library
                  functions

BUILDING
--------
To build these files with GNU make and gcc, simply enter "make" from the
command line.  The executable will be named sample (or sample.exe).

USAGE
-----
Usage: sample <options>

options:
  -c : Encode input file to output file.
  -d : Decode input file to output file.
  -i <filename> : Name of input file.
  -o <filename> : Name of output file.
  -h|?  : Print out command line options.

-c      Compress the specified input file (see -i) then using run length
        encoding, writing the encoded results to the specified output file
        (see -o).

-d      Decompresses the specified input file (see -i) writing the results to
        the specified output file (see -o).  Only files compressed by this
        program may be decompressed.

-i <filename>   The name of the input file.  There is no valid usage of this
                program without a specified input file.

-o <filename>   The name of the output file.  If no file is specified, stdout
                will be used.  NOTE: Sending compressed output to stdout may
                produce undesirable results.

HISTORY
-------
04/30/04  - Initial Release

TODO
----
- Add an opition to very the size of the symbol being encoded.

AUTHOR
------
Michael Dipperstein (mdipper@cs.ucsb.edu)
