./graphics/leptonica, Software for image processing and image analysis applications

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.79.0, Package name: leptonica-1.79.0, Maintainer: adam

This package contains well-tested C code for some basic image processing
operations, along with a description of the functions and some design methods.
A full set of affine transformations (translation, shear, rotation, scaling)
on images of all depths is included, with the exception that some of the
scaling methods do not work at all depths. There are also implementations of
binary morphology, grayscale morphology, convolution and rank order filters,
and applications such as jbig2 image processing and color quantization.

Required to run:
[graphics/tiff] [graphics/png] [graphics/openjpeg] [graphics/giflib] [graphics/libwebp]

Required to build:

Master sites:

SHA1: be08309753e949ae9321aeca802a2f6f72d5f2a3
RMD160: b5d535994fad46ddfd2b67c707b79f08070265d7
Filesize: 13123.7 KB

Version history: (Expand)

CVS history: (Expand)

   2020-01-02 13:55:07 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
leptonica: updated to 1.79.0

* Clean up auto-generation of files; removed 'register'
* Some fixes for issues identified by fuzzer
* New source files: checkerboard.c
* New programs: replacebytes.c, webpanimio_reg.c, partifytest.c,
  rectangle_reg.c, lowsat_reg.c, rotate_it.c, scale_it.c, dewarp_it.c,
  pdfio1_reg.c, pdfio2_reg.c, checkerboard_reg.c, underlinetest.c.
* Convert to standard reg test: heap_reg.c, pixa1_reg.c, smallpix_reg.c
* Improve data checking when reading image file headers
  (pnm, png, jpeg, tiff)
* Fix some bugs in pnm reading
* Fix inconsistencies with the encoding type flags in pdf writing
* Allow tiff to write images with colormaps
* Fix errors in PS code; made some functions static
* Add code for animated webp (requires webp mux and demux libraries)
* Add "partify" application for separating parts in a musical score
* Enable tif read/write of gray+alpha and rgba; filter out tiff
  pixels that are not uint and compression by tile
* Apply consistent formatting of static const variables
* Add programs for scaling, rotation and deskew, named dewkew_it,
  rotate_it and scale_it, for useful operations on arbitrary images.
* Convert pdfiotest program to two regression tests: pdfio1_reg
  and pdfio2_reg.
* Remove all use of strncat; use stringCat().
* New functions from removing outliers in sequences of boxes.
* Generalize pixAverageInRect(): mask, region and range filters,
  and subsampling.  New pixAverageInRectRGB().
* Fix int overflow bug in pixMedianCut(); required new heap accessor.
* New pixMultiplyGray() allows pix to be multiplied by an array (or
  another pix)
* Better routines for counting color.
* Lossless conversion for RGB to cmap with not more than 256 colors.
* New histo based global thresholding: pixThresholdByHisto().
* Allow most reg tests to run even if external libraries are not
* New one-line gplot functions that return a pix.
* New application to find where corners meet in a checkerboard.
* Add utility functions for painting through mask in cmap pix,
  creating a hit-miss sela from a color pix, equality of two pta.
* Proper handling of 1 bpp colormap tiffs: remove when reading,
  preserve when writing.
* Deprecate three pixSaveTile*() functions; removed all calls to
  these from the library and progs.
* Include auto_config.h explicitly in all src and prog files.
* Improve input data checking for bmp files.
   2019-03-22 09:23:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
leptonica: updated to 1.78.0

* Various improvements in handling boxa sequences and transforms.
* New regression tests: boxa4_reg, string_reg
* New function for copying a pix, filtered by a boxa.
* Modify histogram method for image comparison.
* More careful attention to invalid boxes in box geometry functions.
* Better string and array functions for search and replace.
* Convenience functions for generating simple masks.
* Allow pdf writing of jp2k images, in full generality.
* Allow writing compressed ps images for printing.
* Modified enum comments to include a suggested enum name.
* New program: imagetops
   2018-12-16 15:20:22 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
leptonica: updated to 1.77.0

Here is the current status of CVE issues with leptonica; see
  https://security-tracker.debian.org/tra … /leptonlib
* CVE-2018-7442: potential injection attack because '/' is allowed
  in gplot rootdir.
  Functions using this command have been disabled by default in the
  distribution, starting with 1.76.0.  As for the specific issue, it
  is impossible to specify a general path without using the standard
  directory subdivider '/'.
* CVE-2018-7186: number of characters not limited in fscanf or sscanf,
  allowing possible attack with buffer overflow.
  This has been fixed in 1.75.3.
* CVE-2018-3836: command injection vulnerability in gplotMakeOutput().
  This has been fixed in 1.75.3, using stringCheckForChars() to block
  rootnames containing any of: ;&|>"?*$()/<
* CVE-2017-18196: duplicated path components.
  This was fixed in 1.75.3.
* CVE-2018-7441: hardcoded /tmp pathnames.
  These are all wrapped in special debug functions that are not
  enabled by default in the distribution, starting with 1.76.0.
* CVE-2018-7247: input 'rootname' can overflow a buffer.
  This was fixed in 1.76.0, using snprintf().
* CVE-2018-7440: command injection in gplotMakeOutput using $(command).
  Fixed in 1.75.3, which blocks '$' as well as 11 other characters.
Wrapped the few 'system' calls in an extra layer of debug code.
More coverity scan fixes; defects are about 1 per 10,000 source lines.
New regression tests: numa1_reg, numa2_reg, lowaccess_reg,
New non-regression test programs: histoduptest
Juergen Buchmueller is working on Lua bindings.  He typedef'd l_ok
  and used it in 1100 functions that return a success/failure status.
  He also helped clean up remaining issues in the doxygen-generated
Using a packed struct for bmp headers to avoid crash on
  some big-endians.
Fixed a bug in the prototype parser for xtractprotos that was
  surfaced by a typedef declaration for the bmp headers.
Cleaned up IOS guards to avoid compiling a system(3) call on IOS.
Renamed autobuild --> autogen.sh
Added some basic pixa functions for rotation and translation.
Added an iterative method to find rectangular coverings for
  arbitrary connected components.
Converted two tests to reg tests running in alltests_reg:
  ptra1_reg, ptra2_reg
Enabled read/write for standard jpeg compressed tiff images.
Enabled reading for the old (deprecated) jpeg-encoded tiffs.
Fix range selectors for pixa, pixaa, boxa, boxaa, pta:
  Now, last = -1 goes to the end.
When reading tiff --> pix, insert IMAGEDESCRIPTION into text field.
Converted iotest to reg test iomisc_reg; added to alltests_reg
Converted rasterop_reg into a standard regression test; added
  to alltests_reg.
Converted boxa2_reg and fhmtauto_reg into standard regression tests;
  added to alltests_reg.
Split boxa sequence functions out of boxfunc4.c, into a new boxfunc5.c.
Simplified bmp header and made reading more clearly endian
  agnostic (Juergen Buchmueller)
New boxa3_reg regression test. This tests sequences of boxes
  by two new boxfunctions in boxfunc5.c.
New bootnumgen4.c for more digit templates.
Rename prog/recog_bootnum.c --> prog/recog_bootname1.c
New in prog: recog_bootnum2.c, recog_bootnum3.c, recogtest7.c
Fixed uninitialized data in pixCentroid() on 1 bpp pix.
New reg test: bytea_reg.c.  (removed byteatest.c)
Fixed bug in non-transcoding pdf generation from 1 bpp png.
Added LGTM to static analyzers that run over the library.
   2018-05-09 13:39:04 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
leptonica: updated to 1.76.0

Modify infrastructure to fix outstanding security issues. By default,
  you can no longer create temp directories and temp files whose
  names are known to the compiler.  Also, prevent "system" calls,
  which were used for image display and gnuplot.
Replaced remaining sprintf() with snprintf() in prog tests.
Added non-transcoding functions for generating pdf from jpeg pixacomp
Add control of jpeg quality from pixWriteMem() and pixWriteStream()
Fixed getFilenamesInDirectory() to properly identify directories
Prevent size overflow in calloc for kernel; cleaned it up fpix and dpix
bmp reading now accepts negative height
Simplified splitimage2pdf; it no longer uses ps2pdf
Remove name-mangling WRITE_AS_NAMED compile option.
Removed 2 deprecated write functions.
Added these regression tests:
   locminmax_reg, speckle_reg, watershed_reg,
   2018-02-20 10:37:56 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
leptonica: updated to 1.75.3

Fixed some coverity scan issues.
Autotools fix to check for png if enabling gnuplot
   2018-02-14 12:19:36 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
leptonica: updated to 1.75.2

Converted several progs to standard regression tests.
Added these tests to the alltests_reg suite:
 adaptnorm_reg, binmorph1_reg, binmorph3_reg, equal_reg,
 extrema_reg, grayfill_reg, falsecolor_reg, grayquant_reg.
Autotools fix for restricting giflib to 5.1+, and allowing openjpeg 2.3
   2018-02-05 11:53:36 by Jonathan Perkin | Files touched by this commit (2)
Log message:
leptonica: Avoid fstatat(2) until it can be properly tested for.
   2018-02-02 13:09:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
leptonica: updated to 1.75.1

* Simpler and more accurate function for finding word masks from
* text image; better debugging and more thorough testing.
* Added to regression test set: prog/italic_reg
* Fix for potential injection attack using gplot rootdir.
* Bug fix for bmp reading to set opacity.