sam
9274c50668
COPYING: add a global license file.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2838 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
6fc2b78f37
Allow to use all available image loaders instead of just the first one.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2837 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
4a41d81ee6
* Moved accessors to their own file, and added a pipi_get_format_name()
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2814 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
6f49c4d859
* ordered.c: r means radius, not diameter.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2813 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
bd54059e60
* Add a scale parameter to pipi_dither_ordered_ext().
* Reimplement pipi_dither_halftone() using pipi_dither_ordered_ext().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2812 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
4fefa85cd9
* ordered.c: allow to rotate the dither pattern, using nearest-neighbour
rotation interpolation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2811 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
3553851ad5
* Preliminary support for a string to color routine (rgb(), argb() frgb(), fargb()) as well as named colors
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2810 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
756cc89890
* Preliminary image histogram routines and example
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2809 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
37ed52dc95
* median.c: oops, fix argument types in the qsort call.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2808 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
82bb59111c
* median.c: use the libc's qsort to find the median value. Not really the
best method anyway (see the research notes on the wiki), but now X = 8
is faster than the previous implementation's X = 6.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2807 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
0cca668930
* pipi_template.h: factor the last unrolled preprocessor loop.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2806 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
daa741e235
* convolution.c: refactor the template functions, removing 30 lines of
code in the process.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2804 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
40bb2c590b
* configure.ac: do not bail out if OpenCV was not found at configure time.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2803 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
729fb74fec
* blur.c: support wrap around images in box blur (it's actually support for
non-wrap-around images; wrap around was the default behaviour).
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2802 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
916f579194
* blur.c: use the template system for the boxblur functions.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2801 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
5a9d928338
* blur.c: fix the separate filter optimisation in the blur code by not
interpolating the Gaussian kernel integral when dx = dy = angle = 0.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2800 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
41fe20b38e
* line.c: minor refactoring.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2799 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
e13a1527e4
* line.c: merge the antialiased line template back into line.c.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2798 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
2e711427e7
* aline_template.h: remove fucking tabs.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2797 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
a25a78d31c
* line.c: make the line drawing example use aliased lines.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2796 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
39865db8bd
* line.c: convert the aliased line drawing to the template system.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2795 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
c3c7f2e5e3
* Add "8bit" to the list of supported template flags.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2794 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
8ddfafa5ba
* Rework the convolution template system.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2793 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
8a64e1c730
* common.h: protect common.h against multiple inclusion.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2792 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
db9a8eae50
* convolution_template.h: clamp output values after a convolution.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2791 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
sam
3dba2d0198
* Add pipi_order, to transform any image into an ordered dithering matrix.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2790 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
6d69dcc7ea
* Added bezier files, lolz.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2789 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
306ec17156
* Added a bezier curve primitive (2 control points).
* Fixed a float overflow in antialiased lines (this algorithm is a mess, and I need to rewrite it)
* Wrote a bunch of craderies degueulasses to avoid having y1 already defined in math.h
* Did I say this antialiased line implementation sucks ?
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2788 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
d0e6525dd1
* Factorized some code and added temporary debug stuff
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2787 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
c759699dba
* Fixed the second part of the previous buffer overflow. No comment.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2783 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
74388b2c0d
* Fixed a buffer overflow in antialiased lines
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2782 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
bdabe44f3a
* Added line to pipi tool (format x1,y1,x2,y2,color,aa, width coordinates as ints, color as hex quadret, aa as an optionnal bit which controls
antialiasing (default: aliased (bracket)))
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2781 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
3d6c087459
* Oops. Fixed typo that prevented tile.c to be compiled (STFU I SAID!)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2780 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
jylam
0a6391a78b
* Added *line_template.h to Makefile.am, to make sure teuf shuts the phoque up
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2779 92316355-f0b4-4df1-b90c-862c8a59935f
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem
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
pirms 16 gadiem