| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include "leptfuzz.h"
- extern "C" int
- LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
- {
- if(size<3) return 0;
- leptSetStdNullHandler();
- l_float32 fract;
- l_int32 psame, comptype;
- PIX *pixs1, *pixs2, *pixs3, *pixs4, *pixs5, *pixs6, *pixs7, *pixs8;
- PIX *pixd1, *pixd2;
- pixs1 = pixReadMemSpix(data, size);
- if(pixs1==NULL) return 0;
- pixs2 = pixCopy(NULL, pixs1);
- if(pixs2==NULL) {
- pixDestroy(&pixs1);
- return 0;
- }
- pixs3 = pixConvertTo8(pixs1, 0);
- pixs4 = pixConvertTo8(pixs2, 0);
- pixGetPerceptualDiff(pixs1, pixs2, 1, 3, 20, &fract, &pixs5, &pixs6);
- pixGetPerceptualDiff(pixs3, pixs4, 1, 3, 20, &fract, &pixs7, &pixs8);
- pixEqualWithAlpha(pixs1, pixs2, 1, &psame);
- pixEqualWithAlpha(pixs3, pixs4, 1, &psame);
- pixd1 = NULL;
- pixCompareBinary(pixs1, pixs2, L_COMPARE_XOR, &fract, &pixd1);
- pixDestroy(&pixd1);
- pixd2 = NULL;
- pixCompareBinary(pixs1, pixs2, L_COMPARE_SUBTRACT, &fract, &pixd2);
- pixDestroy(&pixd2);
- pixDestroy(&pixs1);
- pixDestroy(&pixs2);
- pixDestroy(&pixs3);
- pixDestroy(&pixs4);
- pixDestroy(&pixs5);
- pixDestroy(&pixs6);
- pixDestroy(&pixs7);
- pixDestroy(&pixs8);
- return 0;
- }
|