home *** CD-ROM | disk | FTP | other *** search
- #ifndef PACKER_H
- #define PACKER_H
- /*----------------------------------------------------------------------*
- * PACKER.H typedefs for Data-Compresser. 1/22/86
- *
- * This module implements the run compression algorithm "cmpByteRun1"; the
- * same encoding generated by Mac's PackBits.
- *
- * By Jerry Morrison and Steve Shaw, Electronic Arts.
- * This software is in the public domain.
- *
- * This version for the Commodore-Amiga computer.
- *----------------------------------------------------------------------*/
-
- #include <exec/types.h>
-
- /* This macro computes the worst case packed size of a "row" of bytes. */
- #define MaxPackedSize(rowSize) ( (rowSize) + ( ((rowSize)+127) >> 7 ) )
-
-
- /* Given POINTERS to POINTER variables, packs one row, updating the source
- * and destination pointers. Returns the size in bytes of the packed row.
- * ASSUMES destination buffer is large enough for the packed row.
- * See MaxPackedSize. */
- extern LONG PackRow(BYTE **, BYTE **, LONG);
- /* pSource, pDest, rowSize */
-
- /* Given POINTERS to POINTER variables, unpacks one row, updating the source
- * and destination pointers until it produces dstBytes bytes (i.e., the
- * rowSize that went into PackRow).
- * If it would exceed the source's limit srcBytes or if a run would overrun
- * the destination buffer size dstBytes, it stops and returns TRUE.
- * Otherwise, it returns FALSE (no error). */
- extern BOOL UnPackRow(BYTE **, BYTE **, WORD, WORD);
- /* pSource, pDest, srcBytes, dstBytes */
-
-
- BYTE *PutDump(BYTE *, int);
- BYTE *PutRun(BYTE *,int,int);
- LONG PackRow(BYTE **,BYTE **,LONG);
- BOOL UnPackRow(BYTE **,BYTE **,WORD,WORD);
-
- #endif
-
-