line |
true |
false |
branch |
2766
|
4 |
0 |
if (end - start < 1024) { |
2770
|
94 |
4 |
for (i = start; i < end; i++) { |
2772
|
7 |
87 |
if (v < best) { |
2791
|
0 |
0 |
if (end - start <= NUM) break; |
2793
|
0 |
0 |
for (i = 0; i < NUM; i++) { |
2799
|
0 |
0 |
for (i = 1; i < NUM; i++) { |
2800
|
0 |
0 |
if (vp[i] < best) { |
2805
|
0 |
0 |
if (best > lastbest) break; |
2807
|
0 |
0 |
start = besti == 0 ? start : p[besti - 1]; |
2808
|
0 |
0 |
end = besti == NUM - 1 ? end : p[besti + 1]; |
2853
|
1 |
0 |
ZOPFLI_APPEND_DATA(value, out, outsize); |
|
1 |
0 |
ZOPFLI_APPEND_DATA(value, out, outsize); |
2854
|
0 |
1 |
for (i = 0; i + 1 < *outsize; i++) { |
2855
|
0 |
0 |
if ((*out)[i] > value) { |
2857
|
0 |
0 |
for (j = *outsize - 1; j > i; j--) { |
2878
|
0 |
0 |
if (nlz77points > 0) { |
2879
|
0 |
0 |
for (i = 0; i < lz77->size; i++) { |
2880
|
0 |
0 |
size_t length = lz77->dists[i] == 0 ? 1 : lz77->litlens[i]; |
2881
|
0 |
0 |
if (lz77splitpoints[npoints] == i) { |
2882
|
0 |
0 |
ZOPFLI_APPEND_DATA(pos, &splitpoints, &npoints); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(pos, &splitpoints, &npoints); |
2883
|
0 |
0 |
if (npoints == nlz77points) break; |
2891
|
0 |
0 |
for (i = 0; i < npoints; i++) { |
2895
|
0 |
0 |
for (i = 0; i < npoints; i++) { |
2923
|
6 |
4 |
for (i = 0; i <= npoints; i++) { |
2924
|
2 |
4 |
size_t start = i == 0 ? 0 : splitpoints[i - 1]; |
2925
|
4 |
2 |
size_t end = i == npoints ? lz77size - 1 : splitpoints[i]; |
2926
|
3 |
3 |
if (!done[start] && end - start > longest) { |
|
3 |
0 |
if (!done[start] && end - start > longest) { |
2946
|
0 |
3 |
if (lz77->size < 10) return; /* This code fails on tiny files. */ |
2949
|
0 |
3 |
if (!done) exit(-1); /* Allocation failed. */ |
2950
|
64 |
3 |
for (i = 0; i < lz77->size; i++) done[i] = 0; |
2957
|
4 |
0 |
if (maxblocks > 0 && numblocks >= maxblocks) { |
|
0 |
4 |
if (maxblocks > 0 && numblocks >= maxblocks) { |
2972
|
1 |
3 |
if (splitcost > origcost || llpos == lstart + 1 || llpos == lend) { |
|
1 |
0 |
if (splitcost > origcost || llpos == lstart + 1 || llpos == lend) { |
|
0 |
1 |
if (splitcost > origcost || llpos == lstart + 1 || llpos == lend) { |
2979
|
2 |
2 |
if (!FindLargestSplittableBlock( |
2984
|
1 |
1 |
if (lend - lstart < 10) { |
2989
|
0 |
3 |
if (options->verbose) { |
3025
|
1 |
2 |
if (nlz77points > 0) { |
3026
|
10 |
0 |
for (i = 0; i < store.size; i++) { |
3027
|
1 |
9 |
size_t length = store.dists[i] == 0 ? 1 : store.litlens[i]; |
3028
|
1 |
9 |
if (lz77splitpoints[*npoints] == i) { |
3029
|
1 |
0 |
ZOPFLI_APPEND_DATA(pos, splitpoints, npoints); |
|
1 |
0 |
ZOPFLI_APPEND_DATA(pos, splitpoints, npoints); |
3030
|
1 |
0 |
if (*npoints == nlz77points) break; |
3048
|
0 |
0 |
while (i < inend) { |
3049
|
0 |
0 |
ZOPFLI_APPEND_DATA(i, splitpoints, npoints); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(i, splitpoints, npoints); |
3313
|
0 |
8 |
if(lmc->sublen == NULL) { |
3322
|
18360 |
8 |
for (i = 0; i < blocksize; i++) lmc->length[i] = 1; |
3323
|
18360 |
8 |
for (i = 0; i < blocksize; i++) lmc->dist[i] = 0; |
3324
|
440640 |
8 |
for (i = 0; i < ZOPFLI_CACHE_LENGTH * blocksize * 3; i++) lmc->sublen[i] = 0; |
3346
|
0 |
17468 |
if (length < 3) return; |
3347
|
4471808 |
17468 |
for (i = 3; i <= length; i++) { |
3348
|
4454340 |
17468 |
if (i == length || sublen[i] != sublen[i + 1]) { |
|
0 |
4454340 |
if (i == length || sublen[i] != sublen[i + 1]) { |
3354
|
0 |
17468 |
if (j >= ZOPFLI_CACHE_LENGTH) break; |
3357
|
17468 |
0 |
if (j < ZOPFLI_CACHE_LENGTH) { |
3376
|
0 |
122310 |
if (length < 3) return; |
3378
|
122310 |
0 |
for (j = 0; j < ZOPFLI_CACHE_LENGTH; j++) { |
3381
|
31678290 |
122310 |
for (i = prevlength; i <= length; i++) { |
3384
|
122310 |
0 |
if (length == maxlength) break; |
3400
|
0 |
244620 |
if (cache[1] == 0 && cache[2] == 0) return 0; /* No sublen cached. */ |
|
0 |
0 |
if (cache[1] == 0 && cache[2] == 0) return 0; /* No sublen cached. */ |
5985
|
16692 |
8487340 |
if (dist < 5) return 0; |
5986
|
128 |
8487212 |
else if (dist < 9) return 1; |
5987
|
8485804 |
1408 |
else if (dist < 17) return 2; |
5988
|
128 |
1280 |
else if (dist < 33) return 3; |
5989
|
128 |
1152 |
else if (dist < 65) return 4; |
5990
|
128 |
1024 |
else if (dist < 129) return 5; |
5991
|
128 |
896 |
else if (dist < 257) return 6; |
5992
|
128 |
768 |
else if (dist < 513) return 7; |
5993
|
128 |
640 |
else if (dist < 1025) return 8; |
5994
|
128 |
512 |
else if (dist < 2049) return 9; |
5995
|
128 |
384 |
else if (dist < 4097) return 10; |
5996
|
128 |
256 |
else if (dist < 8193) return 11; |
5997
|
128 |
128 |
else if (dist < 16385) return 12; |
6012
|
0 |
37 |
if (dist < 5) return 0; |
6013
|
0 |
37 |
else if (dist < 9) return (dist - 5) & 1; |
6014
|
37 |
0 |
else if (dist < 17) return (dist - 9) & 3; |
6015
|
0 |
0 |
else if (dist < 33) return (dist - 17) & 7; |
6016
|
0 |
0 |
else if (dist < 65) return (dist - 33) & 15; |
6017
|
0 |
0 |
else if (dist < 129) return (dist - 65) & 31; |
6018
|
0 |
0 |
else if (dist < 257) return (dist - 129) & 63; |
6019
|
0 |
0 |
else if (dist < 513) return (dist - 257) & 127; |
6020
|
0 |
0 |
else if (dist < 1025) return (dist - 513) & 255; |
6021
|
0 |
0 |
else if (dist < 2049) return (dist - 1025) & 511; |
6022
|
0 |
0 |
else if (dist < 4097) return (dist - 2049) & 1023; |
6023
|
0 |
0 |
else if (dist < 8193) return (dist - 4097) & 2047; |
6024
|
0 |
0 |
else if (dist < 16385) return (dist - 8193) & 4095; |
6040
|
7720171 |
900 |
if (dist < 193) { |
6041
|
7719691 |
480 |
if (dist < 13) { /* dist 0..13. */ |
6042
|
15648 |
7704043 |
if (dist < 5) return dist - 1; |
6043
|
60 |
7703983 |
else if (dist < 7) return 4; |
6044
|
60 |
7703923 |
else if (dist < 9) return 5; |
6047
|
60 |
420 |
if (dist < 17) return 7; |
6048
|
60 |
360 |
else if (dist < 25) return 8; |
6049
|
60 |
300 |
else if (dist < 33) return 9; |
6050
|
60 |
240 |
else if (dist < 49) return 10; |
6051
|
60 |
180 |
else if (dist < 65) return 11; |
6052
|
60 |
120 |
else if (dist < 97) return 12; |
6053
|
60 |
60 |
else if (dist < 129) return 13; |
6057
|
420 |
480 |
if (dist < 2049) { /* dist 193..2049. */ |
6058
|
60 |
360 |
if (dist < 257) return 15; |
6059
|
60 |
300 |
else if (dist < 385) return 16; |
6060
|
60 |
240 |
else if (dist < 513) return 17; |
6061
|
60 |
180 |
else if (dist < 769) return 18; |
6062
|
60 |
120 |
else if (dist < 1025) return 19; |
6063
|
60 |
60 |
else if (dist < 1537) return 20; |
6066
|
60 |
420 |
if (dist < 3073) return 22; |
6067
|
60 |
360 |
else if (dist < 4097) return 23; |
6068
|
60 |
300 |
else if (dist < 6145) return 24; |
6069
|
60 |
240 |
else if (dist < 8193) return 25; |
6070
|
60 |
180 |
else if (dist < 12289) return 26; |
6071
|
60 |
120 |
else if (dist < 16385) return 27; |
6072
|
60 |
60 |
else if (dist < 24577) return 28; |
6246
|
3 |
9 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
3 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
0 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
6255
|
179 |
99 |
for (i = 0; i < length; i++) { |
6257
|
18 |
161 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
1 |
17 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
1 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
6272
|
356 |
115 |
for (i = 0; i < length; i++) { |
6274
|
49 |
307 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
3 |
46 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
3 |
if (*bp == 0) ZOPFLI_APPEND_DATA(0, out, outsize); |
6295
|
15660 |
522 |
for (i = 0; i < 30 /* Ignore the two unused codes from the spec */; i++) { |
6296
|
434 |
15226 |
if (d_lengths[i]) num_dist_codes++; |
6297
|
0 |
15660 |
if (num_dist_codes >= 2) return; /* Two or more codes is fine. */ |
6300
|
88 |
434 |
if (num_dist_codes == 0) { |
6302
|
434 |
0 |
} else if (num_dist_codes == 1) { |
6303
|
0 |
434 |
d_lengths[d_lengths[0] ? 1 : 0] = 1; |
6337
|
79515 |
4185 |
for(i = 0; i < 19; i++) clcounts[i] = 0; |
6340
|
30841 |
704 |
while (hlit > 0 && ll_lengths[257 + hlit - 1] == 0) hlit--; |
|
27360 |
3481 |
while (hlit > 0 && ll_lengths[257 + hlit - 1] == 0) hlit--; |
6341
|
103960 |
0 |
while (hdist > 0 && d_lengths[1 + hdist - 1] == 0) hdist--; |
|
99775 |
4185 |
while (hdist > 0 && d_lengths[1 + hdist - 1] == 0) hdist--; |
6346
|
190493 |
4185 |
for (i = 0; i < lld_total; i++) { |
6348
|
178554 |
11939 |
unsigned char symbol = i < hlit2 ? ll_lengths[i] : d_lengths[i - hlit2]; |
6350
|
171513 |
18980 |
if(use_16 || (symbol == 0 && (use_17 || use_18))) { |
|
150748 |
20765 |
if(use_16 || (symbol == 0 && (use_17 || use_18))) { |
|
146374 |
4374 |
if(use_16 || (symbol == 0 && (use_17 || use_18))) { |
|
2185 |
144189 |
if(use_16 || (symbol == 0 && (use_17 || use_18))) { |
6351
|
1028279 |
2092 |
for (j = i + 1; j < lld_total && symbol == |
|
1004832 |
23447 |
for (j = i + 1; j < lld_total && symbol == |
6352
|
1008865 |
19414 |
(j < hlit2 ? ll_lengths[j] : d_lengths[j - hlit2]); j++) { |
6359
|
159488 |
31005 |
if (symbol == 0 && count >= 3) { |
|
13583 |
145905 |
if (symbol == 0 && count >= 3) { |
6360
|
7763 |
5820 |
if (use_18) { |
6361
|
5951 |
7763 |
while (count >= 11) { |
6363
|
3 |
5948 |
if (!size_only) { |
6364
|
2 |
1 |
ZOPFLI_APPEND_DATA(18, &rle, &rle_size); |
|
1 |
1 |
ZOPFLI_APPEND_DATA(18, &rle, &rle_size); |
6365
|
2 |
1 |
ZOPFLI_APPEND_DATA(count2 - 11, &rle_bits, &rle_bits_size); |
|
1 |
1 |
ZOPFLI_APPEND_DATA(count2 - 11, &rle_bits, &rle_bits_size); |
6371
|
7763 |
5820 |
if (use_17) { |
6372
|
31469 |
7763 |
while (count >= 3) { |
6374
|
1 |
31468 |
if (!size_only) { |
6375
|
1 |
0 |
ZOPFLI_APPEND_DATA(17, &rle, &rle_size); |
|
0 |
1 |
ZOPFLI_APPEND_DATA(17, &rle, &rle_size); |
6376
|
1 |
0 |
ZOPFLI_APPEND_DATA(count2 - 3, &rle_bits, &rle_bits_size); |
|
0 |
1 |
ZOPFLI_APPEND_DATA(count2 - 3, &rle_bits, &rle_bits_size); |
6385
|
18980 |
171513 |
if (use_16 && count >= 4) { |
|
3176 |
15804 |
if (use_16 && count >= 4) { |
6388
|
0 |
3176 |
if (!size_only) { |
6389
|
0 |
0 |
ZOPFLI_APPEND_DATA(symbol, &rle, &rle_size); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(symbol, &rle, &rle_size); |
6390
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, &rle_bits, &rle_bits_size); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, &rle_bits, &rle_bits_size); |
6392
|
25911 |
3176 |
while (count >= 3) { |
6394
|
0 |
25911 |
if (!size_only) { |
6395
|
0 |
0 |
ZOPFLI_APPEND_DATA(16, &rle, &rle_size); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(16, &rle, &rle_size); |
6396
|
0 |
0 |
ZOPFLI_APPEND_DATA(count2 - 3, &rle_bits, &rle_bits_size); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(count2 - 3, &rle_bits, &rle_bits_size); |
6405
|
185908 |
190493 |
while (count > 0) { |
6406
|
6 |
185902 |
if (!size_only) { |
6407
|
2 |
4 |
ZOPFLI_APPEND_DATA(symbol, &rle, &rle_size); |
|
0 |
2 |
ZOPFLI_APPEND_DATA(symbol, &rle, &rle_size); |
6408
|
2 |
4 |
ZOPFLI_APPEND_DATA(0, &rle_bits, &rle_bits_size); |
|
0 |
2 |
ZOPFLI_APPEND_DATA(0, &rle_bits, &rle_bits_size); |
6415
|
1 |
4184 |
if (!size_only) ZopfliLengthsToSymbols(clcl, 19, 7, clsymbols); |
6419
|
8370 |
0 |
while (hclen > 0 && clcounts[order[hclen + 4 - 1]] == 0) hclen--; |
|
4185 |
4185 |
while (hclen > 0 && clcounts[order[hclen + 4 - 1]] == 0) hclen--; |
6421
|
1 |
4184 |
if (!size_only) { |
6426
|
18 |
1 |
for (i = 0; i < hclen + 4; i++) { |
6430
|
10 |
1 |
for (i = 0; i < rle_size; i++) { |
6434
|
0 |
10 |
if (rle[i] == 16) AddBits(rle_bits[i], 2, bp, out, outsize); |
6435
|
1 |
9 |
else if (rle[i] == 17) AddBits(rle_bits[i], 3, bp, out, outsize); |
6436
|
3 |
6 |
else if (rle[i] == 18) AddBits(rle_bits[i], 7, bp, out, outsize); |
6442
|
79515 |
4185 |
for(i = 0; i < 19; i++) { |
6465
|
8 |
1 |
for(i = 0; i < 8; i++) { |
6469
|
7 |
1 |
if (bestsize == 0 || size < bestsize) { |
|
4 |
3 |
if (bestsize == 0 || size < bestsize) { |
6488
|
4176 |
522 |
for(i = 0; i < 8; i++) { |
6492
|
3654 |
522 |
if (result == 0 || size < result) result = size; |
|
2245 |
1409 |
if (result == 0 || size < result) result = size; |
6513
|
64 |
4 |
for (i = lstart; i < lend; i++) { |
6516
|
27 |
37 |
if (dist == 0) { |
6543
|
29808 |
207 |
for (i = 0; i < 144; i++) ll_lengths[i] = 8; |
6544
|
23184 |
207 |
for (i = 144; i < 256; i++) ll_lengths[i] = 9; |
6545
|
4968 |
207 |
for (i = 256; i < 280; i++) ll_lengths[i] = 7; |
6546
|
1656 |
207 |
for (i = 280; i < 288; i++) ll_lengths[i] = 8; |
6547
|
6624 |
207 |
for (i = 0; i < 32; i++) d_lengths[i] = 5; |
6560
|
12314 |
726 |
for (i = lstart; i < lend; i++) { |
6563
|
2727 |
9587 |
if (lz77->dists[i] == 0) { |
6589
|
522 |
0 |
if (lstart + ZOPFLI_NUM_LL * 3 > lend) { |
6593
|
0 |
0 |
for (i = 0; i < 256; i++) { |
6596
|
0 |
0 |
for (i = 257; i < 286; i++) { |
6600
|
0 |
0 |
for (i = 0; i < 30; i++) { |
6616
|
204 |
0 |
if (lstart + ZOPFLI_NUM_LL * 3 > lend) { |
6629
|
790 |
1915 |
if (x > y) |
6647
|
9587 |
0 |
for (; length >= 0; --length) { |
6648
|
44 |
9543 |
if (length == 0) { |
6651
|
478 |
9065 |
if (counts[length - 1] != 0) { |
6659
|
74455 |
478 |
for (i = 0; i < length; ++i) good_for_rle[i] = 0; |
6666
|
74933 |
478 |
for (i = 0; i < length + 1; ++i) { |
6667
|
74455 |
478 |
if (i == length || counts[i] != symbol) { |
|
2068 |
72387 |
if (i == length || counts[i] != symbol) { |
6668
|
1273 |
1273 |
if ((symbol == 0 && stride >= 5) || (symbol != 0 && stride >= 7)) { |
|
421 |
852 |
if ((symbol == 0 && stride >= 5) || (symbol != 0 && stride >= 7)) { |
|
1273 |
421 |
if ((symbol == 0 && stride >= 5) || (symbol != 0 && stride >= 7)) { |
|
0 |
1273 |
if ((symbol == 0 && stride >= 5) || (symbol != 0 && stride >= 7)) { |
6669
|
71750 |
852 |
for (k = 0; k < stride; ++k) { |
6674
|
2068 |
478 |
if (i != length) { |
6686
|
74933 |
478 |
for (i = 0; i < length + 1; ++i) { |
6687
|
74455 |
478 |
if (i == length || good_for_rle[i] |
|
2705 |
71750 |
if (i == length || good_for_rle[i] |
6689
|
348 |
2357 |
|| AbsDiff(counts[i], limit) >= 4) { |
6690
|
72441 |
135 |
if (stride >= 4 || (stride >= 3 && sum == 0)) { |
|
7 |
72434 |
if (stride >= 4 || (stride >= 3 && sum == 0)) { |
|
0 |
7 |
if (stride >= 4 || (stride >= 3 && sum == 0)) { |
6693
|
36 |
99 |
if (count < 1) count = 1; |
6694
|
0 |
135 |
if (sum == 0) { |
6698
|
2011 |
135 |
for (k = 0; k < stride; ++k) { |
6706
|
70916 |
1660 |
if (i < length - 3) { |
6711
|
1182 |
478 |
} else if (i < length) { |
6718
|
74455 |
478 |
if (i != length) { |
6760
|
95 |
166 |
if (treesize2 + datasize2 < treesize + datasize) { |
6797
|
200 |
464 |
if (btype == 0) { |
6800
|
200 |
0 |
size_t blocks = length / 65535 + (rem ? 1 : 0); |
6805
|
204 |
260 |
} if (btype == 1) { |
6822
|
196 |
0 |
uncompressedcost : ZopfliCalculateBlockSize(lz77, lstart, lend, 1); |
6824
|
0 |
0 |
return (uncompressedcost < fixedcost && uncompressedcost < dyncost) |
6826
|
0 |
196 |
: (fixedcost < dyncost ? fixedcost : dyncost); |
|
84 |
112 |
: (fixedcost < dyncost ? fixedcost : dyncost); |
6844
|
0 |
0 |
if (pos + blocksize > inend) blocksize = inend - pos; |
6849
|
0 |
0 |
AddBit(final && currentfinal, bp, out, outsize); |
|
0 |
0 |
AddBit(final && currentfinal, bp, out, outsize); |
6857
|
0 |
0 |
ZOPFLI_APPEND_DATA(blocksize % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(blocksize % 256, out, outsize); |
6858
|
0 |
0 |
ZOPFLI_APPEND_DATA((blocksize / 256) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((blocksize / 256) % 256, out, outsize); |
6859
|
0 |
0 |
ZOPFLI_APPEND_DATA(nlen % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(nlen % 256, out, outsize); |
6860
|
0 |
0 |
ZOPFLI_APPEND_DATA((nlen / 256) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((nlen / 256) % 256, out, outsize); |
6862
|
0 |
0 |
for (i = 0; i < blocksize; i++) { |
6863
|
0 |
0 |
ZOPFLI_APPEND_DATA(in[pos + i], out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(in[pos + i], out, outsize); |
6866
|
0 |
0 |
if (currentfinal) break; |
6902
|
0 |
4 |
if (btype == 0) { |
6904
|
0 |
0 |
size_t pos = lstart == lend ? 0 : lz77->pos[lstart]; |
6915
|
3 |
1 |
if (btype == 1) { |
6927
|
0 |
1 |
if (options->verbose) { |
6942
|
64 |
4 |
for (i = lstart; i < lend; i++) { |
6943
|
37 |
27 |
uncompressed_size += lz77->dists[i] == 0 ? 1 : lz77->litlens[i]; |
6946
|
0 |
4 |
if (options->verbose) { |
6966
|
0 |
4 |
int expensivefixed = (lz77->size < 1000) || fixedcost <= dyncost * 1.1; |
|
0 |
0 |
int expensivefixed = (lz77->size < 1000) || fixedcost <= dyncost * 1.1; |
6969
|
0 |
4 |
if (lstart == lend) { |
6977
|
4 |
0 |
if (expensivefixed) { |
6989
|
0 |
4 |
if (uncompressedcost < fixedcost && uncompressedcost < dyncost) { |
|
0 |
0 |
if (uncompressedcost < fixedcost && uncompressedcost < dyncost) { |
6992
|
3 |
1 |
} else if (fixedcost < dyncost) { |
6993
|
3 |
0 |
if (expensivefixed) { |
7032
|
0 |
3 |
if (btype == 0) { |
7035
|
0 |
3 |
} else if (btype == 1) { |
7051
|
3 |
0 |
if (options->blocksplitting) { |
7060
|
4 |
3 |
for (i = 0; i <= npoints; i++) { |
7061
|
1 |
3 |
size_t start = i == 0 ? instart : splitpoints_uncompressed[i - 1]; |
7062
|
1 |
3 |
size_t end = i == npoints ? inend : splitpoints_uncompressed[i]; |
7071
|
1 |
3 |
if (i < npoints) splitpoints[i] = lz77.size; |
7078
|
3 |
0 |
if (options->blocksplitting && npoints > 1) { |
|
0 |
3 |
if (options->blocksplitting && npoints > 1) { |
7086
|
0 |
0 |
for (i = 0; i <= npoints2; i++) { |
7087
|
0 |
0 |
size_t start = i == 0 ? 0 : splitpoints2[i - 1]; |
7088
|
0 |
0 |
size_t end = i == npoints2 ? lz77.size : splitpoints2[i]; |
7092
|
0 |
0 |
if (totalcost2 < totalcost) { |
7101
|
4 |
3 |
for (i = 0; i <= npoints; i++) { |
7102
|
1 |
3 |
size_t start = i == 0 ? 0 : splitpoints[i - 1]; |
7103
|
3 |
1 |
size_t end = i == npoints ? lz77.size : splitpoints[i]; |
7104
|
3 |
1 |
AddLZ77BlockAutoType(options, i == npoints && final, |
|
3 |
0 |
AddLZ77BlockAutoType(options, i == npoints && final, |
7124
|
3 |
0 |
int final2 = final && masterfinal; |
|
3 |
0 |
int final2 = final && masterfinal; |
7125
|
3 |
0 |
size_t size = masterfinal ? insize - i : ZOPFLI_MASTER_BLOCK_SIZE; |
7129
|
0 |
3 |
} while (i < insize); |
7131
|
0 |
3 |
if (options->verbose) { |
8404
|
9180 |
3 |
for (; size > 0; size--) { |
8417
|
3 |
0 |
ZOPFLI_APPEND_DATA(31, out, outsize); /* ID1 */ |
|
3 |
0 |
ZOPFLI_APPEND_DATA(31, out, outsize); /* ID1 */ |
8418
|
3 |
0 |
ZOPFLI_APPEND_DATA(139, out, outsize); /* ID2 */ |
|
0 |
3 |
ZOPFLI_APPEND_DATA(139, out, outsize); /* ID2 */ |
8419
|
3 |
0 |
ZOPFLI_APPEND_DATA(8, out, outsize); /* CM */ |
|
0 |
3 |
ZOPFLI_APPEND_DATA(8, out, outsize); /* CM */ |
8420
|
0 |
3 |
ZOPFLI_APPEND_DATA(0, out, outsize); /* FLG */ |
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, out, outsize); /* FLG */ |
8422
|
3 |
0 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
3 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
8423
|
0 |
3 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
8424
|
0 |
3 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
8425
|
0 |
3 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(0, out, outsize); |
8427
|
3 |
0 |
ZOPFLI_APPEND_DATA(2, out, outsize); /* XFL, 2 indicates best compression. */ |
|
0 |
3 |
ZOPFLI_APPEND_DATA(2, out, outsize); /* XFL, 2 indicates best compression. */ |
8428
|
0 |
3 |
ZOPFLI_APPEND_DATA(3, out, outsize); /* OS follows Unix conventions. */ |
|
0 |
0 |
ZOPFLI_APPEND_DATA(3, out, outsize); /* OS follows Unix conventions. */ |
8434
|
0 |
3 |
ZOPFLI_APPEND_DATA(crcvalue % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(crcvalue % 256, out, outsize); |
8435
|
0 |
3 |
ZOPFLI_APPEND_DATA((crcvalue >> 8) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((crcvalue >> 8) % 256, out, outsize); |
8436
|
0 |
3 |
ZOPFLI_APPEND_DATA((crcvalue >> 16) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((crcvalue >> 16) % 256, out, outsize); |
8437
|
0 |
3 |
ZOPFLI_APPEND_DATA((crcvalue >> 24) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((crcvalue >> 24) % 256, out, outsize); |
8440
|
0 |
3 |
ZOPFLI_APPEND_DATA(insize % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(insize % 256, out, outsize); |
8441
|
0 |
3 |
ZOPFLI_APPEND_DATA((insize >> 8) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((insize >> 8) % 256, out, outsize); |
8442
|
0 |
3 |
ZOPFLI_APPEND_DATA((insize >> 16) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((insize >> 16) % 256, out, outsize); |
8443
|
0 |
3 |
ZOPFLI_APPEND_DATA((insize >> 24) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((insize >> 24) % 256, out, outsize); |
8445
|
0 |
3 |
if (options->verbose) { |
8733
|
8847360 |
135 |
for (i = 0; i < 65536; i++) { |
8736
|
4423680 |
135 |
for (i = 0; i < window_size; i++) { |
8742
|
4423680 |
135 |
for (i = 0; i < window_size; i++) { |
8749
|
8847360 |
135 |
for (i = 0; i < 65536; i++) { |
8752
|
4423680 |
135 |
for (i = 0; i < window_size; i++) { |
8791
|
312147 |
270 |
UpdateHashValue(h, pos + ZOPFLI_MIN_MATCH <= end ? |
8794
|
310998 |
1419 |
if (h->head[h->val] != -1 && h->hashval[h->head[h->val]] == h->val) { |
|
310998 |
0 |
if (h->head[h->val] != -1 && h->hashval[h->head[h->val]] == h->val) { |
8802
|
0 |
312417 |
if (h->same[(pos - 1) & ZOPFLI_WINDOW_MASK] > 1) { |
8805
|
312282 |
135 |
while (pos + amount + 1 < end && |
|
0 |
312282 |
while (pos + amount + 1 < end && |
8806
|
0 |
0 |
array[pos] == array[pos + amount + 1] && amount < (unsigned short)(-1)) { |
8815
|
310998 |
1419 |
if (h->head2[h->val2] != -1 && h->hashval2[h->head2[h->val2]] == h->val2) { |
|
310998 |
0 |
if (h->head2[h->val2] != -1 && h->hashval2[h->head2[h->val2]] == h->val2) { |
8826
|
135 |
0 |
if (pos + 1 < end) UpdateHashValue(h, array[pos + 1]); |
8945
|
14148 |
78817 |
if (index == 0 && lastcount >= numsymbols) return; |
|
5539 |
8609 |
if (index == 0 && lastcount >= numsymbols) return; |
8955
|
8609 |
78817 |
if (index == 0) { |
8960
|
69496 |
9321 |
if (lastcount < numsymbols && sum > leaves[lastcount].weight) { |
|
43037 |
26459 |
if (lastcount < numsymbols && sum > leaves[lastcount].weight) { |
8979
|
2274 |
1849 |
if (lastcount < numsymbols && sum > leaves[lastcount].weight) { |
|
2274 |
0 |
if (lastcount < numsymbols && sum > leaves[lastcount].weight) { |
9002
|
16605 |
4123 |
for (i = 0; i < maxbits; i++) { |
9021
|
13428 |
4123 |
for (node = chain; node; node = node->tail) { |
9026
|
13428 |
4123 |
while (ptr >= end) { |
9027
|
21010 |
13428 |
for (; val > counts[ptr - 1]; val--) { |
9058
|
246555 |
5229 |
for (i = 0; i < n; i++) { |
9063
|
246555 |
5229 |
for (i = 0; i < n; i++) { |
9064
|
22612 |
223943 |
if (frequencies[i]) { |
9072
|
0 |
5229 |
if ((1 << maxbits) < numsymbols) { |
9076
|
88 |
5141 |
if (numsymbols == 0) { |
9080
|
434 |
4707 |
if (numsymbols == 1) { |
9085
|
584 |
4123 |
if (numsymbols == 2) { |
9094
|
21010 |
4123 |
for (i = 0; i < numsymbols; i++) { |
9095
|
0 |
21010 |
if (leaves[i].weight >= |
9103
|
21010 |
4123 |
for (i = 0; i < numsymbols; i++) { |
9107
|
4012 |
111 |
if (numsymbols - 1 < maxbits) { |
9121
|
21405 |
4123 |
for (i = 0; i < numBoundaryPMRuns - 1; i++) { |
10301
|
4 |
0 |
if (!dest->litlens || !dest->dists) exit(-1); |
|
0 |
4 |
if (!dest->litlens || !dest->dists) exit(-1); |
10302
|
0 |
4 |
if (!dest->pos) exit(-1); |
10303
|
4 |
0 |
if (!dest->ll_symbol || !dest->d_symbol) exit(-1); |
|
0 |
4 |
if (!dest->ll_symbol || !dest->d_symbol) exit(-1); |
10304
|
4 |
0 |
if (!dest->ll_counts || !dest->d_counts) exit(-1); |
|
0 |
4 |
if (!dest->ll_counts || !dest->d_counts) exit(-1); |
10307
|
64 |
4 |
for (i = 0; i < source->size; i++) { |
10314
|
1152 |
4 |
for (i = 0; i < llsize; i++) { |
10317
|
160 |
4 |
for (i = 0; i < dsize; i++) { |
10337
|
74 |
1142 |
if (origsize % ZOPFLI_NUM_LL == 0) { |
10339
|
21312 |
74 |
for (i = 0; i < ZOPFLI_NUM_LL; i++) { |
10340
|
740 |
20572 |
ZOPFLI_APPEND_DATA( |
|
74 |
666 |
ZOPFLI_APPEND_DATA( |
|
0 |
21312 |
ZOPFLI_APPEND_DATA( |
10345
|
93 |
1123 |
if (origsize % ZOPFLI_NUM_D == 0) { |
10347
|
2976 |
93 |
for (i = 0; i < ZOPFLI_NUM_D; i++) { |
10348
|
463 |
2513 |
ZOPFLI_APPEND_DATA( |
|
74 |
389 |
ZOPFLI_APPEND_DATA( |
|
608 |
2368 |
ZOPFLI_APPEND_DATA( |
10354
|
408 |
808 |
ZOPFLI_APPEND_DATA(length, &store->litlens, &store->size); |
|
74 |
334 |
ZOPFLI_APPEND_DATA(length, &store->litlens, &store->size); |
10356
|
408 |
808 |
ZOPFLI_APPEND_DATA(dist, &store->dists, &store->size); |
|
74 |
334 |
ZOPFLI_APPEND_DATA(dist, &store->dists, &store->size); |
10358
|
408 |
808 |
ZOPFLI_APPEND_DATA(pos, &store->pos, &store->size); |
|
74 |
334 |
ZOPFLI_APPEND_DATA(pos, &store->pos, &store->size); |
10361
|
513 |
703 |
if (dist == 0) { |
10363
|
285 |
228 |
ZOPFLI_APPEND_DATA(length, &store->ll_symbol, &store->size); |
|
57 |
228 |
ZOPFLI_APPEND_DATA(length, &store->ll_symbol, &store->size); |
10365
|
285 |
228 |
ZOPFLI_APPEND_DATA(0, &store->d_symbol, &store->size); |
|
57 |
228 |
ZOPFLI_APPEND_DATA(0, &store->d_symbol, &store->size); |
10369
|
123 |
580 |
ZOPFLI_APPEND_DATA(ZopfliGetLengthSymbol(length), |
|
17 |
106 |
ZOPFLI_APPEND_DATA(ZopfliGetLengthSymbol(length), |
10372
|
123 |
580 |
ZOPFLI_APPEND_DATA(ZopfliGetDistSymbol(dist), |
|
17 |
106 |
ZOPFLI_APPEND_DATA(ZopfliGetDistSymbol(dist), |
10382
|
64 |
4 |
for (i = 0; i < store->size; i++) { |
10391
|
0 |
204 |
if (lstart == lend) return 0; |
10392
|
174 |
30 |
return lz77->pos[l] + ((lz77->dists[l] == 0) ? |
10403
|
0 |
0 |
for (i = 0; i < ZOPFLI_NUM_LL; i++) { |
10406
|
0 |
0 |
for (i = lpos + 1; i < llpos + ZOPFLI_NUM_LL && i < lz77->size; i++) { |
|
0 |
0 |
for (i = lpos + 1; i < llpos + ZOPFLI_NUM_LL && i < lz77->size; i++) { |
10409
|
0 |
0 |
for (i = 0; i < ZOPFLI_NUM_D; i++) { |
10412
|
0 |
0 |
for (i = lpos + 1; i < dpos + ZOPFLI_NUM_D && i < lz77->size; i++) { |
|
0 |
0 |
for (i = lpos + 1; i < dpos + ZOPFLI_NUM_D && i < lz77->size; i++) { |
10413
|
0 |
0 |
if (lz77->dists[i] != 0) d_counts[lz77->d_symbol[i]]--; |
10421
|
261 |
0 |
if (lstart + ZOPFLI_NUM_LL * 3 > lend) { |
10424
|
4415 |
261 |
for (i = lstart; i < lend; i++) { |
10426
|
3380 |
1035 |
if (lz77->dists[i] != 0) d_counts[lz77->d_symbol[i]]++; |
10432
|
0 |
0 |
if (lstart > 0) { |
10437
|
0 |
0 |
for (i = 0; i < ZOPFLI_NUM_LL; i++) { |
10440
|
0 |
0 |
for (i = 0; i < ZOPFLI_NUM_D; i++) { |
10454
|
8 |
3 |
if (add_lmc) { |
10465
|
8 |
3 |
if (s->lmc) { |
10498
|
0 |
268 |
return distance > 1024 ? length - 1 : length; |
10508
|
164754 |
666 |
for (i = 0; i < length; i++) { |
10509
|
0 |
164754 |
if (data[pos - dist + i] != data[pos + i]) { |
10532
|
636840 |
24170 |
while (scan < safe_end && *((size_t*)scan) == *((size_t*)match)) { |
|
636840 |
0 |
while (scan < safe_end && *((size_t*)scan) == *((size_t*)match)) { |
10554
|
64986 |
24170 |
while (scan != end && *scan == *match) { |
|
64986 |
0 |
while (scan != end && *scan == *match) { |
10577
|
147539 |
67 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
|
147539 |
0 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
|
122868 |
24671 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
10579
|
122868 |
24738 |
unsigned char limit_ok_for_cache = cache_available && |
|
14 |
122854 |
unsigned char limit_ok_for_cache = cache_available && |
10580
|
14 |
0 |
(*limit == ZOPFLI_MAX_MATCH || s->lmc->length[lmcpos] <= *limit || |
|
0 |
14 |
(*limit == ZOPFLI_MAX_MATCH || s->lmc->length[lmcpos] <= *limit || |
10581
|
0 |
0 |
(sublen && ZopfliMaxCachedSublen(s->lmc, |
10584
|
147539 |
67 |
if (s->lmc && limit_ok_for_cache && cache_available) { |
|
122854 |
24685 |
if (s->lmc && limit_ok_for_cache && cache_available) { |
|
122854 |
0 |
if (s->lmc && limit_ok_for_cache && cache_available) { |
10588
|
0 |
122854 |
if (*length > *limit) *length = *limit; |
10589
|
122310 |
544 |
if (sublen) { |
10592
|
122310 |
0 |
if (*limit == ZOPFLI_MAX_MATCH && *length >= ZOPFLI_MIN_MATCH) { |
10622
|
24555 |
67 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
|
24555 |
0 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
|
14 |
24541 |
unsigned char cache_available = s->lmc && (s->lmc->length[lmcpos] == 0 || |
10625
|
24555 |
67 |
if (s->lmc && limit == ZOPFLI_MAX_MATCH && sublen && !cache_available) { |
|
17468 |
7087 |
if (s->lmc && limit == ZOPFLI_MAX_MATCH && sublen && !cache_available) { |
|
17468 |
0 |
if (s->lmc && limit == ZOPFLI_MAX_MATCH && sublen && !cache_available) { |
|
17468 |
0 |
if (s->lmc && limit == ZOPFLI_MAX_MATCH && sublen && !cache_available) { |
10627
|
17468 |
0 |
s->lmc->dist[lmcpos] = length < ZOPFLI_MIN_MATCH ? 0 : distance; |
10628
|
17468 |
0 |
s->lmc->length[lmcpos] = length < ZOPFLI_MIN_MATCH ? 0 : length; |
10658
|
122854 |
24752 |
if (TryGetFromLongestMatchCache(s, pos, &limit, sublen, distance, length)) { |
10668
|
130 |
24622 |
if (size - pos < ZOPFLI_MIN_MATCH) { |
10676
|
7063 |
17559 |
if (pos + limit > size) { |
10689
|
24170 |
452 |
dist = p < pp ? pp - p : ((ZOPFLI_WINDOW_SIZE - p) + pp); |
10692
|
24170 |
452 |
while (dist < ZOPFLI_WINDOW_SIZE) { |
10699
|
24170 |
0 |
if (dist > 0) { |
10706
|
24170 |
0 |
if (pos + bestlength >= size |
10707
|
24170 |
0 |
|| *(scan + bestlength) == *(match + bestlength)) { |
10711
|
0 |
24170 |
if (same0 > 2 && *scan == *match) { |
|
0 |
0 |
if (same0 > 2 && *scan == *match) { |
10714
|
0 |
0 |
if (same > limit) same = limit; |
10723
|
24170 |
0 |
if (currentlength > bestlength) { |
10724
|
24122 |
48 |
if (sublen) { |
10726
|
5129488 |
24122 |
for (j = bestlength + 1; j <= currentlength; j++) { |
10732
|
24170 |
0 |
if (currentlength >= limit) break; |
10739
|
0 |
0 |
if (hhead != h->head2 && bestlength >= h->same[hpos] && |
|
0 |
0 |
if (hhead != h->head2 && bestlength >= h->same[hpos] && |
|
0 |
0 |
if (hhead != h->head2 && bestlength >= h->same[hpos] && |
10751
|
0 |
0 |
if (p == pp) break; /* Uninited prev value. */ |
10753
|
0 |
0 |
dist += p < pp ? pp - p : ((ZOPFLI_WINDOW_SIZE - p) + pp); |
10757
|
0 |
0 |
if (chain_counter <= 0) break; |
10780
|
0 |
7 |
? instart - ZOPFLI_WINDOW_SIZE : 0; |
10791
|
0 |
7 |
if (instart == inend) return; |
10795
|
9 |
7 |
for (i = windowstart; i < instart; i++) { |
10799
|
134 |
7 |
for (i = instart; i < inend; i++) { |
10809
|
6 |
128 |
if (match_available) { |
10811
|
0 |
6 |
if (lengthscore > prevlengthscore + 1) { |
10813
|
0 |
0 |
if (lengthscore >= ZOPFLI_MIN_MATCH && leng < ZOPFLI_MAX_MATCH) { |
|
0 |
0 |
if (lengthscore >= ZOPFLI_MIN_MATCH && leng < ZOPFLI_MAX_MATCH) { |
10827
|
750 |
6 |
for (j = 2; j < leng; j++) { |
10835
|
74 |
54 |
else if (lengthscore >= ZOPFLI_MIN_MATCH && leng < ZOPFLI_MAX_MATCH) { |
|
6 |
68 |
else if (lengthscore >= ZOPFLI_MIN_MATCH && leng < ZOPFLI_MAX_MATCH) { |
10845
|
68 |
54 |
if (lengthscore >= ZOPFLI_MIN_MATCH) { |
10852
|
17476 |
122 |
for (j = 1; j < leng; j++) { |
13888
|
9216 |
32 |
for (i = 0; i < ZOPFLI_NUM_LL; i++) { |
13892
|
1024 |
32 |
for (i = 0; i < ZOPFLI_NUM_D; i++) { |
13917
|
11520 |
72 |
for (i = 0; i < n; i++) { |
13918
|
3860 |
7660 |
if ((Ran(state) >> 4) % 3 == 0) freqs[i] = freqs[Ran(state) % n]; |
13930
|
17280 |
60 |
for (i = 0; i < ZOPFLI_NUM_LL; i++) stats->litlens[i] = 0; |
13931
|
1920 |
60 |
for (i = 0; i < ZOPFLI_NUM_D; i++) stats->dists[i] = 0; |
13946
|
9180 |
794546 |
if (dist == 0) { |
13947
|
9180 |
0 |
if (litlen <= 143) return 8; |
13954
|
43002 |
751544 |
if (lsym <= 279) cost += 7; |
13967
|
137700 |
7709449 |
if (dist == 0) { |
13999
|
16384 |
64 |
for (i = 3; i < 259; i++) { |
14001
|
76 |
16308 |
if (c < mincost) { |
14008
|
1920 |
64 |
for (i = 0; i < 30; i++) { |
14010
|
78 |
1842 |
if (c < mincost) { |
14049
|
0 |
64 |
? instart - ZOPFLI_WINDOW_SIZE : 0; |
14054
|
0 |
64 |
if (instart == inend) return 0; |
14058
|
144 |
64 |
for (i = windowstart; i < instart; i++) { |
14062
|
146880 |
64 |
for (i = 1; i < blocksize + 1; i++) costs[i] = ZOPFLI_LARGE_FLOAT; |
14066
|
146880 |
64 |
for (i = instart; i < inend; i++) { |
14073
|
0 |
146880 |
if (h->same[i & ZOPFLI_WINDOW_MASK] > ZOPFLI_MAX_MATCH * 2 |
14074
|
0 |
0 |
&& i > instart + ZOPFLI_MAX_MATCH + 1 |
14075
|
0 |
0 |
&& i + ZOPFLI_MAX_MATCH * 2 + 1 < inend |
14076
|
0 |
0 |
&& h->same[(i - ZOPFLI_MAX_MATCH) & ZOPFLI_WINDOW_MASK] |
14082
|
0 |
0 |
for (k = 0; k < ZOPFLI_MAX_MATCH; k++) { |
14096
|
146880 |
0 |
if (i + 1 <= inend) { |
14099
|
1046 |
145834 |
if (newCost < costs[j + 1]) { |
14107
|
36397824 |
146880 |
for (k = 3; k <= kend; k++) { |
14112
|
27912197 |
8485627 |
if (costs[j + k] <= mincostaddcostj) continue; |
14116
|
190816 |
8294811 |
if (newCost < costs[j + k]) { |
14139
|
0 |
64 |
if (size == 0) return; |
14141
|
352 |
672 |
ZOPFLI_APPEND_DATA(length_array[index], path, pathsize); |
|
64 |
288 |
ZOPFLI_APPEND_DATA(length_array[index], path, pathsize); |
14146
|
64 |
960 |
if (index == 0) break; |
14150
|
496 |
64 |
for (index = 0; index < *pathsize / 2; index++) { |
14163
|
0 |
64 |
? instart - ZOPFLI_WINDOW_SIZE : 0; |
14167
|
0 |
64 |
if (instart == inend) return; |
14171
|
144 |
64 |
for (i = windowstart; i < instart; i++) { |
14176
|
1024 |
64 |
for (i = 0; i < pathsize; i++) { |
14185
|
592 |
432 |
if (length >= ZOPFLI_MIN_MATCH) { |
14202
|
145856 |
1024 |
for (j = 1; j < length; j++) { |
14219
|
1024 |
64 |
for (i = 0; i < store->size; i++) { |
14220
|
432 |
592 |
if (store->dists[i] == 0) { |
14288
|
0 |
4 |
if (!costs) exit(-1); /* Allocation failed. */ |
14289
|
0 |
4 |
if (!length_array) exit(-1); /* Allocation failed. */ |
14305
|
60 |
4 |
for (i = 0; i < numiterations; i++) { |
14312
|
60 |
0 |
if (s->options->verbose_more || (s->options->verbose && cost < bestcost)) { |
|
0 |
60 |
if (s->options->verbose_more || (s->options->verbose && cost < bestcost)) { |
|
0 |
0 |
if (s->options->verbose_more || (s->options->verbose && cost < bestcost)) { |
14315
|
4 |
56 |
if (cost < bestcost) { |
14324
|
32 |
28 |
if (lastrandomstep != -1) { |
14331
|
36 |
24 |
if (i > 5 && cost == lastcost) { |
|
36 |
0 |
if (i > 5 && cost == lastcost) { |
14362
|
0 |
4 |
if (!costs) exit(-1); /* Allocation failed. */ |
14363
|
0 |
4 |
if (!length_array) exit(-1); /* Allocation failed. */ |
14670
|
1299 |
9 |
for (i = 0; i < n; i++) { |
14676
|
136 |
9 |
for (bits = 0; bits <= maxbits; bits++) { |
14679
|
1299 |
9 |
for (i = 0; i < n; i++) { |
14686
|
127 |
9 |
for (bits = 1; bits <= maxbits; bits++) { |
14692
|
1299 |
9 |
for (i = 0; i < n; i++) { |
14694
|
970 |
329 |
if (len != 0) { |
14709
|
42240 |
264 |
for (i = 0; i < n; ++i) { |
14712
|
36 |
228 |
log2sum = (sum == 0 ? log(n) : log(sum)) * kInvLog2; |
14713
|
42240 |
264 |
for (i = 0; i < n; ++i) { |
14717
|
40893 |
1347 |
if (count[i] == 0) bitlengths[i] = log2sum; |
14724
|
0 |
42240 |
if (bitlengths[i] < 0 && bitlengths[i] > -1e-5) bitlengths[i] = 0; |
|
0 |
0 |
if (bitlengths[i] < 0 && bitlengths[i] > -1e-5) bitlengths[i] = 0; |
16248
|
0 |
0 |
while (size > 0) { |
16251
|
0 |
0 |
while (amount > 0) { |
16275
|
0 |
0 |
ZOPFLI_APPEND_DATA(cmfflg / 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(cmfflg / 256, out, outsize); |
16276
|
0 |
0 |
ZOPFLI_APPEND_DATA(cmfflg % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(cmfflg % 256, out, outsize); |
16281
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 24) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 24) % 256, out, outsize); |
16282
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 16) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 16) % 256, out, outsize); |
16283
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 8) % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA((checksum >> 8) % 256, out, outsize); |
16284
|
0 |
0 |
ZOPFLI_APPEND_DATA(checksum % 256, out, outsize); |
|
0 |
0 |
ZOPFLI_APPEND_DATA(checksum % 256, out, outsize); |
16286
|
0 |
0 |
if (options->verbose) { |
17521
|
0 |
0 |
if (!file) return 0; |
17525
|
0 |
0 |
if(*outsize > 2147483647) { |
17533
|
0 |
0 |
if (*outsize && (*out)) { |
|
0 |
0 |
if (*outsize && (*out)) { |
17535
|
0 |
0 |
if (testsize != *outsize) { |
17556
|
0 |
0 |
if (file == NULL) { |
17576
|
0 |
0 |
if (!LoadFile(infilename, &in, &insize)) { |
17583
|
0 |
0 |
if (outfilename) { |
17603
|
0 |
0 |
if (!result) exit(-1); /* Allocation failed. */ |
17622
|
0 |
0 |
for (i = 1; i < argc; i++) { |
17624
|
0 |
0 |
if (StringsEqual(arg, "-v")) options.verbose = 1; |
17625
|
0 |
0 |
else if (StringsEqual(arg, "-c")) output_to_stdout = 1; |
17626
|
0 |
0 |
else if (StringsEqual(arg, "--deflate")) { |
17629
|
0 |
0 |
else if (StringsEqual(arg, "--zlib")) output_type = ZOPFLI_FORMAT_ZLIB; |
17630
|
0 |
0 |
else if (StringsEqual(arg, "--gzip")) output_type = ZOPFLI_FORMAT_GZIP; |
17631
|
0 |
0 |
else if (StringsEqual(arg, "--splitlast")) /* Ignore */; |
17632
|
0 |
0 |
else if (arg[0] == '-' && arg[1] == '-' && arg[2] == 'i' |
|
0 |
0 |
else if (arg[0] == '-' && arg[1] == '-' && arg[2] == 'i' |
|
0 |
0 |
else if (arg[0] == '-' && arg[1] == '-' && arg[2] == 'i' |
17633
|
0 |
0 |
&& arg[3] >= '0' && arg[3] <= '9') { |
|
0 |
0 |
&& arg[3] >= '0' && arg[3] <= '9') { |
17636
|
0 |
0 |
else if (StringsEqual(arg, "-h")) { |
17655
|
0 |
0 |
if (options.numiterations < 1) { |
17660
|
0 |
0 |
for (i = 1; i < argc; i++) { |
17661
|
0 |
0 |
if (argv[i][0] != '-') { |
17664
|
0 |
0 |
if (output_to_stdout) { |
17666
|
0 |
0 |
} else if (output_type == ZOPFLI_FORMAT_GZIP) { |
17668
|
0 |
0 |
} else if (output_type == ZOPFLI_FORMAT_ZLIB) { |
17674
|
0 |
0 |
if (options.verbose && outfilename) { |
|
0 |
0 |
if (options.verbose && outfilename) { |
17682
|
0 |
0 |
if (!filename) { |
18991
|
3 |
0 |
if (output_type == ZOPFLI_FORMAT_GZIP) { |
18993
|
0 |
0 |
} else if (output_type == ZOPFLI_FORMAT_ZLIB) { |
18995
|
0 |
0 |
} else if (output_type == ZOPFLI_FORMAT_DEFLATE) { |