Lines Matching refs:huff
155 struct huff { struct
165 static void len2huff(struct huff *huff, char bitlen[], int len) in len2huff() argument
171 memset(huff, 0, sizeof(struct huff)); in len2huff()
172 for (i = 0; i<len; i++) huff->length[bitlen[i]]++; in len2huff()
176 *huff->length = *offset = 0; in len2huff()
177 for (i = 1; i<16; i++) offset[i] = offset[i-1] + huff->length[i-1]; in len2huff()
178 for (i = 0; i<len; i++) if (bitlen[i]) huff->symbol[offset[bitlen[i]]++] = i; in len2huff()
185 static unsigned huff_and_puff(struct bitbuf *bb, struct huff *huff) in huff_and_puff() argument
187 unsigned short *length = huff->length; in huff_and_puff()
195 if ((length - huff->length) & 16) error_exit("bad symbol"); in huff_and_puff()
198 return huff->symbol[start + offset]; in huff_and_puff()
240 struct huff *disthuff, *lithuff; in inflate()
244 struct huff *h2 = ((struct huff *)libbuf)+1; in inflate()
280 len2huff(disthuff = ((struct huff *)libbuf)+2, bits+litlen, distlen); in inflate()
397 len2huff(dd->fixlithuff = ((struct huff *)libbuf)+3, libbuf, 288); in init_deflate()
399 len2huff(dd->fixdisthuff = ((struct huff *)libbuf)+4, libbuf, 30); in init_deflate()