MCPcopy Create free account
hub / github.com/HiLab-git/SimpleCRF / HuffmanTree_makeFromLengths

Function HuffmanTree_makeFromLengths

dependency/densecrf/examples/lodepng.cpp:656–666  ·  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

654 return value is error.
655 */
656static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen,
657 size_t numcodes, unsigned maxbitlen)
658{
659 unsigned i;
660 tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned));
661 if(!tree->lengths) return 83; /*alloc fail*/
662 for(i = 0; i != numcodes; ++i) tree->lengths[i] = bitlen[i];
663 tree->numcodes = (unsigned)numcodes; /*number of symbols*/
664 tree->maxbitlen = maxbitlen;
665 return HuffmanTree_makeFromLengths2(tree);
666}
667
668#ifdef LODEPNG_COMPILE_ENCODER
669

Callers 3

generateFixedLitLenTreeFunction · 0.85
getTreeInflateDynamicFunction · 0.85

Calls 2

lodepng_mallocFunction · 0.85

Tested by

no test coverage detected