Commit Graph

4322 Commits

Author SHA1 Message Date
John Cupitt 3130b9b118 add note on Peter's CM work 2016-07-05 08:48:08 +01:00
John Cupitt 65067fd58b add some more auto init
vips_image_new_from_file() was missing a check_init
2016-07-04 14:51:00 +01:00
John Cupitt b81ac67a98 tag tiff alpha as UNASSALPHA
we were using ASSOCALPHA, but that's only for pre-multiplied alpha
channels
2016-07-04 14:49:04 +01:00
John Cupitt 5e58187902 improve docs 2016-07-04 10:18:39 +01:00
John Cupitt 85cbebbac4 remove old im_conv() code 2016-07-01 16:18:48 +01:00
John Cupitt 9442c225ba kinder, gentler underflow check 2016-07-01 15:30:07 +01:00
John Cupitt d2aeec56b5 convi done 2016-07-01 15:11:17 +01:00
John Cupitt df81a6fe24 almost there 2016-06-30 14:59:20 +01:00
John Cupitt e45c5a587e int vector path done
seems to sort-of work
2016-06-29 17:49:02 +01:00
John Cupitt 0c2259d34b improve similarity docs
rotation direction was wrong, add type comments

https://github.com/jcupitt/libvips/issues/475
2016-06-28 17:07:14 +01:00
John Cupitt bd7bad1916 almost done vector path 2016-06-28 11:07:20 +01:00
Felix Bünemann 5ab0001ec6 Add configure check for zlib with inflateInit2
and replace old unused and poorly named FIND_ZIP. The new code prefers
pkgconfig and only falls back to manual detection if needed.

This also prioritizes detected zlib flags and includes to be preferred
over the ones that are added by pkgconfig for libpng, tifflib etc. which
would otherwise have caused the system default zlib to be used.
2016-06-27 03:03:45 +02:00
Felix Bünemann 14953c19e7 Add support for .svgz files to svgload 2016-06-27 01:54:53 +02:00
John Cupitt 5e660addc8 convi working
need to add vector path next
2016-06-24 16:03:15 +01:00
John Cupitt 1a5aa2125e add convi 2016-06-24 12:48:08 +01:00
John Cupitt e60e90b0da im_conv_f rewrite done 2016-06-23 20:42:03 +01:00
John Cupitt 93a55310d3 compiles 2016-06-23 15:00:26 +01:00
John Cupitt 65105a9442 upsize with something other than nearest
vips_resize() uses to just use nearest when upsizing, following standard
practice in repro. This is often unfortunate for image processing, where
small nearest upsizes will produce obvious aliasing.

It now picks a VipsInterpolate which corresponds (roughly) to the
selected VipsKernel and uses that with affine for any upsizing.
2016-06-22 10:33:08 +01:00
John Cupitt 6f52f14fc5 fix comment 2016-06-19 09:37:26 +01:00
John Cupitt 3c7ce5f6fe better invalid test 2016-06-18 19:42:43 +01:00
John Cupitt 11b136b2df pyvips8 can create new metadata
previously it tried to lookup the type of the field in set(), now if
OK if there's no field there already
2016-06-17 11:27:13 +01:00
John Cupitt d56cd4dcb2 note py problem 2016-06-17 09:36:04 +01:00
John Cupitt f3326c8126 better vips_resize() for cubic/linear/nearest
vips_resize() used to do most of a downsize with vips_shrink() and the
final 200 - 300% with vips_reduce(). This was correct for lanczos2/3,
but not right for linear/cubic, which need more shrink and less
reduce to avoid aliasing.

This patch makes vips_resize() leave the final 100 - 200% to
vips_reduce() for linear/cubic, and leave everything to reduce for
nearest.
2016-06-16 09:46:02 +01:00
John Cupitt a5bef08d4a better reducev multiplication
more accurate, no slower

add more tests too
2016-06-15 13:56:19 +01:00
John Cupitt 58be330714 oop problems found in reducev 2016-06-14 14:56:56 +01:00
John Cupitt eb7768ff61 Merge branch 'master' into add-assignment-overloads 2016-06-11 20:15:42 +01:00
John Cupitt 83b1c33441 add tests for C++ += etc
all seems to work!
2016-06-11 20:14:48 +01:00
John Cupitt 28efdf1695 working! 2016-06-11 17:36:06 +01:00
John Cupitt 8667dd0d18 VImage::ifthenelse() fix
the prototype was missing =0 on options for scalar constant forms
2016-06-10 17:34:41 +01:00
John Cupitt 93951fd04a start adding 2016-06-10 14:57:46 +01:00
John Cupitt 6fa665d6de notes 2016-06-10 14:45:33 +01:00
John Cupitt ad56c57830 add implementation for VImage::write()
oops, it was missing

also, change the return type from void to VImage. This makes chaining
possible, eg.:

   VImage memory = im.write( Viameg::new_memory() );
2016-06-10 14:22:08 +01:00
John Cupitt 1909b31bd6 vips_image_write() only refs input when it has to
when you write to a non-partial image, you create a sink ... so
vips_image_write() only needs to ref the input when writing to partials

this change makes it much easier to (for example) combine many images in
bounded space, see for example:

https://gist.github.com/jcupitt/c516325ebef7601b5da610af5619c9b2
2016-06-10 13:58:01 +01:00
John Cupitt 3ed174e9cb Merge branch 'master' into free-non-worker-buffers 2016-06-09 18:36:41 +01:00
John Cupitt e2ca92e104 better dsave zip compression on older libgsfs
if you ask for compression on an older libgsf, you now get zlib default,
rather than no compression
2016-06-09 11:58:01 +01:00
John Cupitt 98bceec23f small dzsave cleanups
- rename compression_level as deflate_level to match libgsf convention
- use libgsf enums for GSF_ZIP_STORED, etc.
- configure-time checks for zip64 and deflate-level
- off-topic: rename NEED_TYPE_INIT as HAVE_TYPE_INIT for consistency
2016-06-09 09:36:37 +01:00
John Cupitt 8cd3d18caf remove is_zip from dzsave
we can use GSF_IS_OUTFILE_ZIP() instead
2016-06-08 14:46:45 +01:00
John Cupitt 88acc23e2b Merge pull request #461 from felixbuenemann/dzsave-zip-compression
Vips dzsave zip compression support
2016-06-08 13:51:35 +01:00
John Cupitt 6139c4ca7d Merge pull request #468 from felixbuenemann/re-enable-travis-on-all-branches
Re-enable Travis CI builds on all branches
2016-06-07 18:51:52 +01:00
Felix Bünemann 836c2339cf Target master branch for Travis CI build badge 2016-06-07 14:12:32 +02:00
Felix Bünemann d7a39668e4 Revert "only run travis on master and stable"
This reverts commit 43e6e5361b.
2016-06-07 14:02:23 +02:00
John Cupitt b90145ca31 free pixel buffers on image close
We were freeing pixel buffers on thread exit. This was convenient, but
meant that main thread buffers were not freed until program exit. As a
result, long-running programs which created main thread buffers would
slowly fill the operation cache with useless junk, forcing everything else out.

This change also frees pixel buffers on image close. This makes the
cache work much better in long-running programs, and can substantially
reduce memory use.

See https://github.com/jcupitt/libvips/issues/466
2016-06-06 13:50:25 +01:00
John Cupitt 55e5732d85 Merge branch 'master' into free-non-worker-buffers 2016-06-06 11:13:24 +01:00
John Cupitt 37131e5834 not working tests 2016-06-06 11:03:31 +01:00
John Cupitt 43e6e5361b only run travis on master and stable
don't run travis for pushes to branches other than master and stable ...
without this, we can't push non-passing changes to any branch without
breaking our travis badge
2016-06-06 07:10:26 +01:00
John Cupitt 3c696d9a18 notes about sharp needs 2016-06-06 06:39:34 +01:00
John Cupitt 15878bffca Revert "free main-thread pixel buffers"
This reverts commit 2a77301033.
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 cf56b43ebf notes 2016-06-05 16:34:10 +01:00
John Cupitt 05ef6a5af8 Merge pull request #438 from felixbuenemann/run-python-tests-on-travis
Run python tests on travis and setup build matrix
2016-06-04 11:42:39 +01:00