FastHF – Amir Said’s Huffman coding library, example code, and documentation

This is a clone of Amir Said’s “FastHF” Huffman coding example. It’s a very educational, high quality library, which I studied before creating LZHAM.

It’s from his web page (which has been down for years now):

His Arithmetic coding example (FastAC) is here.

“FastHF: Static and Adaptive Huffman Coding

We decided to also make the source code of our C++ implementation of Huffman coding publicly available for education. Its design objectives and interface (and documentation) are very similar to FastAC. Thus, except for the lack of binary coders, porting from one to the other should be quite easy. In addition, they are completely independent, i.e., both can be used in the same compression program.”


From the code:

// The only purpose of this program is to demonstrate the basic principles   -
// of Huffman codes. It is provided as is, without any express or implied    -
// warranty, without even the warranty of fitness for any particular         -
// purpose, or that the implementations are correct.                         -
//                                                                           -
// Permission to copy and redistribute this code is hereby granted, provided -
// that this warning and copyright notices are not removed or altered.       -
//                                                                           -
// Copyright (c) 2005 by Amir Said ([email protected]) &                         -
//                       William A. Pearlman ([email protected])           


View Github