Libpipi is a graphics and imaging library. It stands for "Pathetic Image Processing Interface".
Amongst the goals of libpipi are:
- implement state-of-the art image manipulation algorithms
- reimplement ImageMagick (and its derivatives) with speed and quality in mind
- serve as a fundation library for The Pimp, PWNtcha and other projects, maybe even libcaca?
Libpipi is still at the experimentation stage. There is still a long way until we even have a working prototype.
We are already significantly faster than ImageMagick for some very common tasks (Gaussian blur) and we implement better quality algorithms than ImageMagick and The Gimp (Direct Binary Search halftoning, motion blur).
The current source code can be downloaded from svn://svn.zoy.org/caca/libpipi/trunk/
- support for bigger-than-RAM images
- direct pixel access
- transparent colourspace conversions
- several quality/speed tradeoff combinations per algorithm
The software changes so much that there is no documentation yet.
A few examples of what is already possible with libpipi:
Various development and research notes:
- convolution filters and such
- gamut reduction with custom palettes
- image warping
- cool stuff that we want to implement
Development happens in a centralised Subversion repository:
There is also a Git repository that mirrors the central one:
- using the Git protocol: git://git.zoy.org/libpipi.git
- using HTTP: http://caca.zoy.org/git/libpipi.git
If you want to discuss libpipi or report bugs, you can write to me at firstname.lastname@example.org or join #libcaca on irc.freenode.net.