Commit Graph

393 Commits

Author SHA1 Message Date
John Cupitt
95406c7888
Merge pull request #1682 from libvips/libspng-experiment
Load PNGs with libspng
2020-06-12 19:11:42 +01:00
John Cupitt
8c19e07ae3 add --vips-config flag
so "vips --vips-config" now displays:

```
$ vips --vips-config
native win32: no, native OS X: no, open files in binary mode: no, ...
```
2020-06-12 17:30:57 +01:00
John Cupitt
d5fcb6baaf
Merge branch 'master' into libspng-experiment 2020-06-12 12:42:11 +01:00
John Cupitt
49df5f54c1 Randy's loader patch compiles 2020-06-11 12:17:58 +01:00
John Cupitt
1e015654c3 deprecate heifload autorotate
heifload autorotate is now always on, and we always delete EXIF
orientation tags. If a HEIC image fails to rotate upright, at least it's
someone else's fault.

see https://github.com/libvips/libvips/pull/1680
2020-06-10 19:57:50 +01:00
Lovell Fuller
221ad1b9b3 heifload: ignore nclx profiles, ensure uchar format 2020-06-10 12:23:17 +01:00
John Cupitt
ce63fc1145 use libspng for load, libpng for save 2020-06-09 14:38:04 +01:00
John Cupitt
a44814018d Merge branch 'master' into libspng-experiment 2020-06-07 11:56:16 +01:00
Lovell Fuller
00dcfa40f1 Improve compile-time libheif and runtime AVIF detection 2020-05-18 19:43:43 +01:00
John Cupitt
10f1352f6f clean up, add benchmarks 2020-05-01 23:20:48 +01:00
John Cupitt
02327b6214 add an experimental libspng reader
it compiles, but I've not tried running it yet heh
2020-05-01 16:05:48 +01:00
John Cupitt
489810989e Merge branch '8.9' 2020-04-24 19:32:40 +01:00
John Cupitt
efd62acccd better iiif tile naming
We were clipping edge tiles against the size of the scaled up layer.
Instead, clip against the size of the top level image.

See https://github.com/libvips/libvips/issues/1621
2020-04-24 19:29:35 +01:00
Lovell Fuller
3ca21ee2e8 Increase minimum glib-2.0 dependency to v2.15 (released March 2012) 2020-03-26 19:13:21 +00:00
John Cupitt
b52b0e3bbf
Merge pull request #1589 from kleisauke/avoid-gthread-link
Do not link against libgthread when GLib >= 2.32
2020-03-24 17:09:11 +00:00
John Cupitt
120a94a9e4
Merge pull request #1587 from kleisauke/avoid-cflags-sort
Do not reverse sort VIPS_CFLAGS
2020-03-24 17:07:26 +00:00
Kleis Auke Wolthuizen
e8facf66bb Do not reverse sort VIPS_CFLAGS
CFLAGS="-s USE_PTHREADS=1" was sorted as "USE_PTHREADS=1 -s" resulting
in a compilation error on Emscripten.

This was introduced in c8d9ed9 to select GraphicsMagick over ImageMagick,
nowadays it's better to use --with-magickpackage=GraphicsMagick instead.
2020-03-24 11:08:52 +01:00
Kleis Auke Wolthuizen
c8230195ba Do not link against libgthread when GLib >= 2.32
libglib is always thread-enabled since v2.32.
2020-03-24 11:05:19 +01:00
Kleis Auke Wolthuizen
a6d19e5c4c Prefer to find expat with pkg-config
Fall back to AM_WITH_EXPAT if it could not be found.
2020-03-24 11:03:36 +01:00
John Cupitt
7710fab06c add gio to libs and cflags
should fix fuzz build
2020-03-14 12:09:47 +00:00
John Cupitt
c5c0690588 fix --without-rsvg
We need to add gio to packages-used if it's available.

See https://github.com/libvips/libvips/issues/1575
2020-03-13 10:04:02 +00:00
John Cupitt
e4db74746a fix a deadlock with --vips-leak
We were usingh a global lock for metadata changes, but some functions
triggered from callbacks in the metadata hash table could also attempt
to acquire the same mutex, leading to deadlock.

This patch gives metadata change it's own lock. Thanks DarthSim.

See https://github.com/libvips/libvips/issues/1542
2020-01-31 15:25:05 +00:00
John Cupitt
767c87d6e6 better iiif json
Change "scalefactor" to "scaleFactor", thanks regisrob.

See https://github.com/libvips/libvips/issues/1530
2020-01-24 16:28:52 +00:00
John Cupitt
53407206cf start 8.10 cycle 2020-01-24 16:26:28 +00:00
John Cupitt
51fc2ff64e don't use new source API for new_from_file etc.
We were attempting to load images in new_from_file using the new source
API first, then only falling back to the file loaders if that failed.

However, this meant that we did not respect the priority ordering on
loaders, so openslide iamges (for example) were being loaded by the tiff
loader.
2020-01-09 14:47:14 +00:00
John Cupitt
49a8f0779d Merge branch '8.8' 2019-11-26 09:15:39 +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
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
55024c71ce
Merge branch 'master' into add-stream-object 2019-11-12 14:08:02 +00:00
John Cupitt
ceb2db513d Merge branch '8.8' 2019-11-11 18:05:57 +00:00
John Cupitt
3ba0b285d4 switch to GDateTime 2019-11-11 15:14:04 +00:00
John Cupitt
04280fd837 test for orc 0.4.31
the version that should start working again, hopefully
2019-11-06 23:22:17 +00:00
John Cupitt
552043c2c8 oop name mixup 2019-10-28 08:05:15 +00:00
John Cupitt
70a83a273d fix with older glib 2019-10-28 07:36:19 +00:00
John Cupitt
612789d914 remove undisplayable frames from gifnsload
and make gifload and gifnsload both build for easier testing ... though
gifnsload is given higher priority, so it handles vipsheader etc.
2019-09-18 17:34:49 +01:00
John Cupitt
c9a7b92eeb version bump 2019-09-17 17:16:26 +01:00
John Cupitt
d4bd8c4c0b fix make dist for 8.8.3 2019-09-16 16:59:52 +01:00
John Cupitt
b04299aaa2 Merge branch 'master' into add-libnsgif 2019-09-02 17:07:49 +01:00
Benjamin Gilbert
8733743642 configure.ac: drop --enable-pyvips8 option
It doesn't do anything either.
2019-09-01 02:26:34 -04:00
Benjamin Gilbert
b3bbf47a46 configure.ac: drop --enable-cpp7 option
It's no longer connected to anything.
2019-08-31 14:29:09 -04:00
John Cupitt
574be4380e revert sharpen restoring the input colourspace
icc_export can make _RGB images, so the input can be outside the set of
supported colourspace transforms.

See 46212e92b1 (r34904985)

bump version too.
2019-08-31 11:29:36 +01:00
John Cupitt
6510e1ff30 hide a gcc warning
gcc has an "unknown pragma" warning which triggers for clang pragmas we need to hide clang compiler warnings (!!)
2019-08-16 13:24:25 +01:00
John Cupitt
1d77a57780 reinstate libnsgif loader
only 1/2 done
2019-08-15 14:30:25 +01:00
DarthSim
c7e0c073ca Add optimize_gif_frames and optimize_gif_transparency options to vips_magicksave 2019-08-08 02:52:54 +06:00
John Cupitt
7250b169d4 Merge branch '8.8' 2019-08-07 16:19:23 +01:00
John Cupitt
f36927e78d fix build against graphicsmagick
- add tests for more features missing in GM
- simplify the IM/GM configure tests
- revise the test suite to pass with GM and IM
2019-08-07 16:17:27 +01:00
John Cupitt
fb92783659 musl is now 128kb, so make the comment vague
36676c59fc (commitcomment-34589167)
2019-08-06 15:53:38 +01:00
John Cupitt
36676c59fc small polish to pthread discovery
- use AC_CHECK_FUNC() not AC_CHECK_FUNCS()
- safer names for save vars
2019-08-06 14:56:05 +01:00
John Cupitt
bdc61d5675 layout 2019-08-05 13:53:00 +01:00
John Cupitt
0d2c14c967 try to improve pthread discovery
we were not using all the flags we should when testing for
pthread_setattr_default_np() ... place the test line after GTHREAD and
use those flags for linking

see https://github.com/libvips/libvips/issues/1384

thanks elfring
2019-08-05 13:35:47 +01:00
Oscar Mira
3ea72c286e improve fuzz targets and oss-fuzz integration
It replaces current fuzz setup with 5 new fuzzers integrating them with
top-level Makefile. It now supports multiple fuzzing engines and Google's
oss-fuzz. By default, the fuzzers are linked against an standalone runner to
easily reproduce bugs.
2019-07-15 14:02:27 +02: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
Przemysław Sobala
1c30a8567c [webp] Use well documented use_sharp_yuv option instead of preprocessing 2019-07-05 13:14:32 +02:00
John Cupitt
c5147afdcd require 2.40.3 to get unlimited flag 2019-06-29 14:55:47 +01:00
John Cupitt
260f3284ff require librsvg >= 2.40
we need the UNLIMITED open API
2019-06-28 18:49:10 +01:00
John Cupitt
17c7a78c1b version bump for libvips 8.9 2019-06-20 11:39:04 +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
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
a02229245e tidy up conditionals a bit 2019-05-10 16:43:17 +01:00
John Cupitt
b2ad9f9df8 better compat with older libheif
We were looking for "yes" from the builtin_h265_decoder variable to
enable heifload, but this variable was only added in libheif 1.3, so we
failed to turn on heifload correctly.

We now look for not "no", ie. default on.

See https://github.com/libvips/build-win64/pull/26#issuecomment-490854408
2019-05-10 12:59:24 +01:00
John Cupitt
3e60e816ed split heifload / heifsave
test for libheif supporting decode and encode, and turn heifload and
heifsave on and off
2019-05-08 21:13:00 +01:00
John Cupitt
36bd9dfe4a
Merge pull request #1291 from abdollar/set_stack_size_linux
provide an option to set the default stack size on linux
2019-04-20 11:29:05 +01:00
John Cupitt
ee854d43c4 add configure test for png_set_chunk_malloc_max 2019-04-20 06:07:18 +01:00
Abdul Chaudhry
25bfad1306
provide an option to set the default stack size on linux 2019-04-19 08:59:45 -07:00
John Cupitt
c351c665a1 more fixups from the vips7 removal 2019-04-14 12:48:02 +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
af0dc5265f use glib's b64 encode/decode, if available
see https://github.com/libvips/libvips/issues/1263
2019-03-20 13:51:41 +00:00
John Cupitt
e14ae48a67 fix heifsave on ubuntu 18.04 2019-03-14 13:33:11 +00:00
John Cupitt
928fff5168 try to fix heifload for ubuntu 18.04 2019-03-14 13:04:26 +00:00
John Cupitt
533ddbc8b3 libheif autorotate is back
Using the new heif_image_handle_get_ispe_width() to fetch the untransformed
dimensions.

See:

https://github.com/strukturag/libheif/issues/106#issuecomment-459766087

https://github.com/libvips/libvips/issues/1247
2019-03-06 20:32:34 +00:00
John Cupitt
cae57d5670 make heif load/save work with 1.3.2 2019-02-20 12:30:12 +00:00
John Cupitt
1a83605238 Merge branch 'add-heifload' 2019-02-17 17:11:14 +00:00
John Cupitt
90fef08ee0 start adding xmp/icc/exif/etc. for IM
needs to work for im6, im7 and gm, and it's not quite there yet :(
2019-02-06 16:39:14 +00:00
DarthSim
cd1560c1cb vips_magicksave for GraphicsMagick 2019-02-06 00:07:30 +06: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
33fd2a48f0 basic load works
no metadata, no options
2019-01-20 11:33:12 +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
25aed749e3 start hacking in a CMYK->XYZ import
plus an embedded cmyk profile as a fallback
2018-12-21 18:05:40 +00:00
John Cupitt
582b224125 oops revert version bump 2018-12-17 13:20:14 +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
596794c05a improve pdfium linking 2018-12-12 17:24:49 +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
d4815e8b7e more info output for tmpfile open
to help diagnose problems
2018-11-21 14:26:52 +00:00
John Cupitt
801a2a7144 added anim write
compiles, but untested
2018-10-31 16:49:41 +00: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
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
John Cupitt
0beb5e9165 make test-suite survive make dist 2018-07-25 17:17:13 +01:00
John Cupitt
7716fa957b nifi header read done 2018-06-30 21:57:00 +01:00
John Cupitt
6dc6b4f722 add niftiload skeleton 2018-06-29 17:31:17 +01:00
John Cupitt
93881b8dec add FIND_NIFTI
looks for libniftiio
2018-06-29 16:32:28 +01:00
John Cupitt
35b4a1a3b5 fix mem leak in pngsave
and some reformatting and changelog notes
2018-06-20 14:20:22 +01:00
Felix Bünemann
1e68b3a486 Rename pngsave colors/colours, quantize/quantise 2018-06-19 21:32:44 +02:00
Felix Bünemann
b5531cf1ed Add libimagequant detection to configure 2018-06-18 00:57:18 +02:00
John Cupitt
87b3f17846 vips7 API defaults off 2018-06-11 12:44:28 +01:00
John Cupitt
0d8a440aff fix build with magick7 2018-06-10 12:15:02 +01:00