jylam
0a06b0af5f
* Moved *line_template.c to .h files to avoid problems with autotools (sam)
* Added antialiasing support to polylines
* Ho, and previous commit (r2777) contains width/height/pitch accessors to pipi_image_t, too. LOL.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2778 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
jylam
b67fde0e94
* Added Wu-Xaolin antialiased lines (Still lacks RGBA32 transparency code, with a fallback to float for now)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2777 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
jylam
971efb124e
* Added simple Bresenham line drawing routines (RGBA_32, RGBA_F, Y_F)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2776 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
541e0213f7
* Goddammit, this time I'm fixing the f32 to u8 RGB conversion for real.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2775 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
074e339ae3
* pixels.c: fix a bug in the f32 to u8 RGB conversion.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2774 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
f3a19b6ce5
* pixels.c: allow to call pipi_getpixels with PIPI_PIXELS_MASK_C.
* pixels.c: simplify Floyd-Steinberg coefficients.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2773 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
23bd005f9c
* pipi.h: add the PIPI_PIXELS_MASK_C pixel format for canvas boundaries.
* pipi.h: rename RGBA32 and BGR24 into RGBA_C and BGR_C.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2772 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
24a1e37fc2
* pipi_internals.h: add two vector values for wrap around information.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2769 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
7263c34dad
* pixels.c: temporarily set internal gamma to 1.0 so that I can compare
results with tools that ignore the sRGB gamma.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2768 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
ac072123b4
* screen.c: add pipi_render_halftone() to create a 45-degree clustered dot
halftoning pattern.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2767 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
5ce1d403f6
* Allow bayer:256 constructs, which do the same as bayer:256x256.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2766 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
6e0afb6f37
* Put the random and Bayer stock image generation into pipi/render/*.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2765 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
645169e3b1
* Add the "halftone" dithering method, which uses classical halftone (aka.
clustered ordered dither). Halftoning levels aren't terribly well
supported yet, though.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2761 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
d12256b0f8
* stock.c: add new error diffusion kernels: Fan, Shiau-Fan, Stucki, Burkes,
Sierra, two-row Sierra, Filter Lite.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2760 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
44c9b8e15d
* Get rid of the specific error diffusion functions, since our stock kernels
work perfectly well.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2759 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
90c7527281
* Add pipi_dither_ediff(), a generic error diffusion dithering algorithm
that uses an image as the error diffusion kernel.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2758 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
6a9475464c
* Do not prefix stock image names with "pipi:", it's redundant.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2757 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
3784480d3b
* Add a new image flag, u8, which indicates whether the image samples come
from an 8-bpp source.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2756 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
15bd183743
* Rename --rgb into --combine and add --split. Basic per-channel operations
are now possible:
pipi src.png --split --contrast -.2 --combine -o dest.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2755 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
6433a59c97
* rgb.c: implement pipi_red(), pipi_green() and pipi_blue() to extract
separate channels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2754 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
e38943a327
* rgb.c: implement pipi_rgb(), to combine three RGB channels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2753 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
10baf86103
* pipi.c: implement --roll, RPL-style.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2752 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
b40fc1b330
* atkinson.c: implement Atkinson dithering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2751 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
36fb60cacf
* transform.c: implement pipi_rotate90, pipi_rotate180 and pipi_rotate270.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2750 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
2da45f954b
* Implement pipi_vflip() and pipi_hflip().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2749 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
412dafd400
* median.c: oops, removed old debugging hack from pipi_median().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2748 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
0cab178432
* color.c: implement pipi_threshold().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2747 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
31fec9b526
* Add pipi_dilate() / pipi_erode() and --dilate / --erode.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2746 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
114afed869
* median.c: fix the RGBA median filter.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2745 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
d9f3b654bc
* median.c: add a median filter. Highly unoptimised for now.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2744 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
a1ad690056
* blur.c: proper box blur implementation that runs linearly with
pixel count.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2743 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
ab1487e666
* Add --boxblur to the pipi command line.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2742 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
8e5b11ae39
* convolution_template.h: disambiguate parentheses.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2741 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
db43a4df0d
* img2rubik.c: add quick and dirty dithering code to img2rubik.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2738 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
8996a532df
* blur.c: improve the Gaussian kernel interpolation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2737 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
baa3d82e4b
* Move the palette reduction algorithm into pipi_reduce().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2736 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
f6e201c341
* img2rubik.c: improve stability by clipping t.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2734 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
585af308a2
* img2rubik.c: fix convex hull build, some points were not properly
excluded.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2733 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
b9ccaad752
* img2rubik.c:
+ fix RGB-space UV projection.
+ free allocated memory at the end.
+ clean up the debug messages and make them optional.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2732 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
0151c722cd
* More img2rubik experimentation, with a lot of debugging messages.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2731 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
e23268c286
* img2rubik.c: factor out the hull generation so that we can also build a
convex hull of the Neugebauer primaries.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2730 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
89ae481795
* More color reduction work: we can now constraint an image's palette to
the convex hull of a given palette, except it currently first converts
the image to grayscale.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2729 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
f6f7cbc060
* pixels.c: fix uninitialised w and h in pipi_getpixels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2728 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
9ba0524b9a
* stock.c: the random stock image now creates RGB noise.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2727 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
13bbfb8b27
* Start working on colour reduction with a constrained palette.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2726 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
e50ce5c67a
* color.c: implement pipi_brightness() and pipi_contrast().
* pipi.c: add --brightness and --contrast.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2725 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
43e5e3a28d
* Add a NOTES file for random notes.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2724 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
jylam
22b3af001b
* Added string.h to list of included files, for memcpy()
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2722 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
jylam
7c5ed9890f
* Removed pipi/fill directory (I thought I had done this before. Hurra Pastis.)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2721 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren
sam
37ab68e449
* blur.c: improve the Gaussian kernel generation by interpolating its
values in a quincunx pattern.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2719 92316355-f0b4-4df1-b90c-862c8a59935f
vor 16 Jahren