/src/leptonica/prog/fuzzing/graphics_fuzzer.cc
Line | Count | Source |
1 | | #include "leptfuzz.h" |
2 | | |
3 | | extern "C" int |
4 | 38.4k | LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
5 | 38.4k | if(size<3) return 0; |
6 | | |
7 | 38.3k | leptSetStdNullHandler(); |
8 | | |
9 | 38.3k | PIX *pixs_payload = pixReadMemSpix(data, size); |
10 | 38.3k | if(pixs_payload == NULL) return 0; |
11 | | |
12 | 20.8k | PTA *pta1 = ptaCreate(0); |
13 | 20.8k | PIX *pix_return1 = pixFillPolygon(pixs_payload, pta1, 2, 2); |
14 | 20.8k | ptaDestroy(&pta1); |
15 | 20.8k | pixDestroy(&pix_return1); |
16 | | |
17 | 20.8k | PTA *pta_return1 =pixGeneratePtaBoundary(pixs_payload, 1); |
18 | 20.8k | ptaDestroy(&pta_return1); |
19 | | |
20 | 20.8k | BOX *box1 = boxCreate(150, 130, 1500, 355); |
21 | 20.8k | pixRenderBox(pixs_payload, box1, 3, 200); |
22 | 20.8k | boxDestroy(&box1); |
23 | | |
24 | 20.8k | BOXA *boxa1; |
25 | 20.8k | boxa1 = boxaCreate(0); |
26 | 20.8k | pixRenderBoxa(pixs_payload, boxa1, 17, 200); |
27 | 20.8k | boxaDestroy(&boxa1); |
28 | | |
29 | 20.8k | boxa1 = boxaCreate(0); |
30 | 20.8k | pixRenderBoxaBlend(pixs_payload, boxa1, 17, 200, 1, 25, 0.4, 1); |
31 | 20.8k | boxaDestroy(&boxa1); |
32 | | |
33 | 20.8k | PIX *pix_return12 = pixRenderContours(pixs_payload, 2, 4, 1); |
34 | 20.8k | pixDestroy(&pix_return12); |
35 | | |
36 | 20.8k | pixRenderGridArb(pixs_payload, 1, 1, 1, 1, 1, 1); |
37 | | |
38 | 20.8k | BOX *box2 = boxCreate(150, 130, 1500, 355); |
39 | 20.8k | pixRenderHashBox(pixs_payload, box2, 2, 1, 1, 0, L_SET_PIXELS); |
40 | 20.8k | boxDestroy(&box2); |
41 | | |
42 | 20.8k | BOX *box3 = boxCreate(150, 130, 1500, 355); |
43 | 20.8k | pixRenderHashBoxBlend(pixs_payload, box3, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1, 1.0); |
44 | 20.8k | boxDestroy(&box3); |
45 | | |
46 | 20.8k | BOXA *boxa2; |
47 | 20.8k | boxa2 = boxaCreate(1); |
48 | 20.8k | pixRenderHashBoxa(pixs_payload, boxa2, 2, 1, L_HORIZONTAL_LINE, 0, L_SET_PIXELS); |
49 | 20.8k | boxaDestroy(&boxa2); |
50 | | |
51 | 20.8k | boxa1 = boxaCreate(1); |
52 | 20.8k | pixRenderHashBoxaArb(pixs_payload, boxa1, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1); |
53 | 20.8k | boxaDestroy(&boxa1); |
54 | | |
55 | 20.8k | PIX *pixs = pixRead("../test8.jpg"); |
56 | 20.8k | pixRenderHashMaskArb(pixs_payload, pixs, 2, 2, 2, 1, L_HORIZONTAL_LINE, 0, 1, 1, 1); |
57 | 20.8k | pixDestroy(&pixs); |
58 | | |
59 | 20.8k | pixRenderLineBlend(pixs_payload, 30, 60, 440, 70, 5, 115, 200, 120, 0.3); |
60 | | |
61 | 20.8k | PIX *pixs_payload2 = pixCopy(NULL, pixs_payload); |
62 | 20.8k | NUMA *na2 = numaGammaTRC(1.7, 150, 255); |
63 | 20.8k | pixRenderPlotFromNumaGen(&pixs_payload2, na2, L_HORIZONTAL_LINE, 3, 1, 80, 1, 1); |
64 | 20.8k | numaDestroy(&na2); |
65 | 20.8k | pixDestroy(&pixs_payload2); |
66 | | |
67 | 20.8k | PTA *pta2 = ptaCreate(0); |
68 | 20.8k | pixRenderPolylineArb(pixs_payload, pta2, 1, 1, 1, 1, 0); |
69 | 20.8k | ptaDestroy(&pta2); |
70 | | |
71 | 20.8k | PTA *pta3 = ptaCreate(0); |
72 | 20.8k | pixRenderPolylineBlend(pixs_payload, pta3, 17, 25, 200, 1, 0.5, 1, 1); |
73 | 20.8k | ptaDestroy(&pta3); |
74 | | |
75 | 20.8k | NUMA *na1 = numaGammaTRC(1.7, 150, 255); |
76 | 20.8k | pixRenderPlotFromNuma(&pixs_payload, na1, L_HORIZONTAL_LINE, 3, 1, 80); |
77 | 20.8k | numaDestroy(&na1); |
78 | | |
79 | 20.8k | pixDestroy(&pixs_payload); |
80 | 20.8k | return 0; |
81 | 38.3k | } |