Commit Graph

506 Commits

Author SHA1 Message Date
John Cupitt
9c84b0dfd9 add vips_tracked_malloc()
new malloc()/free() pair do tracked allocations ... use g_new()/g_free()
everywhere else
2011-09-21 14:50:32 +01:00
John Cupitt
4b2c8587b2 vips_malloc() size tracking
vips_malloc() now tracks allocation size and can report total mem use.
It seems to trigger quite a few nip2 bugs though, I guess we are
g_free()ing the result in places (or vice versa).

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x2aae8e011a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x2aae8e0158e3]
/home/john/vips/lib/libvips.so.15(vips_free+0xc2)[0x2aae88f7717e]
/home/john/GIT/nip2/src/nip2[0x4c9ce2]
/home/john/GIT/nip2/src/nip2(path_map_exact+0x63)[0x4ca127]
/home/john/GIT/nip2/src/nip2[0x4b5381]
2011-09-19 16:44:51 +01:00
John Cupitt
df599f2f55 better vips_init() fallback
the vips_init() fallback was not working well ... new, better one gets
called more often
2011-09-12 12:28:01 +01:00
John Cupitt
5d1accfc83 fallback vips_init()
call vips_init() for the user if they forget
2011-09-09 17:14:27 +01:00
John Cupitt
e99f6cc49e fix up VipsPool
vipspool working, test program in ~/try, passes valgrind
2011-09-06 10:37:00 +01:00
John Cupitt
b5cadc1815 move C API back to int operations
always return results through params
2011-09-05 21:28:35 +01:00
John Cupitt
ad016c53a2 C API supports optional output args
you can do stuff like

	int x;
	vips_min( fred, &min, "x", &x, NULL );

to get the x pos of the minimum
2011-09-05 18:16:32 +01:00
John Cupitt
4ce3346a4f VipsMin stops early if it can
if VipsMin sees a minimum value (eg. 0 for uchar) it'll stop searching
early
2011-09-05 14:10:56 +01:00
John Cupitt
6f125a6f31 enable YCbCr compresison for jpeg in tiff write
if we're writing RGB jpeg in tiff, enable YCbCR chrominance subsampling
for a 3x improvement in compression
2011-09-05 10:53:17 +01:00
John Cupitt
7fe104fee6 support optional output args in the cli
the cli interface now supports optional output args ... C API next
2011-09-04 10:10:39 +01:00
John Cupitt
07eb155462 allow optional output args
optional output args in C API startup ... need to fix up C API shutdown,
plus CLI, see TODO notes
2011-08-31 11:37:12 +01:00
John Cupitt
2909cb93a4 add a 'stop' param to generate
generate now has a 'stop' param, set this to indicate early successful
termination

this will be used by VipsMin and friends to stop scanning early for
conditions like seen a 0 in a uchar image while searching for min
2011-08-29 14:29:33 +01:00
John Cupitt
ac3ce8b010 add VIPS_ARGUMENT_APPEND
to give more control over arg ordering, fixes a problem in avg
2011-08-28 12:46:50 +01:00
John Cupitt
7a392d4789 im_avg() is a class 2011-08-26 10:15:39 +01:00
John Cupitt
ae016dd408 turn im_subtract() into a class 2011-08-23 20:56:35 +01:00
John Cupitt
7111ff2433 version bump for next cycle
s Please enter the commit message for your changes. Lines starting
2011-08-21 18:06:19 +01:00
John Cupitt
11eb90cdb3 itest for C++ compiler
automatically disable C++ support if no compiler found
2011-08-16 13:26:57 +01:00
John Cupitt
1cfa33e4fb better termination handling
setting and detecting ->kill is now treated more like a message ... you
can now cancel calculation in nip2 without breaking calculation
2011-08-15 16:24:46 +01:00
John Cupitt
1e21963f83 don't use G_VALUE_COLLECT_INIT 2011-08-15 13:59:47 +01:00
John Cupitt
f000d93042 fix --without-cfitsio
oops, was broken, thanks Mike
2011-08-11 09:35:02 +01:00
John Cupitt
b748961743 im_benchmark.c had some debugging left in
oops, im_benchmark.c had some work commenetd out, hence the fast run
times
2011-08-10 10:17:36 +01:00
John Cupitt
764ce559f8 better benchmark prog
the benchmark program (benchmark/benchmarkn.sh) runs each test three
times and just reports the fastest run

it also detects the number of CPUs you have and automatically loops the
right number of times

additionally, tiles now default to 512x512, so it explicitly sets tiles
back to 64x64 to make comparisons with earlier versions easier
2011-08-03 11:25:31 +01:00
John Cupitt
a848adc7b3 add im_concurrency_get() to operation db
to help benchmarkn.sh loop appropriately automatically
2011-08-03 11:17:57 +01:00
John Cupitt
8790e552b6 fix a race in xyz to lab
the table build had a race condition
2011-08-03 10:12:45 +01:00
John Cupitt
122c697349 vips7compat missed old enum names
oops, ==0 missing from a strcmp()
2011-07-28 16:52:29 +01:00
John Cupitt
e7dbd89938 bump version again, doc fixes 2011-07-26 22:37:03 +01:00
John Cupitt
b0e7c727fa version bump
version bump for release, get make dist working again
2011-07-26 09:59:53 +01:00
John Cupitt
1b5803af2e new man pages
restored and updated man.1 pages
2011-07-26 09:27:06 +01:00
John Cupitt
a9dc321afd add wrap7
add a thing to wrap vips7 functions as vips8 classes

in and in use, but not yet working
2011-07-15 14:37:20 +01:00
John Cupitt
2ee4fefa46 better temp files for im_vips2tiff() pyramids
im_vips2tiff() used to keep intermediate files in the same directory as
the destination file ... instead, make temp files using im__temp_name(),
see im_system_image().
2011-07-12 15:27:22 +01:00
John Cupitt
0f20f9152b icc import/export cast inputs 2011-07-12 14:56:58 +01:00
John Cupitt
e84640af58 im_falsecolour() does implicit conversion
convert input automatically to mono 8-bit in falsecolour
2011-07-12 13:30:25 +01:00
John Cupitt
6131388cc4 jpeg cmyk write was not inverting
the change to vips_sink_disc() for vips2jpeg make CMYK write fail, argh

thanks to Ole for the report
2011-07-08 11:34:26 +01:00
John Cupitt
180fa919e2 blend does sizealike
added sizealike to im_blend()
2011-06-27 12:28:10 +01:00
John Cupitt
4650234e20 add VIPS_EXEEXT to the exported API
EXEEXT was just internal, now it's part of the API we export
2011-06-15 14:42:49 +01:00
John Cupitt
971615d6ae back to fixed refs, add a pool system instead
floating refs were very confusing and annoying, instead use simple fixed
refs and add a pool system to track refs for you

also fixed a couple of dumb errors in close callbacks
2011-06-02 12:23:56 +01:00
John Cupitt
75e5804e3c small fixes
also bumped smalltile to 512x512 for tetsing aconv, this needs checking
2011-06-01 17:56:28 +01:00
John Cupitt
6819919f0c im_aconv() works
got im_aconv() working, woo
2011-06-01 17:36:17 +01:00
John Cupitt
a55e8d15bb fix -ve lobes on laplacian for large sigma 2011-05-30 12:14:20 +01:00
John Cupitt
10aecae374 added im_gauss_dmask_sep() 2011-05-26 13:20:15 +01:00
John Cupitt
8036dda5b7 vips8 CLI works
bugs fixed, leaks plugged, hooked up output write
2011-05-23 17:12:09 +01:00
John Cupitt
dd6f0e8b4d sizealike everywhere
all ops now sizealike (I think) and docs are updated to match
2011-05-17 13:05:45 +01:00
John Cupitt
0c1034de44 vips7 has sizealike as well 2011-05-16 17:34:00 +01:00
John Cupitt
bc4accfc48 added sizealike
binary.c now does sizealike, so images no longer have to match exactly
in size for binary operations
2011-05-16 17:25:26 +01:00
John Cupitt
6cb6d2289b new CLI done
the new cli interface is done, try "vips add a.jpg b.jpg out.jpg", or
"vips add".
2011-05-16 17:10:08 +01:00
John Cupitt
03d54dd099 im_conv() bug fixed
there was a typo in overflow estimation which could cause vips to use
the vector path when it should not, resulting in errors
2011-05-09 16:56:41 +01:00
John Cupitt
691893f31c updated German translation
new German translation, thanks Chris, tiny change to jpeg2vips
2011-05-07 15:11:01 +01:00
John Cupitt
daf915fafb added vips_image_get_data()
something to get the pixel data pointer
2011-05-01 11:32:59 +01:00
John Cupitt
0a2ef6e8c5 bufjpeg2vips has a header_only param
im_bufjpeg2vips() has header_only, meaning just read width/height/etc.
2011-05-01 11:02:31 +01:00
John Cupitt
e8a78916a3 add support for palette mono images
search the colormap for R==G==B and output mono in this case

there is a tiff extension for INDEXED images, but no one seems to use it
2011-04-21 12:01:37 +01:00
John Cupitt
f13bf34ce3 add n-bit palette tiff read
The tiff reader can do 1, 2, 4, 8 bits per sample palette read.
Greyscale palette images always come out as colour, I'm not sure how to
fix this. Perhaps I have to search the palette and see if r==g==b?
2011-04-21 09:53:02 +01:00
John Cupitt
c4f5c71507 add im_bufjpeg2vips()
add a thing to open a jpeg from a memory buffer, handy for processing
thumbnails from exif data
2011-04-20 15:23:34 +01:00
John Cupitt
e0d4ed89ff reorganise tools/ dir
The subdir in tools are no lonmger necessary. Also, remove ther old bin
links feature, not very useful anymore.
2011-04-06 12:06:32 +01:00
John Cupitt
ac461e5cc6 tiff read uint/int mixup
there was a uint/int mixup in the tiff reader causing problems with
tiff files written in single strips, thanks Bubba
2011-04-04 16:56:26 +01:00
John Cupitt
8d367998c6 VipsAdd works
done VipsAdd class and made an im_add() stub for compat
2011-04-04 15:46:57 +01:00
John Cupitt
db41b6ac4e add VipsOperation
abstract base class for all operations goes in
2011-03-29 12:12:20 +01:00
John Cupitt
0b9189b2ef support old header names
vips_image_get_int() and friends let you use the old header names eg.
"Xsize"
2011-03-23 14:44:20 +00:00
John Cupitt
e66c2dc9a5 fits write done
fits write is working, tested read as well with valgrind, all fine, I
hope
2011-03-22 11:57:34 +00:00
John Cupitt
9a9704bcf6 basic fits write done
now sort-of works, but see notes in fits.c re. missing features
2011-03-18 14:44:35 +00:00
John Cupitt
3244d8f392 Merge remote branch 'origin/vipsobject-image'
Conflicts:
	ChangeLog
	libvips/iofuncs/im_cp_desc.c
2011-03-11 14:15:12 +00:00
John Cupitt
b8e526d40e now runs simple operations
im_copy and im_invert at least seem to work
2011-03-09 17:45:37 +00:00
John Cupitt
05ab548636 ri2c was broken
Oops, im_ri2c() was totally broken :-(
2011-02-28 12:16:43 +00:00
John Cupitt
3e112602f2 vector im_add was broken for int/uint
oops, im_add() with Orc was broken for uint and uint. Added more tests
to nip2 to pick this up earlier in future.
2011-02-28 11:15:09 +00:00
John Cupitt
16b032f8c1 more hackery
getting closer, stuck on vips image byte-swap logic now, probably need a
im_file2vips() type function
2011-02-23 17:38:24 +00:00
John Cupitt
a7d2288bad im_jpeg2vips() ignores weird APP1 chunks
Some JPEGs seem to have multiple APP1 chunks. There should only be one,
and it should only contain EXIF data (I think), but some seem to have
many.

This was causing problems: the loader was trying to read exif
from all chunks, and a second chunk with invalid data was zapping the
stored exif meta tag. As a result, things like

  vips im_copy a.jpg b.jpg

would appear to lose EXIF info if a.jpg had spurious APP1.
2011-02-21 17:01:00 +00:00
John Cupitt
aa620ea540 remove the old man pages
Finally junk the old man pages, everything is redone as gtk-doc now.
2011-02-03 11:50:58 +00:00
John Cupitt
729b680841 set MAP_NOCACHE if we can
Set the MAP_NOCACHE flags in mmap() if we can. On OS X this stops the
mad super-aggressive disc caching and produces a huge improveemnt in
performance.
2011-02-02 21:56:40 +00:00
John Cupitt
af95502d82 final operators gtk-doc'd
All done! Good Lord. Just some parts of iofuncs/ still to do.
2011-02-02 17:17:05 +00:00
John Cupitt
afef89369b gtk-doc for interpolate
Add gtk-doc comments for VipsInterpolate.
2011-02-02 14:24:58 +00:00
John Cupitt
444887e57f more informative progress messages
--vips-progress now tells you nthreads, tile size and nlines. For
example:

$ vips --vips-progress im_shrink big.v x.v 8 8
vips x.v: 2 threads, 2858 x 1 tiles, groups of 4 scanlines
vips x.v: done in 43s
$
2011-02-02 12:52:54 +00:00
John Cupitt
d064818fd7 done gtk-doc for "other"
Finished gtk-doc-ing "other".
2011-02-01 14:47:08 +00:00
John Cupitt
df91b4e4a0 more gtk-doc hacking
gtk-doc more of "other", move various useless functions into deprecated
2011-02-01 14:41:46 +00:00
John Cupitt
390fd643a3 move im_dif_std() to almostdeprecated
im_dif_std() is another ancient function which I don't want to update.
You can now make this function with a simple combination of other vips
operations.

This patch includes gtk-doc for im_benchamrk.c
2011-02-01 13:27:50 +00:00
John Cupitt
233cbf1f15 get all fopen()s going through util.c
Add a text_mode flag to im__file_open_write() and _read() so we can
route all fopen() though these two functions.
2011-01-31 16:00:35 +00:00
John Cupitt
663c3c15fd fits reader is lazy
The fits reader is now lazy, and reads out whole tiles when it can.
Previously it read a scanline at a time, and used WIO.

We read in planes and combine with a set of im_bandjoin().

Use an im_flipver() at the end to get rows in the right order.
2011-01-31 15:24:41 +00:00
John Cupitt
41ccd93d2d add im_fits2vips() to the operation database
the fits reader, im_fits2vips(), was in VipsFormat but not in the
operation database
2011-01-28 11:37:52 +00:00
John Cupitt
1aea6a1347 gtkdoc for mosaicing 2011-01-25 13:12:22 +00:00
John Cupitt
823650b2b4 oops 2011-01-24 10:40:40 +00:00
John Cupitt
8d559556c6 more uchar bilinear tweaks 2011-01-12 13:00:36 +00:00
John Cupitt
609a598896 oops 2011-01-11 16:58:59 +00:00
John Cupitt
ae31832180 new bilinear 2011-01-11 14:48:45 +00:00
Nicolas Robidoux
03f784cbad no more trailing whitespace in Changelog 2011-01-10 16:34:17 +00:00
Nicolas Robidoux
d896b425f8 more specific thanks in Changelog 2011-01-10 16:10:08 +00:00
John Cupitt
dfd97464b0 speed up bilinear on float 2011-01-07 15:03:01 +00:00
John Cupitt
8bd2322b1f updatye README 2011-01-06 14:18:00 +00:00
John Cupitt
ea99beb727 get/set resolution in png files 2011-01-06 12:18:40 +00:00
John Cupitt
6425cd2660 stuff 2010-12-13 17:31:38 +00:00
John Cupitt
36290b0aeb stuff 2010-12-12 17:48:56 +00:00
John Cupitt
7966a36446 bump plus oops 2010-12-06 11:10:19 +00:00
John Cupitt
c93443aaca any size mask for rot90 2010-12-01 10:02:40 +00:00
John Cupitt
97a5ff1607 branch for 7.24 2010-11-30 22:01:45 +00:00
John Cupitt
83fc52c491 smaller norm factor for d->i mask 2010-11-30 11:53:53 +00:00
John Cupitt
197877e32c fix im_cache 2010-11-25 17:20:14 +00:00
John Cupitt
b1e7aaa2d5 oop, bool const are always int now 2010-11-21 12:12:12 +00:00
John Cupitt
0a9ca45f6d stuff 2010-11-19 14:53:11 +00:00
John Cupitt
5684349d56 fix G_STMT oopses 2010-11-15 12:12:28 +00:00
John Cupitt
ceb3a6ec5c morph done phew 2010-11-12 11:47:24 +00:00
John Cupitt
531feb10a1 stuff 2010-11-09 23:02:24 +00:00
John Cupitt
425795a8c8 multipass mode for im_conv() 2010-11-08 17:24:58 +00:00
John Cupitt
29f62c1aa8 morph docs 2010-11-07 10:57:11 +00:00
John Cupitt
f3b5bfde80 merge orc branch 2010-11-01 17:46:47 +00:00
John Cupitt
57a8d8f12e add fits read 2010-10-26 15:12:49 +00:00
John Cupitt
288d8583ac gtk-doc for mask 2010-10-23 09:27:41 +00:00
John Cupitt
0d2bdac332 gtk-doc fixes 2010-10-22 13:49:36 +00:00
John Cupitt
332476835f bigger margin for affine 2010-10-12 13:37:00 +00:00
John Cupitt
8ef0b344d6 security fix for setting env vars 2010-10-03 17:10:11 +00:00
John Cupitt
08ebc9e535 im_blend() can take non-uchar conditions 2010-10-01 15:45:55 +00:00
John Cupitt
3145b7aed5 added complex convolution 2010-10-01 11:03:11 +00:00
John Cupitt
6bcf09c1d4 smudge / smear stuff 2010-09-30 13:36:21 +00:00
John Cupitt
94763652ad added im_draw_point() / im_read_point() 2010-09-29 13:45:09 +00:00
John Cupitt
6b1c5b8e56 im_draw_mask() added 2010-09-28 16:06:58 +00:00
John Cupitt
aad2eb8703 line drawing 2010-09-27 17:14:22 +00:00
John Cupitt
3cae292f4f stuff 2010-09-22 22:02:44 +00:00
John Cupitt
39a6a2c0b3 added im_draw_rect(), deprecated im_paintrect() 2010-09-22 14:51:36 +00:00
John Cupitt
de026e0750 deprecate _copy() inplace ops 2010-09-22 12:51:52 +00:00
John Cupitt
bdfab2b297 added win32 build system to svn 2010-09-07 16:01:13 +00:00
John Cupitt
c6c35c550d copy iconv.m4 and friends in bootstrap 2010-09-01 11:16:57 +00:00
John Cupitt
d215ef4a33 im_inserplace() hacking 2010-08-25 11:15:36 +00:00
John Cupitt
38dde13826 3x3 mode for im_conv() 2010-08-23 11:18:59 +00:00
John Cupitt
f5faed779c stuff 2010-08-21 11:34:34 +00:00
John Cupitt
f27ab2fa3f fix window_offset stuff, fix a performance problem 2010-08-12 15:56:07 +00:00
John Cupitt
f76578fa4f stuff 2010-08-02 16:42:59 +00:00
John Cupitt
a3f8ddadfc add lcms2 support 2010-08-02 15:58:30 +00:00
John Cupitt
60280aa318 various cleanups, remove liboil 2010-07-31 10:35:57 +00:00
John Cupitt
bde8d1048e vipsthumbnail uses rd mode 2010-07-30 12:30:45 +00:00
John Cupitt
9ea66365c4 add rd mode to im_open() 2010-07-29 10:51:51 +00:00
John Cupitt
f822234c4e use GetTempPath() on WIndows 2010-07-29 10:18:44 +00:00
John Cupitt
891650869b version bump to unstable 2010-07-21 10:04:10 +00:00
John Cupitt
9e41002a08 im_vips2bufjpeg() writes to a linked list 2010-07-18 20:31:04 +00:00
John Cupitt
6edf57eed9 fixes from Tim Elliott 2010-07-17 15:57:22 +00:00
John Cupitt
caede02a22 oop thumbnail sharpen could turn off for int shrinks 2010-07-04 20:05:20 +00:00
John Cupitt
5fae2763a5 ifthenelse allows non-uchar conditional images 2010-06-25 13:04:21 +00:00
John Cupitt
b56ad5ec7f stuff 2010-06-24 16:41:01 +00:00
John Cupitt
3f8259e390 vips.exe is less chatty 2010-06-24 16:02:00 +00:00
John Cupitt
75fdc5ae4e moreconst fixes, sinkdisc fixes, constant vector clip added 2010-06-23 15:45:43 +00:00
John Cupitt
1c51b0217b tiff pyr write fix 2010-06-22 09:35:16 +00:00
John Cupitt
7fd672f595 faster, more accurate bilinear/bicubic 2010-05-30 17:26:23 +00:00
John Cupitt
b275740002 stuff 2010-05-26 15:32:13 +00:00
John Cupitt
8cb481f0be updated en_GB translation 2010-05-26 11:19:25 +00:00
John Cupitt
84398a7686 i18n fixes 2010-05-25 16:46:03 +00:00
John Cupitt
b4925940fb add German translation 2010-05-24 10:05:59 +00:00
John Cupitt
2d215b44e5 fixes to --disable-cxx mode 2010-05-22 12:13:19 +00:00
John Cupitt
7bebea093a vipsthumbnail fixes 2010-05-13 20:29:28 +00:00
John Cupitt
44433f18d0 bump for 7.22 2010-05-12 21:04:27 +00:00
John Cupitt
daf074e950 PFM read / write 2010-05-03 16:52:15 +00:00
John Cupitt
1d473ef5cc stuff 2010-04-30 19:16:39 +00:00
John Cupitt
1cab57014c magick fixes 2010-04-30 13:38:50 +00:00
John Cupitt
3a9f0d50fa remove im_iterate() uses 2010-04-19 11:00:28 +00:00
John Cupitt
68fae1ab1f stuff 2010-04-19 08:04:42 +00:00
John Cupitt
fdbdba432b strip out threadgroup 2010-04-16 21:21:15 +00:00