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. */
| 849 | return value is error. |
| 850 | */ |
| 851 | static 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 |
no test coverage detected