140 Commits

Author SHA1 Message Date
John Cupitt
1a915db678 no longer need to clean up main buffers
thread-private buffers are now only on workers, no need to to start them
up or free them on the main thread
2016-10-19 09:58:13 +01:00
John Cupitt
f873a51b09 sort-of working 2016-07-06 14:56:28 +01:00
John Cupitt
15878bffca Revert "free main-thread pixel buffers"
This reverts commit 2a77301033146dfbaf8e8a9fa1fb8fb6a567162b.
2016-06-06 06:38:18 +01:00
John Cupitt
2a77301033 free main-thread pixel buffers
threads keep pixel buffers in thread-private storage, and free these
buffers on thread exit ... this means buffers created by the main thread will
only be freed on program exit!

if your program creates any main-thread buffers, these buffers will
eventually fill the operation cache and force everything else out,
making the cache useless

this patch explicitly frees main-thread pixel buffers on image close
2016-06-05 16:59:07 +01:00
John Cupitt
7a91eaa583 tiff save converts for jpg in jpg mode
when jpg compression is on, tiffsave now converts the input image for
jpg save ... previously, it would try to send a tiff-formatted image
(eg. perhaps with an alpha channel, or float data), which would fail

see https://github.com/jcupitt/libvips/issues/449
2016-05-31 22:04:07 +01:00
John Cupitt
e8b5cb6c23 add VIPS_COUNT_PIXELS, overcomputation tracking
added VIPS_COUNT_PIXELS(), use like this:

	static int vips_shrinkh_gen( VipsRegion *or, ... )
	{
        	VIPS_COUNT_PIXELS( or, "vips_shrinkh_gen" );
	}

and on image close, if more than 100% of the pixels have been
calculated, you get a warning

only if you enable debugging, since this hurts perf slightly
2016-03-22 12:26:45 +00:00
John Cupitt
bd985731eb unpremultiply svgload / pdfload
cairo uses premultipled ARGB, we need to undo this for transparency to
work correctly
2016-02-11 09:06:09 +00:00
John Cupitt
73436ddfc2 add @properties flag to tiffsave
writes all vips metadata to imagedescription tag
2015-12-21 14:43:59 +00:00
John Cupitt
6e9834e623 add vips_arrayjoin() 2015-12-11 15:14:08 +00:00
John Cupitt
9cb2674a77 now works woo
python interface plus test and benchmark to go

update c++ too I guess

oh docs as well sigh
2015-11-07 18:47:02 +00:00
John Cupitt
2b46b7e889 many more const decls
ruby gobject-introspection is quite fussy about needing a lot of const
declarations ... these changes help vips_image_matrix_from_array()
appear in Ruby
2015-10-23 11:45:11 +01:00
John Cupitt
dbd852211e move bytw swapping out to vips_byteswap()
it was an option to vips_copy(), ugly!
2015-06-05 13:56:26 +01:00
John Cupitt
d25beeddac remove wrap7 class
and pyvips8 now knows about deprecated args and ops
2014-11-14 22:41:05 +00:00
John Cupitt
ca2ae681cd add --with-gmic configure option 2014-10-07 14:54:53 +01:00
John Cupitt
e458365970 use vips__substitute() more
should probably remove vips_snprintf() from a few more places
2014-09-27 11:37:28 +01:00
John Cupitt
5125cc535c Merge branch '7.40'
Conflicts:
	TODO
2014-08-19 18:04:24 +01:00
John Cupitt
573b94e3ec more docs argh 2014-08-19 17:57:27 +01:00
John Cupitt
7c8ec68448 more vips_check_init() out of API
now private
2014-08-18 15:53:17 +01:00
John Cupitt
32a8fe117e start working on --disable-deprecated
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
cdecee2705 more vips7 compat fixes
thanks steve
2014-07-16 09:40:26 +01:00
John Cupitt
b7f16a1de9 more docs work 2014-06-16 14:28:00 +01:00
John Cupitt
a76df77942 docs updates 2014-06-15 11:52:06 +01:00
John Cupitt
35533a54cf finish reviding the fixed-up image load/save API 2014-06-08 11:16:58 +01:00
John Cupitt
496d523750 wrap im_*merge() as a class 2014-05-22 14:53:18 +01:00
John Cupitt
a17ef9b7c8 vips_system() allows many input images
you can change the image argument order too, with %Ns

added postbuild signal
2014-04-09 11:42:03 +01:00
John Cupitt
d52d027c1a start another draw cleanup 2014-03-31 14:56:33 +01:00
John Cupitt
15ba4a7be2 add a direct path for draw_mask
and get draw_circle ready for draw-along-circle
2014-03-29 17:16:37 +00:00
John Cupitt
1002d4da52 vips__vector_to_ink() has an imag parameter 2014-02-22 16:26:42 +00:00
John Cupitt
3277e26e65 add a direct path to flood for labelregions 2014-02-14 10:29:09 +00:00
John Cupitt
3c087fc902 replace im_circle()/im_flood() with wrappers 2014-02-06 09:52:45 +00:00
John Cupitt
7ef49c2f2d Merge remote-tracking branch 'origin/master' into draw 2014-02-04 09:22:18 +00:00
John Cupitt
87ab32d422 Merge remote-tracking branch 'origin/master' into draw 2014-02-03 14:33:34 +00:00
John Cupitt
fb489bad53 move vips_image_decode() into the public API 2014-02-03 14:29:57 +00:00
John Cupitt
4ac08bc2d6 add some auto unpack stuff
so RAD etc get unpacked automatically
2014-01-22 13:26:59 +00:00
John Cupitt
407f036a87 start on inplace 2014-01-21 19:35:13 +00:00
John Cupitt
cb96ed814e redo im_cntlines() as a class 2014-01-17 11:18:05 +00:00
John Cupitt
46489ea84c redo im_invfft() as a class 2014-01-03 17:03:06 +00:00
John Cupitt
451eff58b1 im_fwfft() is a class 2014-01-03 16:23:44 +00:00
John Cupitt
1f51409bf1 remove old vips7 mask stuff
just a wrapper now
2014-01-03 14:24:04 +00:00
John Cupitt
bfcd50acf2 works!
reusing work, though memuse seems high?
2013-12-13 16:51:01 +00:00
John Cupitt
75b47962ef remove some orphaned code 2013-10-02 21:11:29 +01:00
John Cupitt
6855770362 rename vips_diag() as vips_info()
plus a command-line flag to turn it on
2013-08-07 09:22:24 +01:00
John Cupitt
5f340ea554 Merge remote-tracking branch 'origin/7.34'
Conflicts:
	libvips/iofuncs/type.c
2013-08-06 13:20:13 +01:00
John Cupitt
ba60202285 better type leak checks 2013-08-06 12:02:11 +01:00
John Cupitt
226095c39d move im_maplut() to a class 2013-07-31 22:00:36 +01:00
John Cupitt
67a5aa7442 make VipsArea leakcheck a run-time option
was compile-time
2013-07-16 11:37:01 +01:00
John Cupitt
6167d4d97c Fix three minor memleaks 2013-07-15 22:01:00 +01:00
Benjamin Gilbert
8cc76a6ba3 Update address for Free Software Foundation
Also update LGPLv2.1 license text from the copy currently on the GNU
website.
2013-03-07 00:40:19 -05:00
John Cupitt
2ce7bc9618 started moving disp funcs 2012-09-21 14:47:50 +01:00
John Cupitt
2e1b8bb9ef LabQ <-> Lab as classes 2012-09-20 21:21:08 +01:00