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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás
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
16 anos atrás