MCPcopy Create free account
hub / github.com/ValveSoftware/openvr / HuffmanTree_makeFromLengths

Function HuffmanTree_makeFromLengths

samples/shared/lodepng.cpp:648–658  ·  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

646return value is error.
647*/
648static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen,
649 size_t numcodes, unsigned maxbitlen)
650{
651 unsigned i;
652 tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned));
653 if(!tree->lengths) return 83; /*alloc fail*/
654 for(i = 0; i < numcodes; i++) tree->lengths[i] = bitlen[i];
655 tree->numcodes = (unsigned)numcodes; /*number of symbols*/
656 tree->maxbitlen = maxbitlen;
657 return HuffmanTree_makeFromLengths2(tree);
658}
659
660#ifdef LODEPNG_COMPILE_ENCODER
661

Callers 3

generateFixedLitLenTreeFunction · 0.85
getTreeInflateDynamicFunction · 0.85

Calls 2

lodepng_mallocFunction · 0.85

Tested by

no test coverage detected