| /* HuffEnc.h -- Huffman encoding | |
| 2009-02-07 : Igor Pavlov : Public domain */ | |
| #ifndef __HUFF_ENC_H | |
| #define __HUFF_ENC_H | |
| #include "Types.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| /* | |
| Conditions: | |
| num <= 1024 = 2 ^ NUM_BITS | |
| Sum(freqs) < 4M = 2 ^ (32 - NUM_BITS) | |
| maxLen <= 16 = kMaxLen | |
| Num_Items(p) >= HUFFMAN_TEMP_SIZE(num) | |
| */ | |
| void Huffman_Generate(const UInt32 *freqs, UInt32 *p, Byte *lens, UInt32 num, UInt32 maxLen); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |