/src/leptonica/prog/fuzzing/blend_fuzzer.cc
Line | Count | Source |
1 | | #include "leptfuzz.h" |
2 | | |
3 | | extern "C" int |
4 | 1.45k | LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
5 | 1.45k | if(size<3) return 0; |
6 | | |
7 | 1.45k | leptSetStdNullHandler(); |
8 | | |
9 | 1.45k | PIX *pixs_payload = pixReadMemSpix(data, size); |
10 | 1.45k | if(pixs_payload == NULL) return 0; |
11 | | |
12 | 784 | PIX *pix1, *pix2, *return_pix, *pix_copy; |
13 | | |
14 | 8.62k | for(int i=0; i<10; i++) { |
15 | 7.84k | pix1 = pixRead("../test8.jpg"); |
16 | 7.84k | pix_copy = pixCopy(NULL, pixs_payload); |
17 | 7.84k | return_pix = pixBlend(pix_copy, pix1, i, i, i); |
18 | 7.84k | pixDestroy(&pix_copy); |
19 | 7.84k | pixDestroy(&pix1); |
20 | 7.84k | pixDestroy(&return_pix); |
21 | | |
22 | 7.84k | pix_copy = pixCopy(NULL, pixs_payload); |
23 | 7.84k | return_pix = pixBlend(pix_copy, pix_copy, i, i, i); |
24 | 7.84k | pixDestroy(&pix_copy); |
25 | 7.84k | pixDestroy(&return_pix); |
26 | 7.84k | } |
27 | | |
28 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
29 | 784 | return_pix = pixAddAlphaToBlend(pix_copy, 1.2, 1); |
30 | 784 | pixDestroy(&pix_copy); |
31 | 784 | pixDestroy(&return_pix); |
32 | | |
33 | 784 | pix1 = pixRead("../test8.jpg"); |
34 | 784 | BOX *box1 = boxCreate(150, 130, 1500, 355); |
35 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
36 | 784 | pixBlendBackgroundToColor(pix_copy, pix1, box1, 123, 1.0, 5, 12); |
37 | 784 | pixDestroy(&pix1); |
38 | 784 | boxDestroy(&box1); |
39 | 784 | pixDestroy(&pix_copy); |
40 | | |
41 | 784 | pix1 = pixRead("../test8.jpg"); |
42 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
43 | 784 | pixBlendCmap(pix_copy, pix1, 2, 3, 4); |
44 | 784 | pixDestroy(&pix1); |
45 | 784 | pixDestroy(&pix_copy); |
46 | | |
47 | 784 | pix1 = pixRead("../test8.jpg"); |
48 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
49 | 784 | pixBlendColorByChannel(pix_copy, pix_copy, pix1, 200, 200, 0.7, 0.8, 0.9, 1, 5); |
50 | 784 | pixDestroy(&pix1); |
51 | 784 | pixDestroy(&pix_copy); |
52 | | |
53 | 784 | pix1 = pixRead("../test8.jpg"); |
54 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
55 | 784 | pixBlendGrayAdapt(pix_copy, pix_copy, pix1, 2, 3, 0.8, 1); |
56 | 784 | pixDestroy(&pix1); |
57 | 784 | pixDestroy(&pix_copy); |
58 | | |
59 | 784 | pix1 = pixRead("../test8.jpg"); |
60 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
61 | 784 | pixBlendGrayInverse(pix_copy, pix_copy, pix1, 1, 2, 0.7); |
62 | 784 | pixDestroy(&pix1); |
63 | 784 | pixDestroy(&pix_copy); |
64 | | |
65 | 784 | pix1 = pixRead("../test8.jpg"); |
66 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
67 | 784 | pixBlendHardLight(pix_copy, pix_copy, pix1, 1, 2, 0.8); |
68 | 784 | pixDestroy(&pix1); |
69 | 784 | pixDestroy(&pix_copy); |
70 | | |
71 | 784 | pix1 = pixRead("../test8.jpg"); |
72 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
73 | 784 | return_pix = pixFadeWithGray(pix_copy, pix1, 1.0, L_BLEND_TO_WHITE); |
74 | 784 | pixDestroy(&pix1); |
75 | 784 | pixDestroy(&pix_copy); |
76 | 784 | pixDestroy(&return_pix); |
77 | | |
78 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
79 | 784 | pixLinearEdgeFade(pix_copy, L_FROM_LEFT, L_BLEND_TO_WHITE, 1.0, 0.8); |
80 | 784 | pixDestroy(&pix_copy); |
81 | | |
82 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
83 | 784 | pixMultiplyByColor(pix_copy, pix_copy, NULL, 2); |
84 | 784 | pixDestroy(&pix_copy); |
85 | | |
86 | 784 | pix_copy = pixCopy(NULL, pixs_payload); |
87 | 784 | return_pix = pixSetAlphaOverWhite(pix_copy); |
88 | 784 | pixDestroy(&pix_copy); |
89 | 784 | pixDestroy(&return_pix); |
90 | | |
91 | 784 | pixDestroy(&pixs_payload); |
92 | 784 | return 0; |
93 | 1.45k | } |