line |
true |
false |
branch |
413
|
130130 |
455 |
for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0; |
414
|
13650 |
455 |
for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0; |
415
|
8645 |
455 |
for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0; |
458
|
55981 |
15564 |
while (j <= s->heap_len) { |
460
|
52248 |
3733 |
if (j < s->heap_len && |
|
46033 |
6215 |
if (j < s->heap_len && |
461
|
24287 |
21746 |
smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { |
|
20190 |
4097 |
smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { |
465
|
53694 |
2287 |
if (smaller(tree, v, s->heap[j], s->depth)) break; |
|
9217 |
44477 |
if (smaller(tree, v, s->heap[j], s->depth)) break; |
|
3816 |
5401 |
if (smaller(tree, v, s->heap[j], s->depth)) break; |
503
|
10272 |
642 |
for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0; |
510
|
18436 |
642 |
for (h = s->heap_max+1; h < HEAP_SIZE; h++) { |
513
|
0 |
18436 |
if (bits > max_length) bits = max_length, overflow++; |
517
|
8576 |
9860 |
if (n > max_code) continue; /* not a leaf node */ |
521
|
2747 |
7113 |
if (n >= base) xbits = extra[n-base]; |
524
|
8232 |
1628 |
if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits); |
526
|
642 |
0 |
if (overflow == 0) return; |
534
|
0 |
0 |
while (s->bl_count[bits] == 0) bits--; |
542
|
0 |
0 |
} while (overflow > 0); |
549
|
0 |
0 |
for (bits = max_length; bits != 0; bits--) { |
551
|
0 |
0 |
while (n != 0) { |
553
|
0 |
0 |
if (m > max_code) continue; |
554
|
0 |
0 |
if ((unsigned) tree[m].Len != (unsigned) bits) { |
585
|
9630 |
642 |
for (bits = 1; bits <= MAX_BITS; bits++) { |
596
|
62431 |
642 |
for (n = 0; n <= max_code; n++) { |
598
|
52571 |
9860 |
if (len == 0) continue; |
632
|
71690 |
642 |
for (n = 0; n < elems; n++) { |
633
|
9698 |
61992 |
if (tree[n].Freq != 0) { |
646
|
162 |
642 |
while (s->heap_len < 2) { |
647
|
115 |
47 |
node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); |
650
|
162 |
0 |
s->opt_len--; if (stree) s->static_len -= stree[node].Len; |
658
|
4816 |
642 |
for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); |
673
|
7540 |
1678 |
s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ? |
686
|
8576 |
642 |
} while (s->heap_len >= 2); |
716
|
67 |
361 |
if (nextlen == 0) max_count = 138, min_count = 3; |
719
|
58366 |
428 |
for (n = 0; n <= max_code; n++) { |
721
|
58291 |
75 |
if (++count < max_count && curlen == nextlen) { |
|
47075 |
11216 |
if (++count < max_count && curlen == nextlen) { |
723
|
8530 |
2761 |
} else if (count < min_count) { |
725
|
76 |
2685 |
} else if (curlen != 0) { |
726
|
76 |
0 |
if (curlen != prevlen) s->bl_tree[curlen].Freq++; |
728
|
1722 |
963 |
} else if (count <= 10) { |
734
|
4488 |
6803 |
if (nextlen == 0) { |
736
|
2 |
6801 |
} else if (curlen == nextlen) { |
762
|
18 |
106 |
if (nextlen == 0) max_count = 138, min_count = 3; |
764
|
17945 |
124 |
for (n = 0; n <= max_code; n++) { |
766
|
17938 |
7 |
if (++count < max_count && curlen == nextlen) { |
|
14158 |
3780 |
if (++count < max_count && curlen == nextlen) { |
768
|
3146 |
641 |
} else if (count < min_count) { |
769
|
642 |
3127 |
do { send_code(s, curlen, s->bl_tree); } while (--count != 0); |
|
623 |
3146 |
do { send_code(s, curlen, s->bl_tree); } while (--count != 0); |
771
|
49 |
592 |
} else if (curlen != 0) { |
772
|
49 |
0 |
if (curlen != prevlen) { |
773
|
11 |
38 |
send_code(s, curlen, s->bl_tree); count--; |
776
|
17 |
32 |
send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); |
|
5 |
44 |
send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); |
778
|
349 |
243 |
} else if (count <= 10) { |
779
|
59 |
290 |
send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); |
|
70 |
279 |
send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); |
782
|
84 |
159 |
send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); |
|
102 |
141 |
send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); |
785
|
1201 |
2586 |
if (nextlen == 0) { |
787
|
2 |
2584 |
} else if (curlen == nextlen) { |
818
|
566 |
0 |
for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { |
819
|
214 |
352 |
if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; |
844
|
0 |
62 |
send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */ |
845
|
0 |
62 |
send_bits(s, dcodes-1, 5); |
846
|
62 |
0 |
send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */ |
847
|
996 |
62 |
for (rank = 0; rank < blcodes; rank++) { |
849
|
181 |
815 |
send_bits(s, s->bl_tree[bl_order[rank]].Len, 3); |
869
|
0 |
0 |
send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */ |
899
|
0 |
0 |
send_bits(s, STATIC_TREES<<1, 3); |
900
|
0 |
0 |
send_code(s, END_BLOCK, static_ltree); |
921
|
214 |
0 |
if (s->level > 0) { |
924
|
214 |
0 |
if (s->strm->data_type == Z_UNKNOWN) |
952
|
152 |
62 |
if (static_lenb <= opt_lenb) opt_lenb = static_lenb; |
962
|
0 |
214 |
if (stored_len+4 <= opt_lenb && buf != (char*)0) { |
|
0 |
0 |
if (stored_len+4 <= opt_lenb && buf != (char*)0) { |
976
|
214 |
0 |
} else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { |
|
152 |
62 |
} else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { |
978
|
0 |
152 |
send_bits(s, (STATIC_TREES<<1)+last, 3); |
985
|
0 |
62 |
send_bits(s, (DYN_TREES<<1)+last, 3); |
1000
|
214 |
0 |
if (last) { |
1021
|
0 |
0 |
if (dist == 0) { |
1033
|
0 |
0 |
s->dyn_dtree[d_code(dist)].Freq++; |
1075
|
212 |
2 |
if (s->last_lit != 0) do { |
1078
|
16175 |
624 |
if (dist == 0) { |
1079
|
6290 |
9885 |
send_code(s, lc, ltree); /* send a literal byte */ |
1084
|
284 |
340 |
send_code(s, code+LITERALS+1, ltree); /* send the length code */ |
1086
|
115 |
509 |
if (extra != 0) { |
1088
|
18 |
97 |
send_bits(s, lc, extra); /* send the extra length bits */ |
1091
|
622 |
2 |
code = d_code(dist); |
1094
|
114 |
510 |
send_code(s, code, dtree); /* send the distance code */ |
1096
|
498 |
126 |
if (extra != 0) { |
1098
|
112 |
386 |
send_bits(s, dist, extra); /* send the extra distance bits */ |
1106
|
16587 |
212 |
} while (lx < s->last_lit); |
1108
|
103 |
111 |
send_code(s, END_BLOCK, ltree); |
1135
|
1398 |
38 |
for (n = 0; n <= 31; n++, black_mask >>= 1) |
1136
|
1056 |
342 |
if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0)) |
|
176 |
880 |
if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0)) |
1140
|
38 |
0 |
if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0 |
|
23 |
15 |
if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0 |
1141
|
0 |
23 |
|| s->dyn_ltree[13].Freq != 0) |
1143
|
535 |
2 |
for (n = 32; n < LITERALS; n++) |
1144
|
21 |
514 |
if (s->dyn_ltree[n].Freq != 0) |
1166
|
39489 |
9860 |
} while (--len > 0); |
1176
|
0 |
645 |
if (s->bi_valid == 16) { |
1180
|
0 |
645 |
} else if (s->bi_valid >= 8) { |
1193
|
100 |
114 |
if (s->bi_valid > 8) { |
1195
|
114 |
0 |
} else if (s->bi_valid > 0) { |