]> 4ch.mooo.com Git - 16.git/blob - 16/ted5/JHUFF.H
ted5 added
[16.git] / 16 / ted5 / JHUFF.H
1 typedef struct
2 {
3   unsigned bit0,bit1;   // 0-255 is a character, > is a pointer to a node
4 } huffnode;
5
6 extern long counts[256];
7 extern huffnode nodearray[256];
8
9
10 void CountBytes (unsigned char huge *start, long length);
11 void Huffmanize (void);
12 void OptimizeNodes (huffnode *table);
13 long HuffCompress (unsigned char huge *source, long length,
14   unsigned char huge *dest);
15 void HuffExpand (unsigned char huge *source, unsigned char huge *dest,
16   long length,huffnode *hufftable);
17 void RLEWExpand (unsigned huge *source, unsigned huge *dest,long length,
18   unsigned rlewtag);
19 long RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,
20   unsigned rlewtag);
21 void RLEBExpand (unsigned char huge *source, unsigned char huge *dest,
22   long length, unsigned char rlebtag);
23 long RLEBCompress (unsigned char huge *source, long length,
24   unsigned char huge *dest, unsigned char rlebtag);
25 long CarmackCompress (unsigned far *source,long length,
26         unsigned far *dest);