Commit Graph

420 Commits

Author SHA1 Message Date
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
John Cupitt 39ff89d915 Merge branch 'master' into add-composite 2017-10-04 16:31:19 +01:00
John Cupitt e0cf15285a Merge pull request #755 from astavale/gi-updates-for-create
Update GObject introspection annotations for libvips/create directory
2017-10-03 10:56:59 +01:00
John Cupitt 54e6cdd17e fix vips7 py enable flag 2017-10-02 13:17:12 +01:00
John Cupitt fddd277995 fix --enable-pyvips7 flag 2017-10-02 13:13:46 +01:00
John Cupitt 9f62b963b9 test for C++ vector arithmetic
clang seems to have shuffle but not mixed vector and scalar
2017-10-02 10:23:06 +01:00
John Cupitt 5f16c676db test c++ shuffle 2017-10-02 09:36:07 +01:00
John Cupitt 7b9c969e39 test for vector shuffle 2017-10-02 09:22:06 +01:00
John Cupitt 99568356ab add a configure test for vector_size 2017-10-02 08:17:11 +01:00
John Cupitt 4bf99b53bc Merge pull request #760 from astavale/mosaicing
Update GObject introspection annotations for libvips/mosaicing directory
2017-10-01 19:33:59 +01:00
John Cupitt 7c1ec7744a Merge pull request #758 from astavale/gi-updates-for-histogram
Update GObject introspection annotations for libvips/histogram directory
2017-10-01 19:32:48 +01:00
John Cupitt b20f5f1459 Merge pull request #757 from astavale/gi-updates-for-freqfilt
Update GObject instrospection annotations for libvips/freqfilt directory
2017-10-01 19:32:14 +01:00
John Cupitt 0c8693659e add .cpp files to introspection sources
see https://github.com/jcupitt/libvips/pull/752
2017-10-01 19:27:17 +01:00
Alistair Thomas 5c2ceed80c Update GObject introspection annotations for libvips/mosaicing directory 2017-09-30 23:19:03 +01:00
Alistair Thomas 14679d392d Update GObject introspection annotations for libvips/histogram directory 2017-09-30 22:53:30 +01:00
Alistair Thomas db5cedf010 Update GObject instrospection annotations for libvips/freqfilt directory 2017-09-30 22:24:53 +01:00
Alistair Thomas 0563330b43 Update GObject introspection annotations for libvips/create directory 2017-09-30 20:47:39 +01:00
Alistair Thomas c24d36fc79 Update GObject introspection annotations for libvips/resample directory 2017-09-30 17:26:55 +01:00
John Cupitt e346fd639e built-in python bindings default to off
we still make a typelib by default though

use the new pyvips binding instead, "pip install pyvips"
2017-09-13 18:24:32 +01:00
John Cupitt e46a56e137 remove lcms1 support
it had bitrotted and no longer worked properly
2017-08-02 13:39:28 +01:00
John Cupitt 6343e03305 oops, missed a ==== 2017-08-02 12:07:41 +01:00
John Cupitt 302f4f2517 Merge branch '8.5' 2017-08-02 11:05:39 +01:00
John Cupitt a3b226aa9b version bump 2017-08-02 10:40:17 +01:00
John Cupitt 3278420dab version bump 2017-06-09 12:17:14 +01:00
John Cupitt 5216d75b83 Merge branch '8.5' 2017-05-19 16:16:16 +01:00
John Cupitt 5df65ec6fd fix tiff read with page > 0
could break edge tiles under some circumstances
2017-05-19 16:07:36 +01:00
John Cupitt ba129fceb3 better win32 compatibility
try to fold the patches @tumagonx maintains into libvips master, see:

https://github.com/tumagonx/pygi-mingw-patches/blob/master/vips-8.4.x.patch

still missing the bindtextdomain() patch though
2017-05-11 17:08:10 +01:00
John Cupitt 45f94fefeb oop left a merge half-merged 2017-04-23 19:22:23 +01:00
John Cupitt 4c8d83ce85 Merge branch '8.5' 2017-04-23 18:54:40 +01:00
John Cupitt 8bf0a05948 doc polishing 2017-04-23 18:52:05 +01:00
John Cupitt d8fce50284 Merge branch '8.5' 2017-04-23 09:57:02 +01:00
John Cupitt 7938903d22 don't size caches by image width
we were sizing buffers partly by image width, which could cause caches
to be too small if width changed down a pipeline

see https://github.com/jcupitt/libvips/issues/639
2017-04-23 08:31:16 +01:00
John Cupitt 4094070ecb version bumo for new cycle 2017-04-15 13:26:29 +01:00
John Cupitt 6a639723e0 bump revision
for source code changes in 8.5.3
2017-04-15 09:38:45 +01:00
John Cupitt 38b65478e5 bump version, doc tweaks
more sotons removed
2017-04-07 15:59:37 +01:00
John Cupitt d5a706e47e better behaviour for truncated PNG files
truncated PNG files failed with an error, even if --fail was not set ...
instead, just warn, and only error out if fail is on

see https://github.com/jcupitt/libvips/issues/629
2017-03-30 17:13:25 +01:00
John Cupitt 74892bd1e3 oop, forgot a version tag 2017-03-27 15:14:34 +01:00
John Cupitt cd2c1324c5 version bump for release
and for the one tiny change
2017-03-25 13:57:33 +00:00
John Cupitt 7ea24b7c05 try to help centos5
we were using something from glib 2.14, though configure allows glib 2.6

see https://github.com/jcupitt/libvips/issues/622
2017-03-15 09:15:21 +00:00
John Cupitt c7b1fb28f7 switch to expat.m4
older linuxes (and os x) do not have expat.pc, sadly
2017-03-01 11:07:51 +00:00
John Cupitt 5614330cc4 remove libxml from xml save
just some printfs now
2017-02-25 18:10:42 +00:00