MCPcopy Create free account
hub / github.com/DFHack/dfhack / HuffmanTree_makeFromLengths

Function HuffmanTree_makeFromLengths

depends/lodepng/lodepng.cpp:851–860  ·  view source on GitHub ↗

given the code lengths (as stored in the PNG file), generate the tree as defined by Deflate. maxbitlen is the maximum bits that a code in the tree can have. return value is error. */

Source from the content-addressed store, hash-verified

849return value is error.
850*/
851static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen,
852 size_t numcodes, unsigned maxbitlen) {
853 unsigned i;
854 tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned));
855 if(!tree->lengths) return 83; /*alloc fail*/
856 for(i = 0; i != numcodes; ++i) tree->lengths[i] = bitlen[i];
857 tree->numcodes = (unsigned)numcodes; /*number of symbols*/
858 tree->maxbitlen = maxbitlen;
859 return HuffmanTree_makeFromLengths2(tree);
860}
861
862#ifdef LODEPNG_COMPILE_ENCODER
863

Callers 3

generateFixedLitLenTreeFunction · 0.85
getTreeInflateDynamicFunction · 0.85

Calls 2

lodepng_mallocFunction · 0.85

Tested by

no test coverage detected