sam
858b677fcf
Add multiple charsets support to img2twit, and autodetect charset when
decoding.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3526 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
014e889fe0
Allow for non-integer quality values in img2twit.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3525 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
d18e224caa
Fix a bug in img2twit's cell allocation.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3524 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
901c4cd590
Make img2twit message length configurable at runtime, improve the initial
guess by smoothing hard colour gradients, and fixed the bitstack copy
constructor to avoid corruption on exit.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3523 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
6a02de1614
Make img2twit more configurable: iterations per second and debug mode can
now be chosen at runtime. Message length will soon be.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3522 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
9d2ab87f85
Add proper Unicode handling to img2twit. This includes an UTF-8 encoder/decoder
and a special bit stack that can handle arbitrary bases within its stream. The
image encoder and decoder are now separate code paths.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3521 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
1779efba6b
Tremendously improve img2twit.cpp: only compute the new error around the
updated pixel, compute bit allocation at runtime, weight operations in
order to try usual "winners" more often, increase RGB allocation size.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3520 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
4dd30b4ad4
First attempt at a super-compressor for the purpose of sending images to
Twitter, rendering this service slightly more useful. It's still full of
crap, of course.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3518 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
d1fa1af3a1
Fix the FFmpeg headers location in example programs.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3516 92316355-f0b4-4df1-b90c-862c8a59935f
15 vuotta sitten
sam
9ebe671bd6
makemovie: new example program; this utility reads a list of images from
stdin and encodes them into a movie (name specified on the command line).
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3413 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
7811f184bb
storyboard.c: fix compilation with optimisations disabled.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3400 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
e0e1a1f26c
storyboard.c: add decorations around thumbnails
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3352 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
48e2c4cebf
storyboard.c:
- generate smaller thumbnail mosaics
- process more images (1 out of 15 instead of 20)
- try to rule out more similar images
- cope with streams that do not advertise their picture size in the headers
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3351 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
d759c65d79
storyboard.c: more output filename tuning...
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3349 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
0e8b0d6376
storyboard.c: fix output path.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3348 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
77016401db
storyboard.c: tuned the output file name.
examples/.gitignore: ignore storyboard.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3347 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
f83b0deb78
Conditionally build the movie thumbnailer by detecting libavcodec et al.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3346 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
70e7f92416
Added a movie thumbnailer (storyboard generator) using libavcodec.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3345 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
1ff231b9f7
Change _C pixel format suffixes into _U8 for more clarity.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3342 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
0494eff2ef
Add pipi_release_pixels and pipi_set_colorspace in prevision of
pipi_get_pixels using the tiles system. These functions should
disappear one day, because they're going to leak like crazy.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3341 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
bb926c7a95
Rename pipi_getpixel into pipi_get_pixels.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3340 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
jylam
c0359c8aa4
* Fixed a memory leak in histogram example
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@3082 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
69fda35bdf
Add a bunch of .gitignore files for git-svn users.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2936 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
1f64bdfa4b
Do not install example programs.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2935 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
56dcd4e41e
Fix C include paths for separate directory builds.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2913 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
0eb36a6225
Support C99 types on Win32 through the same hacks as in libcaca.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2902 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
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
16 vuotta sitten
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 vuotta sitten
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
16 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
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
16 vuotta sitten
sam
97930521fc
* blur.c: add an argument to the gaussian convolution to specify an angle.
Of course since the kernel is no longer separable, it becomes awfully
slow with large images. Here is a tileable brushed metal texture:
# pipi pipi:random512x512 --wrap --blur 20x0r25 -o image.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2715 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
d6b8cca4ec
* context.c: implement various dithering commands and Gaussian blur.
* pipi.c: add "--blur" and "--dither" commandline options.
* blur.c dither.c: remove these examples, pipi.c works a lot better:
pipi src.png --blur 10 dest.png
pipi src.png --dither dbs dest.png
(and of course combinations are possible)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2694 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
c269c219b2
* Get rid of test.c, it was no longer useful anyway.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2679 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
jylam
baa61a9f6d
* Handle alpha layer in floodfill (but don't make it conditionnal to the algorithm)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2678 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
jylam
290e151913
* First shot of a floodfiller (both u32 and float, 4 neighbours)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2676 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten
sam
0eda956bfc
* random.c: implement random dithering using a deterministic pseudo-RNG.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2671 92316355-f0b4-4df1-b90c-862c8a59935f
16 vuotta sitten