Commit Graph

6439 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen
2499b38403 Update C++ binding and function list
The generators use the new Introspect class of pyvips.
2019-11-29 14:51:03 +01:00
John Cupitt
d88ce970b7 make operation cache invalidation advisory
This patch makes operation cache invalidate advisory rather than
immediate. Operations set a mark on cache entries meaning "this entry is
no longer valid", then the entry is removed next time the operation
is looked up.

This breaks the loop (now the cache can remove operations, but operations
can't remove cache entries), so it should be safer (I think). Everything
is inside a mutex, at least.

see https://github.com/libvips/libvips/issues/1484
2019-11-28 17:41:35 +00:00
John Cupitt
5c7a649001 fix test suite for metadata changes
added a few more .copy() calls
2019-11-28 15:59:09 +00:00
John Cupitt
acd9101037 always copy before exif_update
During write, we often call vips__exif_update(). This updates the exif
block from the other image metadata prior to save.

Always copy the image before calling this.

See https://github.com/lovell/sharp/issues/1986
2019-11-28 14:45:02 +00:00
John Cupitt
20cee5d041 block metadata changes on shared images
If images are shared (ref count > 1), block changes to the set of
metadata items on the image. These can cause crashes in highly threaded
programs.

See https://github.com/lovell/sharp/issues/1986
2019-11-28 09:59:30 +00:00
John Cupitt
1a2a4a41f1 remove dbg code now travis is fixed 2019-11-27 22:20:33 +00:00
John Cupitt
5d25e2d850 more travis tweaks 2019-11-27 20:27:40 +00:00
John Cupitt
9f6ea7b799 more dbg code to help travis 2019-11-27 20:09:04 +00:00
John Cupitt
b08bfede5f try fixing the stream test on travis 2019-11-27 17:30:13 +00:00
John Cupitt
b003b36d7a Merge branch '8.8' 2019-11-27 15:30:33 +00:00
John Cupitt
0bc49a485e remove use of realpath
It won't work on linux systems with grsec.
2019-11-27 15:14:42 +00:00
John Cupitt
002b2a28e1 fix test suite
for the new jpg sample image
2019-11-27 11:48:50 +00:00
John Cupitt
48f675db45 update jpg name in variables.sh.in as well 2019-11-27 08:58:30 +00:00
John Cupitt
49a8f0779d Merge branch '8.8' 2019-11-26 09:15:39 +00:00
John Cupitt
ec41c42a3a revise test_cli for new sample jpg 2019-11-26 09:14:40 +00:00
John Cupitt
d00573b26a remove utf-8 filename example
too tricky to make it work on both py27 and py37
2019-11-26 09:07:10 +00:00
John Cupitt
14859f9862 polish comments 2019-11-25 20:50:27 +00:00
John Cupitt
2eebcb0c07 update tests for streami renames 2019-11-25 18:39:50 +00:00
John Cupitt
aa783514cf update TOC for docs
and update translation files
2019-11-25 17:48:44 +00:00
John Cupitt
298002c530 fix build with imagemagick 6.7.8.9
Ships with centos7, so an important version to support.

See https://github.com/libvips/libvips/issues/1479
2019-11-25 15:44:28 +00:00
John Cupitt
99f535c57a add streams.c test
tests VipsStream*u, at a basic level at least.
2019-11-24 18:22:43 +00:00
John Cupitt
3d770f8ec9 add a little more debugging 2019-11-24 06:46:08 +00:00
John Cupitt
562da3e5ab rename new_from_filename as new_from_file
So VipsStreami matches VipsImage. Same for new_to_filename.
2019-11-22 17:13:20 +00:00
John Cupitt
c91cfc4050 Merge branch 'add-stream-object' of github.com:libvips/libvips into add-stream-object 2019-11-22 13:43:32 +00:00
John Cupitt
91b0703921 add VipsStreamou
An output stream subclass you can easily connect to other destinations.
2019-11-21 17:54:10 +00:00
John Cupitt
6423721951 set defaut values for streamiu signals
In case no user signals are attached. Remove some dbg code.
2019-11-21 16:32:36 +00:00
John Cupitt
857aafc8c2 add VipsStreamiu
a streami subclass (u for user?) with actions signals you can connect to
to provide implementations of read and seek
2019-11-21 16:22:43 +00:00
John Cupitt
74ac881938 Merge branch 'master' into add-stream-object 2019-11-20 16:56:19 +00:00
John Cupitt
b686110496 tiny formatting fix 2019-11-20 15:53:04 +00:00
John Cupitt
933f8150f8
Merge pull request #1459 from lovell/svgload-scale-rounding
Ensure SVG dimensions are rounded correctly when scaling or setting density via cairo
2019-11-20 15:49:53 +00:00
John Cupitt
486b95eb7b
Merge branch 'master' into add-stream-object 2019-11-19 17:08:03 +00:00
John Cupitt
9a193f6f4c test for gio
It seems glib added gio in 2.15, though I don't know if svgload will
actually work with a glib that old.
2019-11-19 17:05:12 +00:00
John Cupitt
73985463fd more dbuf->streamo conversion 2019-11-19 13:20:05 +00:00
Angel Sánchez
dd79cfd89d use Type/Interpretation for using the format when saving 2019-11-19 11:26:34 +01:00
John Cupitt
1e4edf2f06 formatting in dzsave.c 2019-11-19 08:54:23 +00:00
John Cupitt
a129cef9dd add streamo_steal
and start converting some old dbuf code
2019-11-19 06:47:24 +00:00
John Cupitt
712157cd16 better support for TIFFs with many alphas
The premultiplied alpha can be in any position, and it checks if there
is more than one ASSOCALPHA.

See https://github.com/libvips/libvips/issues/1471
2019-11-18 16:48:34 +00:00
John Cupitt
c7f622d646 try simplifying vips_g_input_stream_skip()
Just does a `SEEK_CUR` now.
2019-11-18 15:28:14 +00:00
John Cupitt
73dd7eebe5 move streamiw inside svgload
since that's the only place it is used
2019-11-18 15:07:37 +00:00
John Cupitt
09325600ee rename VipsStreamib as VipsBufis
The VipsStreamib (stream input buffered) was misleading -- it was
implemented on top of VipsStreami, but was not a subclass.

Rename as VipsBufis (buffered input stream). It's a silly name, but
easy to remember and reflects the purpose better,
2019-11-18 13:09:04 +00:00
John Cupitt
6b5035c160 update changelog 2019-11-15 17:30:31 +00:00
John Cupitt
9a3842919a add mmap ppm input 2019-11-15 15:56:28 +00:00
John Cupitt
5f4b995551 make ppm load sequential
it used to load the entire image, or mmap it
2019-11-15 15:15:25 +00:00
John Cupitt
17b994419b move ppm save into the class
no separate save function now
2019-11-15 10:23:45 +00:00
John Cupitt
7a047f5332 move ppm into ppmload
so we can add a ppm stream loader easily
2019-11-14 18:44:27 +00:00
John Cupitt
c1a027c8d7 ppm load uses streams 2019-11-14 12:57:39 +00:00
John Cupitt
3bbadc0198 revise streamo, ppm save uses it
streamo is simpler, and has a fast putc.
2019-11-13 17:50:02 +00:00
John Cupitt
7aec350f1c old load/save funcs now use stream API
new_from_file / new_from_buffer and write_to_file / write_to_buffer
use the stream API if they can.
2019-11-13 16:39:47 +00:00
Angel Sánchez
fa0514a4d4 enable separated/multiband load and save for tiff format 2019-11-13 16:16:22 +01:00
Angel Sánchez
da8ae29abe fix build for VS2019 2019-11-13 12:37:22 +01:00