John Cupitt
044f8b74f6
Merge branch 'master' into add-tiff-webp-zstd
2019-07-11 13:50:47 +01:00
John Cupitt
c3e7504835
Merge branch '8.8'
2019-07-10 17:44:39 +01:00
John Cupitt
5e2d66d14b
better early shutdown behaviour in shrinkv
...
read the tail of the input to force early shutdown in seq readers
does reducev need something similar?
see https://github.com/kleisauke/net-vips/issues/12
2019-07-09 16:58:30 +01:00
John Cupitt
52ee3b083f
add webp and zstd support to tiffsave
...
needs some tests still
2019-07-08 10:39:44 +01:00
John Cupitt
c7f98ad0a5
Merge branch '8.8'
2019-07-07 13:12:51 +01:00
John Cupitt
e4cff876a8
fix make dist
...
we'd renamed a file
2019-07-07 11:20:28 +01:00
John Cupitt
f45f0ecef4
limit resize if shrink would drop axis <1px
...
vips_resize() will break the aspect ratio and limit resize on an axis if
it would result in an image of less than 1px on that axis
see https://github.com/lovell/sharp/issues/1782#issuecomment-508921306
2019-07-07 10:19:33 +01:00
John Cupitt
3871369d3e
Merge branch 'master' into deftomat-master
2019-07-06 14:50:40 +01:00
John Cupitt
777c360774
safer gifload delay array init
...
- remove assumptions about n_pages
- minor reformatting
2019-07-06 11:34:20 +01:00
John Cupitt
80f247cfb2
Merge branch '8.8'
2019-07-03 15:33:43 +01:00
John Cupitt
8cb2b613b7
note new heifsave param in changelog
...
plus tiny reformatting
2019-07-03 15:04:58 +01:00
John Cupitt
26100041e7
fewer warnings on tiffload
...
We were setting TIFFTAG_JPEGCOLORMODE == JPEGCOLORMODE_RGB for *all*
images, but libtiff warns if you use it on an image which is not
jpg-compressed.
Only set it for jpg-compressed images.
See https://github.com/libvips/libvips/issues/1329
2019-07-02 12:23:53 +01:00
John Cupitt
e596fe5cd3
Merge branch 'master' into add-unlimited-to-svgload
2019-07-01 12:04:54 +01:00
John Cupitt
55e49831b8
add "unlimited" to svgload
...
By default librsvg blocks SVGs > 10MB for security. This patch adds an
"unlimited" flag to remove this check.
We have to switch to using gio to get the librsvg API for this This
needs testing on the platforms we support.
We'll also need to bump the min version of librsvg we require in
configure.ac.
See https://github.com/libvips/libvips/issues/1354
2019-06-28 13:48:18 +01:00
John Cupitt
8a354c5aec
improve webp rgba handling
...
disable webp alpha output if all frame fill the canvas and are solid
see https://github.com/libvips/libvips/issues/1351
2019-06-27 18:44:38 +01:00
John Cupitt
72c103f95a
Revert "remove no-alpha webp support"
...
This reverts commit d1094847a3
.
2019-06-27 17:27:53 +01:00
John Cupitt
80648c2d2f
text autofit could sometimes underfit
...
The autofit loop would terminate if either width or height fitted exactly,
but this could happen very early by chance. This patch makes it keep
looping until it finds a dpi which just fits.
See https://github.com/libvips/libvips/issues/1352
2019-06-27 17:19:53 +01:00
John Cupitt
d1094847a3
remove no-alpha webp support
...
We used to try to spot webp images with no alpha and load them as plain
RGB, but it turns out this is difficult to do reliably, especially
for animated images.
This patch simply removes support, so all webp images now load as RGBA.
See https://github.com/libvips/libvips/issues/1351
2019-06-27 16:37:11 +01:00
John Cupitt
2aef873fcd
add vips_image_get/set_array_int()
2019-06-20 11:32:47 +01:00
John Cupitt
8a98bea063
fix vipsthumbnail for pyr tiff files
...
thumbnail was not testing pyramidal tiff images for pyramidness correctly.
see https://github.com/libvips/libvips/issues/1297
2019-06-19 17:56:09 +01:00
John Cupitt
75e69cc1e5
disable Orc if CET is on
...
If we are building with -fcf-protection (run-time checking of
indirect jumps) then Orc won't work. Make sure it's off.
Orc may support -fcf-protection in the future, but does not in June 2019.
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection
https://gitlab.freedesktop.org/gstreamer/orc/issues/17
see https://github.com/libvips/libvips/issues/1006#issuecomment-501802550
2019-06-14 14:22:00 +01:00
John Cupitt
37a3a6322c
remove 256 band limit from arithmetic.c
...
there was a fixed-size array in vips__bandup()
see https://github.com/libvips/libvips/issues/1335
2019-06-12 09:22:30 +01:00
John Cupitt
ad98222073
better behaviour for vips_region_fetch()
...
we weren't clipping the fetch area against region valid, so in some
cases we could return many more pixels than expected
see https://github.com/libvips/pyvips/issues/103
2019-06-09 20:38:13 +01:00
John Cupitt
bb75535151
much faster ismagick
...
We used to Ping files to see if IM would load them, but this can be
extremely slow for file formats like ARW.
Instead, use GetImageMagick() ... it just checks the magic number.
2019-06-08 16:47:40 +01:00
John Cupitt
eb6c803481
istiff tests first dir rather than magic number
...
We were testing for TIFF by checking the magic number at the head of the
file. However, formats like ARW are TIFF-like without being TIFF, and
will not load with tiffload.
Instead, try reading the whole of the first directory. This is enough to
stop tiffload trying to load files where it will simply fail
immediately, and make libvips fall back to eg. imagemagick.
see https://github.com/libvips/libvips/issues/1304
2019-06-07 17:52:13 +01:00
John Cupitt
dc16f1253a
fix a memleak in tiff pyr to memory
...
we were not freeing layers other than the top layer
2019-06-06 10:20:14 +01:00
John Cupitt
5657099223
fix composite for some combinations of blend modes
...
composite could get mixed up blend modes if:
- many images being composited
- some small and positioned with x/y
- at least one unskippable blend mode
phew!
2019-06-04 15:24:54 +01:00
John Cupitt
bd8a6980f5
more consistent behaviour for multi-page load
...
Some loaders were setting page-height even when the user was loading a
single page triggering unexpected multi-page behaviour from later
savers.
New rule: only set page-height when loading more than one page.
See https://github.com/libvips/libvips/issues/1318
2019-05-29 10:10:28 +01:00
John Cupitt
02bdb8b96c
better error message for "unsupported colorspace"
...
we just printed the enum number before
2019-05-24 17:42:10 +01:00
John Cupitt
5855321638
improve realpath() compat on older libc
...
older libc didn't allow a NULL for the second param
2019-05-24 15:24:18 +01:00
John Cupitt
394f9baa5e
deprecate webpload @shrink, use @scale instead
...
We need a fractional scale for thumbnail on webp to work well. @shrink
still works, but @scale overrides it.
2019-04-30 18:29:16 +01:00
John Cupitt
3245dd301b
Merge branch 'master' into szi-associated
2019-04-25 17:25:32 +01:00
John Cupitt
0102a10b49
seems to work
2019-04-24 17:04:31 +01:00
John Cupitt
27aae32ff6
oops
2019-04-22 11:34:45 +01:00
John Cupitt
c98da89ac9
Merge branch '8.7'
2019-04-19 12:47:35 +01:00
John Cupitt
bae484ba2c
remove old c++ and py interfaces
...
Instead, use the new(er) vips8 C++ interface, and the new(er) python
interface in pypi.
https://pypi.org/project/pyvips
2019-04-12 16:27:28 +01:00
John Cupitt
080ab87d37
Merge branch 'master' into HEAD
2019-04-11 16:18:39 +01:00
John Cupitt
91d0e7e3d0
move kill mechanism to public API
...
the vips_image_set_kill() system was internal. Move it to the public
API.
See eg.:
https://github.com/kleisauke/net-vips/issues/31
2019-04-06 16:53:42 +01:00
John Cupitt
1f100c0c42
better buffer sizing in tiff reader
...
We were not setting JPEGCOLORMODE_RGB early enough, so buffers could be
undersized in some circumstances.
Thanks omira-sch.
2019-03-31 12:55:30 +01:00
John Cupitt
da15285bf9
add support for justified text
...
And set xoffset/yoffset to the top line of text output.
https://github.com/libvips/libvips/issues/1258
2019-03-16 11:53:09 +00:00
John Cupitt
a663a1bb1c
add vips_region_fetch() etc.
...
to help ML applications ... they let us generate lots of small rectangular
areas of images very quickly
2019-03-12 16:00:24 +00:00
John Cupitt
a05a2cb52d
mild refactoring of threadpool
...
clean up and simplify after https://github.com/libvips/libvips/pull/1240
2019-02-27 14:23:43 +00:00
John Cupitt
793cbeeaa7
add note abut region_shrink to changes
...
somehow got dropped
2019-02-24 20:13:18 +00:00
John Cupitt
27195cc92c
add vips_foreign_get_suffixes()
...
Add vips_foreign_get_suffixes(), get an array of all the filename suffixes that
libvips recognises.
See https://github.com/libvips/ruby-vips/issues/186
2019-02-23 13:50:10 +00:00
John Cupitt
1a83605238
Merge branch 'add-heifload'
2019-02-17 17:11:14 +00:00
John Cupitt
044abe7986
fix some tilecache issues too
2019-02-16 15:32:45 +00:00
John Cupitt
bfa1f22520
works!
...
tuned a bit too
2019-02-14 15:22:51 +00:00
John Cupitt
931b661d2b
fix up and test with im6/im7/gm
...
seems to work! phew
2019-02-07 18:35:51 +00:00
John Cupitt
8d5af9fe8a
add xmp/ipct/icc etc. to magickload
...
ImageMagick supports binary metadata with `ResetImageProfileIterator()`
etc.
Implementing support gives us xmp / ipct / icc support, plus perhaps
some others.
2019-02-04 17:54:57 +00:00
John Cupitt
f23d0fd754
note new option_string param in changelog
2019-02-03 12:27:58 +00:00
John Cupitt
308c85c004
add support for stored heif thumbnails
2019-01-30 16:19:11 +00:00
John Cupitt
cae7838f86
heifsave seems to work
2019-01-29 16:40:34 +00:00
John Cupitt
33fd2a48f0
basic load works
...
no metadata, no options
2019-01-20 11:33:12 +00:00
John Cupitt
849d24472e
revise changelog
...
had Klies' magickload fix in there twice
2019-01-18 12:52:04 +00:00
John Cupitt
dcba364efa
Merge branch 'zero-mem-on-malloc'
2019-01-18 11:31:11 +00:00
John Cupitt
00622428bd
zero memory on malloc
...
to prevent write of uninit memory under some error conditions
thanks Balint
2019-01-18 10:10:43 +00:00
John Cupitt
00982f6297
add changelog notes
...
and small formatting issues
2019-01-15 09:36:31 +00:00
John Cupitt
bcc76c6edb
Merge branch 'master' into tiff-pyr-stop-at-1-pixel
2019-01-12 15:48:17 +00:00
John Cupitt
f768029298
make the savers use profile_load
...
tiff, jpeg and png save all use profile_load to attach profiles
2019-01-11 06:30:06 +00:00
John Cupitt
28999aa5b6
add vips_profile_load()
...
and use it in icc_transform
2019-01-10 22:48:21 +00:00
John Cupitt
960324b08a
Merge branch 'master' into add-icc-fallbacks
2019-01-10 15:48:37 +00:00
John Cupitt
5bc342b9b2
revise changelog in magickload fix
2019-01-08 09:05:39 +00:00
John Cupitt
a293da4b5a
Merge branch '8.7'
2019-01-04 10:36:59 +00:00
John Cupitt
63c6c7ae30
fix small magicksave error
...
copy-paste fail meant that IM exceptions were not inherited correctly
see 1619c8b1a1 (commitcomment-31838043)
2019-01-04 10:34:30 +00:00
John Cupitt
87062c4a4f
Merge branch '8.7'
2019-01-04 09:19:04 +00:00
John Cupitt
1619c8b1a1
fix memleak in magick6load
...
IM ExceptionInfo were not being freed correctly. This patch
adds a small wrapper function and uses it to allocate and free all IM
exception objects.
Tested with im 6.9 and gm 1.3.
See:
https://github.com/libvips/lua-vips/issues/24
https://github.com/libvips/libvips/issues/1203
2019-01-04 08:38:58 +00:00
John Cupitt
b8a158b69b
seems to work
...
added some more consts as well
2019-01-03 13:34:13 +00:00
John Cupitt
020ff88f6a
Merge branch 'master' into dzsave-skip-blanks
2019-01-02 11:00:42 +00:00
John Cupitt
f611845698
Merge branch 'master' into add-CMYK2XYZ
2018-12-31 14:02:51 +00:00
John Cupitt
6c72ca45b7
Merge branch '8.7'
2018-12-29 22:56:58 +00:00
John Cupitt
9d66420ad5
round to nearest in log scale
...
we were doing round to nearest in linear mode, but not log
see https://github.com/libvips/build-win64-mxe/issues/3
2018-12-29 20:19:38 +00:00
John Cupitt
c5d0ca8300
add cmyk2xyz and back
...
seems to work, still to do:
- tests
- try:
```
$ vipsthumbnail NordicsLIQUOR-SFBag_300_cmyk.JPG
(vipsthumbnail:7868): VIPS-WARNING **: 16:53:17.166: profile incompatible with image
```
see https://github.com/libvips/libvips/issues/1186
2018-12-27 17:35:35 +00:00
John Cupitt
d35343f817
stop making tiff pyr if axis drops to 1
...
TIFF pyramids of images with a very extreme aspect raio could see layer
width or height drop to 0 before the image fitted in a single tile. This
change stops pyramid creation when width or height drop to 1.
See https://github.com/libvips/libvips/issues/1188
2018-12-21 14:47:28 +00:00
John Cupitt
51dbf607dd
add skip-blanks option to dzsave
...
Skip-blanks was a feature of google layout. This patch makes it into an
option you can control which defaults on in gm mode.
See https://github.com/libvips/libvips/issues/1185
2018-12-19 14:52:33 +00:00
John Cupitt
1ee5b13205
Merge branch '8.7'
2018-12-17 13:21:28 +00:00
John Cupitt
582b224125
oops revert version bump
2018-12-17 13:20:14 +00:00
John Cupitt
962cab2d0f
Merge branch '8.7'
2018-12-17 13:18:58 +00:00
John Cupitt
db4fe60405
fix mapim offsets
...
pixels were not being offset by the stencil origin, so interpolators
like bicubic could fail
thanks @erdmann
https://github.com/libvips/libvips/issues/1180
2018-12-17 12:42:34 +00:00
John Cupitt
6bc564a1e1
turn on smalltile
...
2D locality helps a lot with many subimages
2018-12-07 16:43:44 +00:00
John Cupitt
58776970ec
Merge branch 'master' into revise-composite
2018-12-07 14:31:56 +00:00
John Cupitt
0dccfc87b6
Merge branch '8.7'
2018-12-07 14:30:00 +00:00
John Cupitt
da31d0f31a
fix autofit loop on non-scaleable fonts
...
see https://github.com/libvips/libvips/issues/1178
2018-12-07 12:57:44 +00:00
John Cupitt
7b19ad8dc1
composite subimage positioning almost done
...
--x fails though? odd
vips composite2 Gugg_coloured.jpg PNG_transparency.png x.jpg over --x 600 --y 100
--x causes the dice to clip, but not translate
2018-12-06 18:28:55 +00:00
John Cupitt
d550016610
Merge branch 'master' into revise-composite
2018-12-06 16:05:25 +00:00
John Cupitt
5fa4ae08da
Merge branch '8.7'
2018-12-05 17:37:25 +00:00
John Cupitt
ac4897abee
Fix up vips_text()
...
Fixes two issues:
1. vips_text() in autofit mode could set the wrong DPI, since it set the
DPI in its own copy of the variable, but did not do a final update on
the DPI setting that FT uses for rendering.
2. vips_text() in autofit mode allocated a new context each time, rather
than reusing the context for that call. This caused a small memory leak.
See https://github.com/libvips/libvips/issues/1174
2018-12-05 14:24:26 +00:00
John Cupitt
2c26c23163
composite in scanlines, not pixels
...
try compositing a scanline at a time, should improve cache locality for
deep image stacks
seems to work, needs benchmarking
2018-11-27 18:27:38 +00:00
John Cupitt
0669cf2a23
Merge branch 'master' into add-webp-animated
2018-11-23 17:41:09 +00:00
John Cupitt
cff4af34ca
add vips_image_set_blob_copy()
...
and use it where we can
2018-11-23 16:27:39 +00:00
John Cupitt
d4815e8b7e
more info output for tmpfile open
...
to help diagnose problems
2018-11-21 14:26:52 +00:00
John Cupitt
6b9d89b103
add pyr tiff shrink-on-load for thumbnail
2018-11-16 18:00:25 +00:00
John Cupitt
26d0e312c6
add bandand/or/eor to the cpp binding
...
oops, they had been dropped
thanks clcaalu
see https://github.com/libvips/libvips/issues/1165
2018-11-16 13:10:22 +00:00
John Cupitt
07d58f81b3
fix cast on uint images
...
we could get sign and overflow mixed up for casts on uint images
see https://github.com/libvips/nip2/issues/74
2018-11-14 17:07:49 +00:00
John Cupitt
3e070cbcdf
Merge branch 'master' into add-webp-animated
2018-11-05 16:26:45 +00:00
John Cupitt
17c9856e38
add n/page support for webp read
2018-11-05 16:21:21 +00:00
John Cupitt
d6c7d86e12
Merge branch '8.7'
2018-11-05 10:41:46 +00:00
John Cupitt
0bea76d364
fix temp file open
...
was not auto-deleteing on windows, needs a fallback on linux
see https://github.com/libvips/libvips/pull/1155
2018-11-05 10:40:51 +00:00
John Cupitt
7c6f417e68
fix some typos ... it works!
...
need to add support for delay and loop still
2018-10-31 16:52:09 +00:00
John Cupitt
22ba9106b5
implement shrink-on-load for openslide thumbs
...
makes vipsthumbnail much quicker on openslide images, obviously
see https://github.com/libvips/libvips/issues/1149
2018-10-31 14:07:13 +00:00
John Cupitt
0b050f4046
deprecate thumbnail auto_rotate, add no_rotate
...
the auto_rotate option of thumbnail was default TRUE which made it
useless from the CLI, since GOption only allows --switch, not
--switch=false
deprecate auto_rotate, add no_rotate, but allow either to be used
see https://github.com/libvips/libvips/issues/1146
2018-10-31 12:30:37 +00:00
John Cupitt
6be70e6799
add xmp load/save for png
...
plus a test
2018-10-06 11:54:27 +01:00
John Cupitt
703498aa81
Merge branch '8.7'
2018-10-01 21:23:48 +01:00
John Cupitt
0fea113bbf
fix build on older glibs
...
we were using g_str_to_ascii(), but it was only added in glib 2.40
see https://github.com/libvips/libvips/issues/1117
2018-10-01 20:15:34 +01:00
John Cupitt
9ac5a449f2
add low/high to smartcrop
...
smartcrop attention had a centre setting, but not low or high
see https://github.com/libvips/libvips/issues/1089
2018-09-22 14:47:40 +01:00
John Cupitt
b552dd0503
version bump to get ready for the vips 8.8 cycle
2018-09-21 15:10:39 +01:00
John Cupitt
f3de6a9521
update function list in docs
...
thanks janko-m
see https://github.com/jcupitt/libvips/issues/1097
2018-09-20 08:26:51 +01:00
Kleis Auke Wolthuizen
b5b756b817
Add vips_object_get_args
...
Handy for language bindings.
2018-08-19 22:42:26 +02:00
John Cupitt
f4250ab7ab
scale openexr alpha up
...
scale alpha up to 0 - 255 to match the rest of libvips
2018-08-19 10:53:54 +01:00
John Cupitt
643e7c0ea2
mapim fix for strange float values
...
mapim could fail for float index images outside the int range
minor speedup too
2018-08-12 17:10:23 +01:00
John Cupitt
0b3565c04d
update radiance load from upstream
...
thanks Greg Ward
2018-08-03 18:31:31 +01:00
John Cupitt
e89dac20bb
add sniffing framework to magickload
...
though it only spots ICO for now
see https://github.com/jcupitt/pyvips/issues/39
2018-07-24 17:38:36 +01:00
John Cupitt
72f589764a
remove the @format param to magickload
2018-07-24 17:03:38 +01:00
John Cupitt
2d94fe732a
escape ASCII control chars in xml
...
stops some XML parse errors on corrupt metadata
see https://github.com/jcupitt/libvips/issues/1039
2018-07-23 14:55:37 +01:00
John Cupitt
3d5b0b814f
merge in test suite
2018-07-20 13:58:27 +01:00
John Cupitt
3201b4373d
Merge branch 'master' into add-nifti-support
2018-07-20 13:57:51 +01:00
John Cupitt
d03416d386
works!
...
just needs some tests
could be faster too
2018-07-19 17:45:54 +01:00
John Cupitt
d06c2fee22
use exif_tag_get_name_in_ifd() everywhere
...
exif tag names change with the ids they appear in, so you must always
use exif_tag_get_name_in_ifd(), not exif_tag_get_name()
see: https://github.com/jcupitt/libvips/pull/1030
2018-07-09 09:35:39 +01:00
John Cupitt
d510807e90
vmoe the test suite back into libvips
2018-07-06 15:43:20 +01:00
John Cupitt
3a9adbcea9
seems to work
...
could probably add some more fields
2018-07-03 16:36:39 +01:00
John Cupitt
35b4a1a3b5
fix mem leak in pngsave
...
and some reformatting and changelog notes
2018-06-20 14:20:22 +01:00
John Cupitt
a373d2c876
add changelog notes for region_shrink
2018-06-13 17:36:36 +01:00
John Cupitt
539cc0616c
Merge branch '8.6'
2018-06-13 16:24:20 +01:00
John Cupitt
e6edcfe20d
improve accuracy of vector path
2018-06-13 16:23:21 +01:00
John Cupitt
3b1e3e1841
add Mitchell kernel
...
see https://github.com/jcupitt/libvips/issues/966
2018-06-12 12:55:10 +01:00
John Cupitt
cc29a13cc7
revise composite position code slightly
...
- move x/y into composite and out of composite base, have separate x/y int
params for composite2
- upsize later for a small speed improvement
- doc comment
- note in changelog
see https://github.com/jcupitt/libvips/pull/934
2018-06-11 17:04:29 +01:00
John Cupitt
0e3cac1a72
make cpp overloads const
...
all overloads are declared const now, where possible
also revised cpp examples and ran them to check
see https://github.com/jcupitt/libvips/issues/983
2018-06-11 15:24:11 +01:00
John Cupitt
ca6410e1a6
make members and getters "const" in cpp api
...
eg. VImage::width() is now
int VImage::width() const;
ie. it does not alter the image objects. In factr we can mark almost all
members const.
see https://github.com/jcupitt/libvips/issues/983
2018-06-11 14:30:17 +01:00
John Cupitt
87b3f17846
vips7 API defaults off
2018-06-11 12:44:28 +01:00
John Cupitt
fb64d3607a
add @background option to pdfload
...
Add a "background" option to pdfload to help support PDFs with a
transparent background. For example:
vips copy transparent.pdf[background=0] x.png
see https://github.com/jcupitt/libvips/issues/995
2018-06-08 10:28:00 +01:00
John Cupitt
5ec605c98c
Merge branch '8.6'
2018-06-01 23:05:16 +01:00
John Cupitt
a3394dc756
fix webp metadata save with webpmux
...
see https://github.com/jcupitt/libvips/pull/989
2018-06-01 23:01:33 +01:00
John Cupitt
e9aaedc60a
fix some compiler warnings
...
from the msvc patch
2018-06-01 19:44:43 +01:00
John Cupitt
86a1a0a7e2
Merge branch '8.6'
2018-05-29 19:30:46 +01:00
John Cupitt
7e95ae514d
don't use ping in magickload
...
too unreliable, sadly
2018-05-29 19:29:11 +01:00
John Cupitt
0486218ff5
don't use Ping in magickload
...
it's too unreliable :-( we are forced to read every time
2018-05-29 17:20:46 +01:00
John Cupitt
d251b37d92
add vips_argument_get_id()
...
We had a global we incremented to allocate property ids, but of course that
won't work with DLLs. Instead, add vips_argument_get_id() and call that to
allocate new prop ids.
See:
https://github.com/jcupitt/libvips/issues/985
2018-05-29 16:49:20 +01:00
John Cupitt
4058312aee
fix a TGA ping crash
...
see https://github.com/jcupitt/libvips/issues/980
2018-05-25 16:40:50 +01:00
John Cupitt
73a55e0322
update ChangeLog
2018-05-25 16:06:05 +01:00
John Cupitt
b085908558
remove vips7 stuff from API
...
You must now include vips7 support explicitly with
#include <vips/vips7compat.h>
in your code just after including `vips.h`.
The old vips7 names, such as `Rect`, were starting to cause problems
with other packages like opencv.
2018-05-16 15:08:21 +01:00
John Cupitt
fd7b04fb9d
Merge branch '8.6'
2018-05-14 18:10:13 +01:00
John Cupitt
5b132ccbdc
note new config test in changelog
2018-05-14 17:19:06 +01:00
John Cupitt
e496df598b
working!
2018-05-01 15:50:48 +01:00
John Cupitt
4d683559aa
add a fontfile option to text
...
use @fontfile to give a font to load ... note that this just loads the
font, you'll need to set it with @font as well
see https://github.com/jcupitt/libvips/issues/950
2018-04-26 21:03:40 +01:00
John Cupitt
da6f4fd043
add n-pages metadata item
...
tiff, magick and pdf load now attach an n-pages metadata item recording
the number of pages in the orginal file
see https://github.com/jcupitt/libvips/issues/953
2018-04-26 08:55:31 +01:00
John Cupitt
4f22e8d1dc
add jpeg-chroma-subsample to jpegload
...
The jpeg loader now sets the field jpeg-chroma-subsample to record
chroma subsample.
See https://github.com/jcupitt/libvips/issues/954
2018-04-25 16:04:20 +01:00
John Cupitt
c410dc2db8
add format option to magickload
...
Some magick coders (eg. ICO) don't sniff the filetype from the data, so
when you try to load from a string, imagemagick is unable to pick the
right decode path.
Add a @format option so callers can hint the filetype.
see https://github.com/jcupitt/pyvips/issues/39
2018-04-24 15:06:52 +01:00
John Cupitt
c0569d25bf
final fixups
...
- add buffer load
- test under valgrind
- code sharing with the poppler pdf loader
2018-04-11 18:53:38 +01:00
John Cupitt
5b55dd8ed4
Merge branch '8.6'
2018-04-11 09:38:59 +01:00
John Cupitt
d1dd41a21f
strict round down on jpeg shrink
...
libjpeg rounds up on shrink-on-load. In some cases this can leave a dark
line along the right and bottom edge, since it only contains (for
example) 1/4 of a pixel of data.
This change adds a crop after jpeg load so that only complete pixels are
output.
See https://github.com/lovell/sharp/issues/1185
2018-04-10 15:18:18 +01:00
John Cupitt
15abbbe986
set "interlaced" for jpg and png
...
set "interlaced" for interlaced png and jpg images
2018-04-09 17:14:38 +01:00
John Cupitt
06802e4110
use O_TMPFILE, if available
...
If O_TNMPFILE is available, use it. This is a linux extension that
creates an unlinked file, so it'll be closed by the system when the last
associated fd is closed.
see https://github.com/jcupitt/libvips/pull/930
2018-04-09 13:27:57 +01:00
John Cupitt
f3842dcc4b
update cpp example
...
thanks fangqiao
see https://github.com/jcupitt/libvips/issues/932
2018-04-08 11:44:15 +01:00
John Cupitt
5f3bcd88ae
Merge branch '8.6'
2018-04-04 17:11:16 +01:00
John Cupitt
632bce3c78
reduce stack use for radsave
...
fixes a crash on very low stack libcs like musl
2018-04-04 16:25:35 +01:00
John Cupitt
aebb8af803
create funcs always make MULTIBAND
...
Before, they could make B_W for one-band output. This caused problems
with (for example) two black image bandjoined: the second band then
looked like an alpha to hasalpha() and enabled premultiply/unpremultiply
for operations like affine.
Now, it's always MULTIBAND. This is the generic multiband image type, so
you don't get any unexpected alpha handling.
2018-04-04 09:22:57 +01:00
John Cupitt
0dd6b095aa
more conservative hasalpha
...
The result of hasalpha is used to turn on things like
premultiplication, so we should be rather conservative
about when we signal this. We don't want to premultiply
things that should not be premultiplied.
Check Type as well as bands.
See: https://github.com/jcupitt/libvips/issues/918
2018-04-03 14:36:43 +01:00
John Cupitt
e686614f2c
drop incompatible profiles from save
...
libpng has started throwing hard errors if the profile does not match
the image -- this can happen all the time with perofiles inherited from
images that have been processed.
Test profiles before save and drop them (with a warning) if they are
incompatible with the image.
2018-04-01 10:32:48 +01:00
John Cupitt
5176b4a17e
better header sniffing for small files
...
vips__get_bytes() used to fail if the file was too small for the
allocated buffer, which was a problem for svg, since files can be extremely
small.
This change makes vips__get_bytes() return the number of bytes read, so
the is_a testers can work on files smaller than the max header size.
2018-03-22 12:08:39 +00:00
John Cupitt
5a1ab5968b
move svg_ia_a into the base class
...
feels a bit more logical
2018-03-22 10:43:01 +00:00
John Cupitt
754a1e5419
Merge branch 'master' into add-canny
2018-03-14 14:18:39 +00:00
John Cupitt
206f158a77
Merge branch '8.6'
2018-03-12 18:12:56 +00:00
John Cupitt
878c77a035
better handling of some fonts
...
fonts with very large overlapping edges copuld clip in `text`, see
https://stackoverflow.com/a/49169747/894763
2018-03-12 18:11:25 +00:00
John Cupitt
08dcf29b10
add vips_rotate()
...
vips_similarity() was a little hatrd to discover, so add vips_rotate()
as a more obvious name for it
2018-03-10 18:45:39 +00:00
John Cupitt
5834779ac6
Merge branch 'master' into add-canny
2018-03-10 15:13:49 +00:00
John Cupitt
0a05dd4304
Merge branch '8.6'
2018-03-09 16:37:10 +00:00
John Cupitt
29e05dabaf
icc_import attaches the input profile if used
...
icc_import can take a fallback input profile in case the embedded one is
broken or missing. If we use the fallback profile, this change attaches
it to the output image.
This means that icc_import will always output an image with the icc
profile that was used to import it. This helps to make the behaviour of
`thumbnail` more consistent.
See https://github.com/jcupitt/libvips/issues/152
2018-03-08 13:11:54 +00:00
John Cupitt
6e0e31a534
Merge branch '8.6' into add-canny
2018-03-05 15:21:30 +00:00
John Cupitt
6fae79b60d
Merge branch '8.6'
2018-03-05 15:09:08 +00:00
John Cupitt
20d840e6da
fix a crash with delayed load
...
If a delayed load failed, it could leave the pipeline only half-set up.
Sebsequent threads could then segv.
Set a load-has-failed flag and test before generate.
See https://github.com/jcupitt/libvips/issues/893
2018-03-05 14:42:09 +00:00
John Cupitt
7f5b0b94c3
Merge branch '8.6' into add-canny
2018-03-04 18:45:59 +00:00
John Cupitt
881a10380e
Merge branch '8.6'
2018-03-04 18:45:51 +00:00
John Cupitt
eefb2dad98
improve rounding in convi intize
...
We were rounding up with ceil() when intize-ing convolution masks.
However, the vector path has a true range of (1.0, -1.0], so a mask with
1.0 as the max (for example) was actually triggering the overflow detector
and falling back to the C path.
Round up with ceil(x + 1) instead, so 1.0 (for example) will be mapped
to 0.5 and won't overflow.
2018-03-04 18:30:25 +00:00
John Cupitt
bca2418d9a
Merge branch 'master' into add-canny
2018-03-04 15:31:19 +00:00
John Cupitt
e7a5a8af4a
Merge branch '8.6'
2018-03-04 15:31:08 +00:00
John Cupitt
6cff74b602
vips_image_write() could crash if called twice
...
two writes in a row could trigger a crash in some circumstances, thanks
@dirceupj
see https://github.com/jcupitt/ruby-vips/issues/156
2018-03-04 15:14:06 +00:00
John Cupitt
4a59fa652c
make vips_sobel()
...
cut out of vips_canny()
2018-02-26 18:33:20 +00:00
John Cupitt
a9b4aeb13a
Merge branch '8.6'
2018-02-21 19:01:43 +00:00
John Cupitt
bbe42e13fa
version bump
2018-02-12 12:39:53 +00:00
John Cupitt
ce1f236c4d
another 2x faster on hough_line
2018-02-02 09:12:31 +00:00
John Cupitt
78db92e60e
better hough_line
...
2x faster, better parameter space, but breaks compat :( sorry
2018-02-01 20:41:14 +00:00
John Cupitt
5a4b4e196d
allow remove thumbnail from exif
...
if the user has removed (or set to NULL) the "jpeg-thumbnail-data" tag,
remove it from the image EXIF on save
see https://github.com/jcupitt/ruby-vips/issues/147
2018-02-01 16:15:02 +00:00
John Cupitt
749f4a902a
Merge branch '8.6'
2018-01-31 20:47:01 +00:00
John Cupitt
e8958cb8ae
improve changelog
2018-01-31 20:45:14 +00:00
John Cupitt
01eed391ab
add sync locks to vips_sink()
...
vips_sink() used to just fire off threads willy nilly -- this could
cause problems with sequential images if a worker fell too far behind
the pack
copy over the area locking mechanism from vips_sink_memory(): new
threads are now stalled if an old thread has not finished
2018-01-31 16:25:06 +00:00
John Cupitt
421f659d33
allow 1 mode in composite
...
reused for all joins
see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 10:12:03 +00:00
John Cupitt
5fd2ecf81d
remove limit on n image in composite
...
composite was limited to a max of 64 images ... remove the limit
see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 09:48:34 +00:00
John Cupitt
4865141afa
szi save will write associated images
...
if they have been attached by openslide load
2018-01-28 16:39:13 +00:00
John Cupitt
28391dbfc7
option to attach associated images as metadata
...
you now see:
```
$ vipsheader -a CMU-1.svs[attach_associated] | grep ass
openslide.associated.label: 387x463 uchar, 4 bands, rgb
openslide.associated.macro: 1280x431 uchar, 4 bands, rgb
openslide.associated.thumbnail: 1024x732 uchar, 4 bands, rgb
slide-associated-images: label, macro, thumbnail
```
2018-01-27 16:43:58 +00:00
John Cupitt
de2e3e3299
add vips_image_(get|set)_image()
...
so images can have other images as metadata
2018-01-27 14:49:33 +00:00
John Cupitt
21e1e68771
write scan-properties.xml to szi
...
see https://github.com/jcupitt/libvips/issues/853
2018-01-26 17:20:58 +00:00
John Cupitt
c46f4b15e0
dzsave to szi sets extension correctly
...
see https://github.com/jcupitt/libvips/issues/852
2018-01-26 15:36:43 +00:00
John Cupitt
97a4ed2ca9
fix a c++ warning
...
see https://github.com/jcupitt/libvips/pull/864
2018-01-26 07:56:43 +00:00
John Cupitt
39406877a2
Merge branch '8.6'
2018-01-12 17:23:24 +00:00
John Cupitt
94daa18884
fix read of plane-separate, large-strip tiff
...
TIFFReadScanline() is too fiddly to use on plane-separate, large-strip
images ... ban it!
see https://github.com/jcupitt/libvips/issues/855
2018-01-12 17:04:47 +00:00
John Cupitt
18f530c724
Merge branch '8.6'
2018-01-12 12:02:41 +00:00
John Cupitt
24c07cfde2
revert an accidental ABI break
...
the new window manager code in 8.6.1 changed the prototype of an internal
function which was visible in the public API
this patch renames the function, adds it to an internal header instead,
and adds a stub for the old prototype
see https://github.com/jcupitt/libvips/issues/854
2018-01-12 11:56:17 +00:00
John Cupitt
925667f8d3
Merge branch '8.6'
2018-01-05 16:29:56 +00:00
John Cupitt
1b89d62eb5
fix a race associated with sink_screen
...
sink_screen was not keeping a ref to its input, so in rare conditions
it could try to make a region on a dead image
2018-01-05 16:27:44 +00:00
John Cupitt
68e0067840
note rgb->g improvement
2018-01-03 08:34:15 +00:00
John Cupitt
4c2434ab67
fix memleak in dzsave
...
tree elements were not being freed, thanks lovell
see https://github.com/jcupitt/libvips/issues/837
2018-01-01 11:40:04 +00:00