Commit Graph

460 Commits

Author SHA1 Message Date
John Cupitt
47b04c9da6 get pdium load working again
It had bitrotted a bit. Thanks @Projkt-James.

See https://github.com/libvips/libvips/issues/1400
2020-10-16 15:13:25 +01:00
John Cupitt
888b5654a0 fix heifload with libheif 1.6
heif_avif wasn't added until libheif 1.7
2020-10-11 19:54:36 +01:00
Lovell Fuller
1177bd1dae heifload: expose heif-compression metadata 2020-10-09 15:54:17 +01:00
John Cupitt
a88c88bb7b Merge branch '8.10' 2020-09-15 10:20:15 +01:00
John Cupitt
0617165c66 raise minimum libheif version to 1.3
We didn't compile with anything less than 1.3 anyway.

see https://github.com/libvips/libvips/issues/1817
2020-09-15 10:18:38 +01:00
John Cupitt
e0bc345aef revise doxy flags to configure 2020-09-06 16:10:55 +01:00
John Cupitt
6b2079bfd3 update magick metadata naming
IM seem to have changed their rules for naming metadata chunks. They are
now lowercase and ICM is renamed to ICC. Add a simple test too.

See https://github.com/libvips/ruby-vips/issues/246
2020-09-06 12:59:10 +01:00
John Cupitt
6cabb3e301 add doxygen to the build system
configure tests for it, make runs it, make install copies the generated
html
2020-08-17 17:54:42 +01:00
John Cupitt
633abe7be8 add missing funcs to public C API
The C API was missing vips_jpegload_source and vips_svgload_source.
Thanks to augustocdias.

See https://github.com/libvips/libvips/issues/1780
2020-08-14 13:36:12 +01:00
John Cupitt
fdded88cf7 start 8.10.1
following the doc generation fix
2020-08-09 14:39:37 +01:00
John Cupitt
ad16b87a75 add LT_INIT 2020-07-10 17:34:40 +01:00
Kleis Auke Wolthuizen
b84e87b6d2 Improve --vips-config output 2020-07-07 13:57:25 +02:00
Kleis Auke Wolthuizen
fb61f0fa44 Define ENABLE_DEPRECATED in config.h
Do not check for VIPS_ENABLE_DEPRECATED as it could
come from an earlier version of libvips.
2020-07-07 12:16:43 +02:00
Kleis Auke Wolthuizen
6329d35048 Out-of-source support for configure
+ some small cleanups.
2020-07-07 12:16:40 +02:00
Kleis Auke Wolthuizen
402f8918b7 Do not distribute version.h within the tarball
It is automatically generated during the build process.
2020-07-06 21:32:00 +02:00
John Cupitt
345fee4917 Merge branch 'master' into add-libnsgif 2020-06-29 23:07:13 +01:00
John Cupitt
eb8ec27c86 fix binary ppm read for some width 2020-06-13 11:40:45 +01:00
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
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
1a95b2df89 fix tga header read
When you ping() an image with imagemagick to get the header, some format
loaders (eg. TGA) don't set all the fields. In this case,
image->colormap was not set and that made GetImageChannelDepth() crash.

Work around this, at least in this case, by allocating a colourmap
ourselves if none is set.

see https://github.com/jcupitt/libvips/issues/980
2018-05-25 16:02:25 +01:00
John Cupitt
c349b31c5f magicksave polishing
- make better use of the magick.c wrappers in magickload
- disable magicksave if ImportImagePixels() is not found, fixing build
  against GM
2018-05-18 17:40:29 +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
f6bbfe3148 try to add a test for amzln
the gcc7.2 in amazonlinux 2018.03 seems to fail with signed constants in
vector templates ... add a configure test

see https://github.com/jcupitt/libvips/issues/975
2018-05-14 17:14:42 +01:00
Leonard Hecker
70d7dd75d2 Fixed configure not picking up JPEG_CFLAGS 2018-05-07 16:16:37 +02:00
John Cupitt
38ea5937ca more help for graphicsmagick
but still not quite there
2018-04-24 17:14:51 +01:00
John Cupitt
a40382fe50 Merge branch '8.6' 2018-04-23 15:18:17 +01:00
John Cupitt
18c50c3231 typo in configure.ac 2018-04-23 15:17:53 +01:00
John Cupitt
12cbe7c2e4 some work on fixing GM
graphicsmagick + magicksave is a bit tricky :(
2018-04-23 13:44:56 +01:00
John Cupitt
05456125b6 builds, links and mostly runs 2018-04-07 17:36:52 +01:00
John Cupitt
38f459711b detects pdfium correctly
and builds without anything else breaking
2018-03-30 22:17:43 +01:00
John Cupitt
9c2ae52820 start adding pdfium tests
though they fail with link problems
2018-03-30 11:59:57 +01: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
e1cac22176 oop missing AC_DEFINE for libjpeg 2018-03-03 10:25:15 +00:00
John Cupitt
4a59fa652c make vips_sobel()
cut out of vips_canny()
2018-02-26 18:33:20 +00:00
John Cupitt
2349dcf110 oops, forgot to enable jpg 2018-02-22 16:34:01 +00:00
John Cupitt
a9b4aeb13a Merge branch '8.6' 2018-02-21 19:01:43 +00:00
John Cupitt
a9b343f29a use pkg-config to find libjpeg
fall back to FIND_JPEG if we have to, see

https://github.com/jcupitt/libvips/issues/431
2018-02-12 13:31:49 +00:00
John Cupitt
bbe42e13fa version bump 2018-02-12 12:39:53 +00:00
John Cupitt
799b1e4910 fix --without-magick
it didn't interact well with the new magickload/magicksave flags, thanks
Alex

see https://github.com/jcupitt/libvips/issues/862
2018-01-24 09:28:02 +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
8d08255ff7 rename HAVE_MAGICK as HAVE_MAGICK6
clearer meaning
2017-12-23 17:13:44 +00:00
John Cupitt
585469b192 add configure flags for magick load and save
so you can turn load and save on and off independently
2017-12-23 16:57:36 +00:00
John Cupitt
e12df167e6 Merge branch 'magicksave' of https://github.com/dlemstra/libvips into dlemstra-magicksave 2017-12-23 12:39:50 +00:00
Bernhard M. Wiedemann
0f69f0808e Use ChangeLog date instead of build date
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good.

This date call works with GNU date and BSD date.
2017-12-16 07:10:09 +01:00
John Cupitt
3c0a2e4837 fix window cycling
we were repeatedly free-ing and new-ing input mmap windows ... this made
things like zoom out on large images in nip2 much slower than they
needed to be
2017-12-10 17:37:07 +00:00
John Cupitt
5290901f86 ban gcc 5.x from vector stuff too
it seems to be easy to get internal compiler errors, thanks homm

see https://github.com/jcupitt/pyvips/issues/21
2017-10-16 17:08:07 +01:00
John Cupitt
3f22424d3b test for gcc4 and ban vectors
it has severe code gen problems, it seems

this seems to ban clang as well, unfortunately
2017-10-07 11:20:21 +01:00
John Cupitt
31851d6e54 argh maybe this time travis 2017-10-06 17:34:14 +01:00
John Cupitt
4a18bbc550 another try at testing for working vectors 2017-10-06 17:23:02 +01:00
John Cupitt
a86b3e677e add another vector / scalar test 2017-10-06 17:16:22 +01:00