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. */
| 629 | return value is error. |
| 630 | */ |
| 631 | static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen, |
| 632 | size_t numcodes, unsigned maxbitlen) |
| 633 | { |
| 634 | unsigned i; |
| 635 | tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned)); |
| 636 | if(!tree->lengths) return 83; /*alloc fail*/ |
| 637 | for(i = 0; i < numcodes; i++) tree->lengths[i] = bitlen[i]; |
| 638 | tree->numcodes = (unsigned)numcodes; /*number of symbols*/ |
| 639 | tree->maxbitlen = maxbitlen; |
| 640 | return HuffmanTree_makeFromLengths2(tree); |
| 641 | } |
| 642 | |
| 643 | #ifdef LODEPNG_COMPILE_ENCODER |
| 644 |
no test coverage detected