889 Commits

Author SHA1 Message Date
John Cupitt
2c5ee332f0 make the buffer recycle list per image
so now recycle lists are short, scale with pipeline complexity, and
buffers are always appropriately sized for the image instead of being
slowly sized up to the max size for the pipeline

before:

$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 38.99 MB

after:

$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 29.46 MB
2013-12-18 09:54:26 +00:00
John Cupitt
0d79221853 memuse improvements
- conv is now SMALLTILE
- more instrumentation
- better buffer recycling
- quicker buf freeing
2013-12-17 15:21:21 +00:00
John Cupitt
bfcd50acf2 works!
reusing work, though memuse seems high?
2013-12-13 16:51:01 +00:00
John Cupitt
c0b8b67987 better memuse graph 2013-12-09 15:14:54 +00:00
John Cupitt
466f25cf28 added memory logging to --vips-profile
though the analysis program doesn't understand yet
2013-12-09 10:04:24 +00:00
John Cupitt
f387d13106 Merge remote-tracking branch 'origin/7.36' 2013-12-01 12:30:12 +00:00
John Cupitt
d7037618fc use a define for PATH_MAX
add VIPS_PATH_MAX, a long-enough-for-almost-any-path buffer size

we ought to switch to dynamic paths really ... do this when we fix
filename encoding
2013-12-01 12:18:16 +00:00
John Cupitt
eb3ad6d64f add lots of instrumentation
also svg output
2013-11-26 14:57:56 +00:00
John Cupitt
b746ab36d6 works! 2013-11-25 14:45:06 +00:00
John Cupitt
d49eed6d20 Merge remote-tracking branch 'origin/master' into gate 2013-11-25 08:55:41 +00:00
John Cupitt
54dcea8c3d fix some clang warnings 2013-11-21 17:43:28 +00:00
John Cupitt
d366320cb1 cleanups, vipsprofile.py now works 2013-11-20 21:35:18 +00:00
John Cupitt
693ed09edd add --vips-profile
only added a few gates so far, try a visualiser next
2013-11-18 18:31:49 +00:00
John Cupitt
8b2dc6f53f Merge remote-tracking branch 'origin/master' 2013-11-16 18:40:24 +00:00
John Cupitt
8992110a85 Merge remote-tracking branch 'origin/7.36'
Conflicts:
	ChangeLog
	configure.ac
2013-11-16 13:18:45 +00:00
John Cupitt
4065ec925c add im_init_world() entry point
C++ programs need this as a function rather than just a macro, see
VImage.h

thanks Phil for finding this
2013-11-16 12:57:05 +00:00
John Cupitt
5e0a9f941f added vips_gaussblur() 2013-11-15 12:37:26 +00:00
John Cupitt
a01e2e3e13 finish vips_sharpen()
does any image type, any number of bands
2013-11-14 12:09:42 +00:00
John Cupitt
ad723ade5a move --strip into save base class
was in jpegsave, now in save

need to add support to png writer, maybe vips as well, tiff could not
attach ICC profiles I guess
2013-11-13 09:00:47 +00:00
John Cupitt
0257dda270 first hack at supporting XYZ PCS
still need to fix new encode / decode
2013-11-12 14:58:59 +00:00
John Cupitt
b3484e1c8e rename vips_gammacorrect() as vips_gamma()
and swap exp to 1 / exp

also works for any format
2013-11-11 14:57:55 +00:00
John Cupitt
b1f01af01b add vips_crop()
a synonym for vips_extract_area()
2013-11-11 14:31:41 +00:00
John Cupitt
6351bad027 Merge remote-tracking branch 'origin/7.36' 2013-11-09 16:03:24 +00:00
John Cupitt
f8f61fedf3 operation flags were not disjoint
meaning CACHE / NOCACHE was not working correctly
2013-11-09 11:54:33 +00:00
John Cupitt
7463edb783 remove _() from vips_init
since it will be compiled by clients and they may not be using i18n
2013-11-08 21:12:24 +00:00
John Cupitt
f0d4760560 redo correlation funcs as classes
im_fastcor()
im_spcor()
im_gradcor()

though gradcor we just deprecate, it's complex and hardly used ...
rework later is anyone complains
2013-11-08 14:09:42 +00:00
John Cupitt
b0f262091f oop fix compile 2013-11-04 14:34:36 +00:00
John Cupitt
ad94488734 deprecate im_contrast_surface()
slower than calling conv a few times
2013-11-03 12:24:46 +00:00
John Cupitt
4b0bcd311b deprecate im_addgnoise()
it's just noise + add now.
2013-10-25 14:52:58 +01:00
John Cupitt
68c5f1909a redo im_convsep() as a class
and im_convsep_f()
2013-10-25 14:37:43 +01:00
John Cupitt
edbbc5fe2b add im_imask2vips() 2013-10-25 13:56:13 +01:00
John Cupitt
2e3d7db0e6 switch to new im_compass()
plus im_linedet() and im_gradient()
2013-10-25 13:46:17 +01:00
John Cupitt
33f978f0ca add vips_matrixprint() 2013-10-25 12:02:02 +01:00
John Cupitt
e74a0b71d9 almost done compass 2013-10-24 14:46:08 +01:00
John Cupitt
2720026a61 redo im_rank_image() as a class 2013-10-23 14:54:22 +01:00
John Cupitt
5475cabbf2 redo im_dilate()/erode() as classes
just a thin wrapper over the vips7 operations for now
2013-10-23 13:15:31 +01:00
John Cupitt
12cf71a6a9 combin copy_fields and demand_hint
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.

All operations are now slightly smaller and simpler.
2013-10-22 09:29:40 +01:00
John Cupitt
f7f061d265 vips_init() does ABI checking
just checks sizeof(VipsObject) for now
2013-10-20 16:46:55 +01:00
John Cupitt
7ef4573f18 redo im_log_*mask() as classes 2013-10-20 16:10:22 +01:00
John Cupitt
aa107b1bf7 remove old 45 degree mask rotate code
just a wrapper now
2013-10-20 12:30:54 +01:00
John Cupitt
4e06d0a2b4 redo im_gauss*mask*() as classes 2013-10-20 12:17:29 +01:00
John Cupitt
67dff74b2c rot45 works 2013-10-19 18:26:46 +01:00
John Cupitt
ae37c8eb6f start rot45 2013-10-15 21:21:35 +01:00
John Cupitt
439522a254 add vips_similarity()
simple wrapper over vips_affine() that lets you give the matrix as scale
+ angle.
2013-10-03 11:56:35 +01:00
John Cupitt
57b6622690 track local mem allocs for debugging 2013-10-02 21:20:41 +01:00
John Cupitt
75b47962ef remove some orphaned code 2013-10-02 21:11:29 +01:00
John Cupitt
45ccf7f5cb small oopes 2013-10-02 13:38:28 +01:00
John Cupitt
0fcff235b3 deprecate im_tone_map() and im_tone_analyze()
too trivial and specialised to be worth redoing
2013-10-02 10:36:00 +01:00
John Cupitt
d329fb165d im_ismonotonic() becomes a class 2013-10-02 10:16:46 +01:00
John Cupitt
feb72b2a5a vips_conv() should work 2013-10-02 05:21:11 +01:00