enhance_fuzzer.cc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "leptfuzz.h"
  2. extern "C" int
  3. LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
  4. if (size<3) return 0;
  5. leptSetStdNullHandler();
  6. PIX *pixs_payload = pixReadMemSpix(data, size);
  7. if (pixs_payload == NULL) return 0;
  8. PIX *pix_pointer_payload, *return_pix, *pix2;
  9. L_KERNEL *kel;
  10. NUMA *na1, *na2, *na3;
  11. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  12. return_pix = pixContrastTRCMasked(NULL, pix_pointer_payload, NULL, 0.5);
  13. pixDestroy(&pix_pointer_payload);
  14. pixDestroy(&return_pix);
  15. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  16. return_pix = pixDarkenGray(NULL, pix_pointer_payload, 220, 10);
  17. pixDestroy(&pix_pointer_payload);
  18. pixDestroy(&return_pix);
  19. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  20. return_pix = pixEqualizeTRC(NULL, pix_pointer_payload, 0.5, 10);
  21. pixDestroy(&pix_pointer_payload);
  22. pixDestroy(&return_pix);
  23. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  24. return_pix = pixGammaTRCMasked(NULL, pix_pointer_payload, NULL,
  25. 1.0, 100, 175);
  26. pixDestroy(&pix_pointer_payload);
  27. pixDestroy(&return_pix);
  28. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  29. return_pix = pixGammaTRCWithAlpha(NULL, pix_pointer_payload,
  30. 0.5, 1.0, 100);
  31. pixDestroy(&pix_pointer_payload);
  32. pixDestroy(&return_pix);
  33. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  34. return_pix = pixHalfEdgeByBandpass(pix_pointer_payload, 2, 2, 4, 4);
  35. pixDestroy(&pix_pointer_payload);
  36. pixDestroy(&return_pix);
  37. l_float32 sat;
  38. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  39. pixMeasureSaturation(pix_pointer_payload, 1, &sat);
  40. pixDestroy(&pix_pointer_payload);
  41. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  42. return_pix = pixModifyBrightness(NULL, pix_pointer_payload, 0.5);
  43. pixDestroy(&pix_pointer_payload);
  44. pixDestroy(&return_pix);
  45. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  46. return_pix = pixModifyHue(NULL, pix_pointer_payload, 0.01 + 0.05 * 1);
  47. pixDestroy(&pix_pointer_payload);
  48. pixDestroy(&return_pix);
  49. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  50. return_pix = pixModifySaturation(NULL, pix_pointer_payload,
  51. -0.9 + 0.1 * 1);
  52. pixDestroy(&pix_pointer_payload);
  53. pixDestroy(&return_pix);
  54. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  55. return_pix = pixMosaicColorShiftRGB(pix_pointer_payload,
  56. -0.1, 0.0, 0.0, 0.0999, 1);
  57. pixDestroy(&pix_pointer_payload);
  58. pixDestroy(&return_pix);
  59. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  60. return_pix = pixMultConstantColor(pix_pointer_payload, 0.7, 0.4, 1.3);
  61. pixDestroy(&pix_pointer_payload);
  62. pixDestroy(&return_pix);
  63. kel = kernelCreate(3, 3);
  64. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  65. return_pix = pixMultMatrixColor( pix_pointer_payload, kel);
  66. pixDestroy(&pix_pointer_payload);
  67. pixDestroy(&return_pix);
  68. kernelDestroy(&kel);
  69. na1 = numaGammaTRC(1.0, 0, 255);
  70. na2 = numaGammaTRC(1.0, 0, 255);
  71. na3 = numaGammaTRC(1.0, 0, 255);
  72. pix_pointer_payload = pixCopy(NULL, pixs_payload);
  73. pix2 = pixMakeSymmetricMask(10, 10, 0.5, 0.5, L_USE_INNER);
  74. pixTRCMapGeneral(pix_pointer_payload, pix2, na1, na2, na3);
  75. numaDestroy(&na1);
  76. numaDestroy(&na2);
  77. numaDestroy(&na3);
  78. pixDestroy(&pix_pointer_payload);
  79. pixDestroy(&pix2);
  80. pixDestroy(&pixs_payload);
  81. return 0;
  82. }