/src/leptonica/prog/fuzzing/pix4_fuzzer.cc
Line | Count | Source |
1 | | #include "leptfuzz.h" |
2 | | |
3 | | extern "C" int |
4 | | LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) |
5 | 1.67k | { |
6 | 1.67k | leptSetStdNullHandler(); |
7 | | |
8 | 1.67k | PIX *pixs; |
9 | 1.67k | BOX *box; |
10 | | |
11 | 1.67k | pixs = pixReadMemSpix(data, size); |
12 | 1.67k | if(pixs==NULL) return 0; |
13 | | |
14 | 1.05k | PIX *pix1, *pix2, *pix3, *pix4, *pix5, *pix6; |
15 | 1.05k | NUMA *na1, *na2, *na3, *na4, *na5, *na6; |
16 | 1.05k | NUMAA *naa1; |
17 | | |
18 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
19 | 1.05k | box = boxCreate(120, 30, 200, 200); |
20 | 1.05k | na1 = pixGetGrayHistogramInRect(pix1, box, 1); |
21 | 1.05k | numaDestroy(&na1); |
22 | 1.05k | boxDestroy(&box); |
23 | 1.05k | pixDestroy(&pix1); |
24 | | |
25 | 1.05k | naa1 = pixGetGrayHistogramTiled(pixs, 1, 1, 1); |
26 | 1.05k | numaaDestroy(&naa1); |
27 | | |
28 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
29 | 1.05k | na1 = pixGetCmapHistogramMasked(pix1, NULL, 1, 1, 1); |
30 | 1.05k | numaDestroy(&na1); |
31 | 1.05k | pixDestroy(&pix1); |
32 | | |
33 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
34 | 1.05k | box = boxCreate(120, 30, 200, 200); |
35 | 1.05k | na1 = pixGetCmapHistogramInRect(pix1, box, 1); |
36 | 1.05k | numaDestroy(&na1); |
37 | 1.05k | boxDestroy(&box); |
38 | 1.05k | pixDestroy(&pix1); |
39 | | |
40 | 1.05k | l_int32 ncolors; |
41 | 1.05k | pixCountRGBColors(pixs, 1, &ncolors); |
42 | | |
43 | 1.05k | l_uint32 pval; |
44 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
45 | 1.05k | pixGetPixelAverage(pix1, NULL, 10, 10, 1, &pval); |
46 | 1.05k | pixDestroy(&pix1); |
47 | | |
48 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
49 | 1.05k | l_uint32 pval2; |
50 | 1.05k | pixGetPixelStats(pix1, 1, L_STANDARD_DEVIATION, &pval2); |
51 | 1.05k | pixDestroy(&pix1); |
52 | | |
53 | 1.05k | pix1 = pixConvertTo8(pixs, FALSE); |
54 | 1.05k | if(pix1!=NULL){ |
55 | 1.05k | pix2 = pixConvert8To32(pix1); |
56 | 1.05k | pixGetAverageTiledRGB(pix2, 2, 2, L_MEAN_ABSVAL, &pix3, &pix4, &pix5); |
57 | 1.05k | pixDestroy(&pix1); |
58 | 1.05k | pixDestroy(&pix2); |
59 | 1.05k | pixDestroy(&pix3); |
60 | 1.05k | pixDestroy(&pix4); |
61 | 1.05k | pixDestroy(&pix5); |
62 | 1.05k | } |
63 | | |
64 | 1.05k | pixRowStats(pixs, NULL, &na1, &na2, &na3, &na4, &na5, &na6); |
65 | 1.05k | numaDestroy(&na1); |
66 | 1.05k | numaDestroy(&na2); |
67 | 1.05k | numaDestroy(&na3); |
68 | 1.05k | numaDestroy(&na4); |
69 | 1.05k | numaDestroy(&na5); |
70 | 1.05k | numaDestroy(&na6); |
71 | | |
72 | 1.05k | pixColumnStats(pixs, NULL, &na1, &na2, &na3, &na4, &na5, &na6); |
73 | 1.05k | numaDestroy(&na1); |
74 | 1.05k | numaDestroy(&na2); |
75 | 1.05k | numaDestroy(&na3); |
76 | 1.05k | numaDestroy(&na4); |
77 | 1.05k | numaDestroy(&na5); |
78 | 1.05k | numaDestroy(&na6); |
79 | | |
80 | 1.05k | static const l_int32 nbins = 10; |
81 | 1.05k | l_int32 minval, maxval; |
82 | 1.05k | l_uint32 *gau32; |
83 | 1.05k | pix1 = pixScaleBySampling(pixs, 0.2, 0.2); |
84 | 1.05k | pixGetBinnedComponentRange(pix1, nbins, 2, L_SELECT_GREEN, |
85 | 1.05k | &minval, &maxval, &gau32, 0); |
86 | 1.05k | pixDestroy(&pix1); |
87 | 1.05k | lept_free(gau32); |
88 | | |
89 | 1.05k | PIX *pixd = pixSeedspread(pixs, 4); |
90 | 1.05k | PIX *pixc = pixConvertTo32(pixd); |
91 | 1.05k | PIX *pixr = pixRankBinByStrip(pixc, L_SCAN_HORIZONTAL, 1, |
92 | 1.05k | 10, L_SELECT_MAX); |
93 | 1.05k | pixDestroy(&pixd); |
94 | 1.05k | pixDestroy(&pixc); |
95 | 1.05k | pixDestroy(&pixr); |
96 | | |
97 | 1.05k | PIXA *pixa = pixaReadMem(data, size); |
98 | 1.05k | pix1 = pixaGetAlignedStats(pixa, L_MEAN_ABSVAL, 2, 2); |
99 | 1.05k | pixaDestroy(&pixa); |
100 | 1.05k | pixDestroy(&pix1); |
101 | | |
102 | 1.05k | l_int32 thresh, fgval, bgval; |
103 | 1.05k | pix1 = pixConvertTo8(pixs, 0); |
104 | 1.05k | pixSplitDistributionFgBg(pix1, 1.5, 1, &thresh, &fgval, &bgval, &pix2); |
105 | 1.05k | pixDestroy(&pix1); |
106 | 1.05k | pixDestroy(&pix2); |
107 | 1.05k | pixDestroy(&pixs); |
108 | 1.05k | return 0; |
109 | 1.67k | } |