John Cupitt
0a824517fa
Merge branch '8.12'
2021-12-16 10:58:29 +00:00
John Cupitt
65d84d1cbe
fix a crash with 0 length vectors
2021-12-16 10:45:10 +00:00
John Cupitt
47be1fcc6f
Merge branch '8.12'
2021-12-09 13:01:51 +00:00
John Cupitt
6d23a3615e
add a fallback path for gif save if no cgif
...
Via imagemagick. See https://github.com/libvips/libvips/issues/2574
2021-12-09 13:00:58 +00:00
John Cupitt
5b089951ac
Merge branch '8.12'
2021-12-06 14:04:49 +00:00
John Cupitt
cd80b5ae94
note win fd change in changelog
2021-12-06 13:58:46 +00:00
John Cupitt
ba5afffd68
Merge branch '8.12'
2021-11-26 11:12:47 +00:00
John Cupitt
e0bb8e5d58
make exif resunit optional and default to inch
...
Some images don't set the exif resolution unit. We were ignoring exif
resolution in this case, but that's not correct, it's supposed to
default to inch.
See https://web.archive.org/web/20190624045241if_/http://www.cipa.jp:80/std/documents/e/DC-008-Translation-2019-E.pdf for the full spec.
2021-11-26 11:10:29 +00:00
John Cupitt
728f2e2905
Merge branch '8.12'
2021-11-21 15:13:17 +00:00
John Cupitt
edf63dfeeb
fix insert
...
We were not detecting the shortcut cases for insert correctly, thanks
chreru.
See https://github.com/libvips/libvips/issues/2548
2021-11-21 14:50:55 +00:00
John Cupitt
b889181966
version bump for 8.13
...
and revise quant package detection
2021-11-21 11:29:28 +00:00
John Cupitt
09771a54ea
fix typos
2021-11-14 21:47:43 +00:00
John Cupitt
ad295b5d41
add changelog notes
2021-11-13 14:36:38 +00:00
John Cupitt
6f081de0a0
add minimise to insert
...
This patch makes "insert" issue minimise signals for inputs in sequential
mode. This can drop memory use in some programs, for example:
```python
import sys
import random
import pyvips
image = pyvips.Image.black(20000, 20000)
for filename in sys.argv[2:]:
tile = pyvips.Image.new_from_file(filename, access='sequential')
x = random.randint(0, image.width - tile.width)
y = random.randint(0, image.height - tile.height)
image = image.insert(tile, x, y)
image.write_to_file(sys.argv[1])
```
Before this patch:
```
$ for i in {0..1000}; do cp ~/pics/k2.jpg $i.jpg; done
$ /usr/bin/time -f %M:%e ../manyjoin.py ../x.jpg *.jpg
5456256:4.34
```
With this patch:
```
$ /usr/bin/time -f %M:%e ../manyjoin.py ../x.jpg *.jpg
2475324:3.38
```
2021-11-05 12:14:50 +00:00
John Cupitt
30fdc3df77
add jp2k load of untiled images
...
with this patch, untiled jp2k images are loaded in chunks, saving loads
of memory (but runs much slower)
2021-11-04 15:26:04 +00:00
Heshy Roskes
d8c04011ea
Add hyperbolic functions ( #2508 )
...
* add hyperbolic functions
* add hyperbolic function tests
* changelog
* add inverse hyperbolic functions for old compilers
2021-11-02 15:05:37 +00:00
John Cupitt
9f37857254
note fail-on in changelog
2021-10-31 14:15:20 +00:00
John Cupitt
47383b5bfc
tell buffer and target savers the file format ( #2499 )
...
tell buffer and target savers the file format
Currently, buffer and target savers are not told the format they should
write.
This is usually OK (the JPEG saver already knows it should write JPEG),
but some savers can write several formats, and these currently need an
extra parameter.
For example:
```ruby
buf = x.write_to_buffer ".bmp", format: "bmp"
```
The first ".bmp" gets libvips to pick magicksave, the second
`format:` param is necessary to tell magicksave to write BMP.
This patch adds stub subclasses so that the savers know the exact format. It also improves PPM save.
2021-10-28 18:57:24 +01:00
John Cupitt
21567e12b8
note atan2 in changelog
2021-10-20 20:42:23 +01:00
John Cupitt
0f3193b7f2
Add iiif3 ( #2483 )
...
* add iiif3 support to dzsave
some small things have changed from v2
2021-10-19 14:18:40 +01:00
David Manthey
46a67cfab9
Add jpeg restart_interval option. ( #2468 )
...
* Add jpeg restart_interval option.
This allows saving a jpeg with MCU restarts.
* Fix code style. Add description of restart_interval.
* Add a basic test based on output length.
* Update main change log.
2021-10-08 17:33:32 +01:00
John Cupitt
f6281284a1
fix VipsSource and named pipes
...
We used to assume (in several places) that any source with a filename was
seekable. This patch adds a is_file test, and makes all the loaders use it.
see https://github.com/libvips/libvips/issues/2467
2021-10-08 12:20:24 +01:00
John Cupitt
5397fe5a4f
note tiff change in changelog
2021-09-29 17:49:26 +01:00
John Cupitt
b96ed28903
update docs for vips_shutdown() use
...
Since we have a new policy.
2021-09-17 19:09:07 +01:00
John Cupitt
7e8af07c66
Fix flatten clip ( #2432 )
...
* fic gtk-doc typenames in cgif
* fix flatten clipping
flatten could produce out of range values if max_alpha was less than
the limit of the numeric range of the format
https://github.com/libvips/libvips/issues/2431
2021-09-13 11:23:02 +01:00
John Cupitt
f8c2a36746
arrayjoin signalling minimise also frees memory
...
By making the sequential line cache non-persistent, and only minimising
when the read point is well past the image.
On large arrayjoin operations, this saves many GB of memory.
See https://github.com/kleisauke/net-vips/issues/135
2021-09-06 23:14:36 +01:00
John Cupitt
a20cd4cdc1
minimise arrayjoin inputs during processing
...
arrayjoin with a sequential pipeline will now minimise inputs when they
are no longer being used. This drops the number of open file handles
needed to construct large arrays.
Sadly, memory savings are minimal.
see https://github.com/kleisauke/net-vips/issues/135
2021-09-06 20:22:29 +01:00
John Cupitt
d5b40793b0
Merge branch '8.11'
2021-09-05 12:02:14 +01:00
John Cupitt
c5a6331d5e
note thumbnail fix in changelog
2021-09-05 12:01:51 +01:00
John Cupitt
307d24eea7
Merge branch '8.11'
2021-08-30 14:02:28 +01:00
John Cupitt
b62287a792
check .v enums more carefully
2021-08-30 14:02:03 +01:00
John Cupitt
26f5da19e9
Merge branch '8.11'
2021-08-30 12:44:06 +01:00
John Cupitt
6444bfb5bb
note coding fix in changelog
2021-08-30 12:43:43 +01:00
John Cupitt
b9230edcbe
Merge branch '8.11'
2021-08-29 19:13:12 +01:00
John Cupitt
451cfcd282
small cleanups from "unlimited" option
2021-08-29 19:08:51 +01:00
John Cupitt
b0b8e6ee65
small style changes
2021-08-23 01:14:37 +01:00
John Cupitt
e60f11eb45
fix rank fast path
...
there was an off-by-one error which could cause an out of bounds read
see https://github.com/libvips/libvips/issues/2401
2021-08-16 17:46:25 +01:00
John Cupitt
e93a23e0b7
Merge branch '8.11'
2021-08-05 12:29:11 +01:00
John Cupitt
5263686511
limit the number of text chunks in PNGs
...
very large numbers of text chunks can cause high memory use
2021-08-05 12:28:22 +01:00
John Cupitt
8082063607
rename webp reduction-effort as effort
...
though effort still works
2021-07-30 11:07:43 +01:00
John Cupitt
08d3c32868
Note jxlsave protos
2021-07-19 07:57:48 +01:00
John Cupitt
2041f228f5
fix thumbnail with small plus crop plus no upsize
...
thumbnail could fail for small images if upsize was disallowed and crop
was enabled, thanks Andrewsville
see https://github.com/libvips/libvips/issues/2157
2021-07-18 15:00:35 +01:00
John Cupitt
b493b16e54
Merge branch '8.11'
2021-07-16 10:23:19 +01:00
John Cupitt
6946c3b9d9
start up threadpool later
...
might help php and ruby web frameworks
see eg. https://github.com/libvips/php-vips-ext/issues/42
2021-07-14 20:21:38 +01:00
John Cupitt
6dd6fafa2a
Merge branch '8.11'
2021-07-03 11:47:26 +01:00
John Cupitt
ee865253a6
not jp2k pyr fix in changelog
2021-07-03 11:17:33 +01:00
John Cupitt
70182e4eac
don't load modules if they are built in
...
Only load modules if libvips has been built as a set of modules.
Otherwise can can end up loading operations twice.
2021-07-03 11:14:58 +01:00
John Cupitt
ec1d1abf50
Merge branch '8.11'
2021-07-02 12:35:24 +01:00
John Cupitt
ad40d881dd
remi's libdir patch, plus version bump to 8.11.2
2021-06-29 17:41:08 +01:00
John Cupitt
ea5972055f
Merge branch '8.11'
2021-06-28 20:33:51 +01:00
John Cupitt
95bf1367ba
fix jpeg tiff pyramid save
...
we were not copying the quant tables on lower pyr levels correctly
add a test too
2021-06-28 20:24:00 +01:00
John Cupitt
fc9e7ad2b3
Note static patch in changelog
2021-06-28 18:31:14 +01:00
John Cupitt
1b3dda5b24
enable strip chopping on TIFF load
...
see https://github.com/libvips/libvips/discussions/2322
thanks DavidStorm
2021-06-28 12:30:04 +01:00
John Cupitt
7512e410ca
add svgload_string
...
simple convenience function for C
2021-06-28 11:45:56 +01:00
John Cupitt
706c2a112d
Merge branch '8.11'
2021-06-23 12:25:43 +01:00
John Cupitt
b9034bf731
more startup debug output
...
if VIPS_INFO is set
2021-06-22 15:28:21 +01:00
John Cupitt
78c08650d3
revise win32 support in configure
...
update LT_INIT with new dll option
2021-06-22 11:48:06 +01:00
John Cupitt
4ee19edd46
add another C example
...
see https://github.com/libvips/libvips/issues/1167
2021-06-18 11:39:00 +01:00
John Cupitt
dc56a5aa65
all install programs support --version
...
and a version bump to 8.12 for the new dev cycle
2021-06-15 10:33:42 +01:00
John Cupitt
a0e0c4e45b
note new threading model in changelog
2021-05-08 18:58:54 +01:00
John Cupitt
a2e5717e82
Merge branch '8.10'
2021-05-05 17:32:25 +01:00
John Cupitt
e19acd5148
fix load of large PPM images from a pipe
...
large PPM images loaded over pipes could cause a crash, thanks ewelot
see https://github.com/libvips/libvips/issues/2240
2021-05-05 17:29:50 +01:00
John Cupitt
70d76117bd
Merge branch 'master' of github.com:libvips/libvips
2021-05-02 18:47:02 +01:00
John Cupitt
03f76b73b4
add "premultiply" param to tiffsave
...
Some programs, like indesign, only work with premultiplied alpha in TIFF. To
make TIFFs which are compatible with these programs, we'll need an extra
TIFF save flag (perhaps premultiply?) to premultiply alpha and save as
EXTRASAMPLE_ASSOCALPHA.
see https://github.com/libvips/libvips/issues/2192
2021-05-01 20:08:06 +01:00
John Cupitt
56e0b2c2c8
Merge branch '8.10'
2021-04-30 08:27:32 +01:00
John Cupitt
a560d7df50
better vips7 compat
...
revise the vips7 PNG wrapper to work with libspng, though performance
may be poor
thanks SkyDiverCool
https://github.com/libvips/libvips/issues/2233
2021-04-30 08:20:19 +01:00
John Cupitt
edcdf8af70
rebase add-jp2ktiff on master
2021-04-26 15:16:20 +01:00
John Cupitt
e5405c8ef3
udpate changelog
2021-04-26 09:11:02 +01:00
John Cupitt
e8cfc6b5a2
Merge branch 'master' into add-jxl
2021-04-21 14:00:06 +01:00
John Cupitt
693bc3ccbf
Merge branch 'master' into add-black-point-compensation
2021-04-19 18:53:35 +01:00
John Cupitt
4483a2edbc
Merge branch 'master' into add-jxl
2021-04-14 15:08:46 +01:00
John Cupitt
f53959b824
switch font rendering to pangocairo
...
to make colour font rendering work
2021-04-12 15:11:18 +01:00
John Cupitt
209f2c5144
tidy up
2021-04-03 18:40:21 +01:00
John Cupitt
005360dba7
add support for lcms black point compensation
...
Add a --black-point-compensation flag.
See https://github.com/libvips/libvips/discussions/2169
2021-03-29 12:41:02 +01:00
John Cupitt
fd56067f54
oop, left gifload.c in the merge
2021-03-27 15:39:29 +00:00
John Cupitt
69fcf1b9e9
Merge branch 'master' into add-openjpeg
2021-03-27 15:22:13 +00:00
John Cupitt
6ab30ca732
Merge branch '8.10'
2021-03-23 23:18:48 +00:00
John Cupitt
2df5768d99
note vector fix in changelog
2021-03-23 20:53:06 +00:00
John Cupitt
2575d963bd
add jp2k tests
...
and buffer load/save
2021-03-20 12:16:10 +00:00
John Cupitt
454f448c5b
add jp2ksave
...
works, but not quite done
2021-03-19 11:49:07 +00:00
John Cupitt
c0ec1757cb
works at a basic level
...
need to add shrink-on-load etc.
2021-03-17 16:38:55 +00:00
John Cupitt
fc4ad15f97
Merge branch '8.10'
2021-03-07 12:26:24 +00:00
John Cupitt
ec16c761df
revise changelog for clarity
2021-03-06 12:56:35 +00:00
John Cupitt
2e56828053
Merge branch '8.10'
2021-03-06 11:47:02 +00:00
John Cupitt
1f18963cb4
Merge branch '8.10' into revise-premultiply
2021-03-05 11:17:40 +00:00
John Cupitt
86a6fd9d18
fix tiff deflate predictor setting
...
the enums were mixed up, thanks Adios
see https://github.com/libvips/libvips/issues/2128
2021-03-04 09:39:50 +00:00
John Cupitt
303513e52d
small comment polish
2021-02-27 16:00:33 +00:00
John Cupitt
d3ccadf212
revise unpremultiply, again
...
We were not detecting division by zero carefully enough, nor clipping
the alpha range sufficiently in unpremultiply.
see https://github.com/libvips/libvips/issues/1941
also see https://github.com/libvips/libvips/pull/1675 for another
difficult test case
2021-02-27 15:16:25 +00:00
John Cupitt
e5e2e8d1eb
Merge branch '8.10'
2021-02-22 10:06:43 +00:00
John Cupitt
ec67002493
update changelog
2021-02-22 10:06:14 +00:00
John Cupitt
8dc2db9789
add gif background colour as metadata
2021-02-20 04:52:02 +00:00
John Cupitt
d6201fc32d
note PNG background colour in metadata
...
see https://github.com/libvips/libvips/issues/2111
2021-02-19 16:51:46 +00:00
John Cupitt
4f762d6609
add vips_niftiload_source()
2021-02-12 15:29:58 +00:00
John Cupitt
498e9c2829
add fitsload_source
...
and fix some small fits loading issues
2021-02-11 16:44:53 +00:00
John Cupitt
15f4d935aa
Merge branch '8.10'
2021-02-09 16:23:46 +00:00
John Cupitt
75959ece6a
note librsvg change
2021-02-09 16:23:13 +00:00
John Cupitt
b30a90e3bc
fix includes of glib headers in C++
...
see https://github.com/libvips/libvips/issues/1987
2021-02-09 16:21:56 +00:00
John Cupitt
1f4f975e7d
make leak test exit with an error code
...
and run the libvips leak test in CI
2021-02-08 11:25:56 +00:00
John Cupitt
4605ad6993
fix another ref leak in globalbalance
2021-02-06 19:01:26 +00:00
John Cupitt
2ce79d76a0
output double histogranms for large images
...
since images with more than 2*32 pixels will overflow a uint accumulator
thanks @erdmann
see https://github.com/libvips/libvips/issues/1976
2021-02-01 15:51:31 +00:00