sam
03ca8dc76d
* convolution.c: automatically detect when a convolution filter is separable
and switch algorithms to speed up processing.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2660 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
c587c29021
* blur.c: fix the blur example’s argument checking.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2659 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
89f35cb8fd
* convolution.c: generic convolution method. Does not take advantage of
separable kernels yet.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2658 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
870828bc87
* edd.c: output MSD instead of RMSD in the displacement computation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2657 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
87f8e922ab
* Error diffusion methods now support either raster or serpentine scan.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2656 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
99d8af784e
* pixels.c: support more conversion combinations.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2655 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
302ce37f8e
* ostromoukhov.c: Ostromoukhov's simple error diffusion algorithm.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2654 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
2182fdfdbf
* floydsteinberg.c: perform Floyd-Steinberg dithering on a serpentine path.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2653 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
3e575ba28a
* dither.c: add an example program for dithering methods.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2652 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
628c2618da
* dbs.c: new dithering function: Direct Binary Search. One of the best
dithering methods as of today, though extremely slow.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2651 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
eaad4db6f9
* measure.c: there is now pipi_measure_msd in addition to pipi_measure_rmsd.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2650 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
18fd8276bd
* edd.c: output E_fast as well.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2647 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
5974ab95c5
* edd.c: example program that computes the Floyd-Steinberg displacement,
about twice as fast as the original code in research/2008-displacement.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2644 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
4a278923ff
* blur.c: adapt the kernel size to large values of dx and/or dy.
* blur.c: fix the dx/dy sign meaning.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2643 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
1408cff41d
* Add Floyd-Steinberg grayscale dithering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2637 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
36da8b05dd
* pixels.c: fix a typo in the dithering method that could cause crashes.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2636 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
9a536afd4f
* measure.c: started writing error/measure functions. First one is RMSD.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2635 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
a11f92ff95
* blur.c: support for greyscale images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2634 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
eea9f9b829
* pixels.c: start supporting grayscale images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2633 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
f687640a09
* codec.c: bump Imlib2 and OpenCV priorities over SDL.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2632 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
af15db52cb
* opencv.c: bring the OpenCV codec up to date.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2631 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
0d8f01566b
* pixels.c: add support for 24-bpp BGR format.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2630 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
8953c91d6b
* pipi.c: reimplement pipi_new() without relying on the underlying codec
library, so we can have several or none of them at some time.
* sdl.c imlib.c: allow to save images that weren't created using the
current codec.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2629 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
732f6b2335
* configure.ac: fix the OpenCV detection by using pkg-config.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2628 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
3d86c2f45a
* Start shipping unit tests. The first one checks that converting an
8-bit per channel picture to float32 then back again does not change
the image.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2621 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
caba836e5d
* pixels.c: clamp pixels in the float32 -> rgba32 conversion to avoid
artifacts.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2620 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
877e7b21a9
* filter/blur.c: avoid annoying side effects with very small or negative
blur radii.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2619 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
ea38654c88
* filter/blur.c: minor optimisation in the kernel generation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2618 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
4a857277a7
* blur.c: support for variable blur radius and Gaussian offset.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2617 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
e15f20a316
* pixels.c: add Floyd-Steinberg dithering to the float32 -> rgba32
conversion.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2616 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
0105b6f3b6
* pixels.c: speed up the RGBA32 -> float32 conversion, using a simple LUT.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2609 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
42af43ad99
* blur.c: separated blur; it's now incredibly faster.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2608 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
19874f4650
* Free surfaces allocated by pipi_getpixels() in pipi_free().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2607 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
af0c7f52fb
* blur.c: fix overflow errors.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2606 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
31328a14aa
* Big API reorganisation. Now libpipi can transparently convert between
colour spaces for a given image. For instance, if pipi_gaussian_blur is
applied to a 32-bpp image, it is automatically converted to gamma-corrected
32-bit floats beforehands, then converted back to normal.
* TODO: clipping, regions of interest, more formats, getpixel macros...
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2605 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
60dea0643d
* Add a blur example.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2604 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
7d147f3576
* Test implementation of Gaussian blurring. It's awfully slow and does not
use the separation property, but it's just for a test.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2603 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
1871465283
* pixels.c: do not return a white pixel when calling getpixel() outside
the image boundaries; instead, return the closest pixel in the image.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2602 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
5e97ce5d43
* Improve genethumb --help message.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2601 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
e088f09565
* Typo.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2600 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
8b8a3f6897
* bootstrap: update bootstrapping script.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2599 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
79b24b6fdf
* mygetopt.c: fix a parsing issue with short options.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2546 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
014b738eae
* Better error recovery in genethumb.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2264 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
1d6c2c507d
* Implemented 24 -> 16 bpp dithering.
* Added the --bpp flag to genethumb.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2263 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
735b2a5da0
* Checking in an old Rubik's cube dithering test.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2262 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
6a86e2b643
* Split the image loaders into sdl.c, imlib.c and opencv.c. We'll do
something far better, but later.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2261 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
d8aa3a24c3
* getpixel/setpixel functions use doubles instead of ints for now.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2260 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
8681ce32cb
* Define USE_SDL and USE_OPENCV in addition to USE_IMLIB2.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2259 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
d7c0fa358c
* Add getopt and getopt_long support to genethumb.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2258 92316355-f0b4-4df1-b90c-862c8a59935f
16 anni fa
sam
7a2b8fcc65
* Resizing in libpipi is now gamma-aware.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2247 92316355-f0b4-4df1-b90c-862c8a59935f
17 anni fa