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. */
| 646 | return value is error. |
| 647 | */ |
| 648 | static 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 |
no test coverage detected