John Cupitt
caed71af04
emit "finish" at the end of targetcustom write
...
In 8.13 we deprecated target_finish() (it did not have an error return)
to target_end() (now has an error return).
This PR makes target_end() also emit the "finish" signal for
compatibility with the previous API. ruby-vips, for example, looks for
on_finish() to close files.
See https://github.com/libvips/ruby-vips/issues/351
Thanks lucaskanashiro
2022-12-16 11:32:16 +00:00
John Cupitt
27874386b2
missing include in mosaic_fuzzer
...
causes build fail on debian9, see https://github.com/libvips/libvips/issues/3152
2022-11-09 14:52:01 +00:00
Lovell Fuller
c76d74be65
Ensure EXIF is at least 4 bytes before inspection ( #3109 )
2022-10-22 11:20:53 +01:00
John Cupitt
53a3e6d819
note recent changes
2022-10-19 17:36:55 +01:00
Sergey Alexandrovich
982a835eed
spngsave: Don't shift indexed pixels ( #3101 )
2022-10-19 17:34:43 +01:00
Kleis Auke Wolthuizen
e6198361e5
thumbnail: fix embedded ICC profile conversion ( #3027 )
2022-10-19 17:32:04 +01:00
Lovell Fuller
1fc01c05e8
exif: ensure prefix is present before parsing ( #3100 )
...
Newer Apple devices are creating EXIF without this however libexif
still requires it due to JPEG/JFIF/APP1 marker heritage.
2022-10-19 12:47:23 +01:00
John Cupitt
e83468e051
note spng fixes
2022-10-14 20:06:05 +01:00
Sergey Alexandrovich
c6498e5c2c
spngsave: fix transparency ( #3074 )
2022-10-14 20:05:29 +01:00
Kleis Auke Wolthuizen
f38acdef1a
spngsave: ensure quantisation occurs last ( #3073 )
...
* spngsave: ensure quantisation occurs last
i.e. after setting the metadata and phyiscal pixel dimensions,
since quantisation will overwrite the image.
* spngsave: avoid over-allocation of temporary buffer
For low-bitdepth write and palette-based output.
2022-10-14 19:29:29 +01:00
John Cupitt
fbef674625
better rules for 16-bit heifsave
...
now parallel 16-bit PNG save
see https://github.com/libvips/libvips/discussions/3087
2022-10-11 08:45:24 +01:00
John Cupitt
7547476f44
version bump
2022-10-11 08:45:16 +01:00
Lovell Fuller
d3a1d4df1b
spngsave: name ICC profiles ( #3068 )
...
The PNG spec requires that the iCCP chunk has a profile name with
a minumum length of 1 (we use the same "icc" name as pngsave).
2022-09-28 16:28:44 +01:00
John Cupitt
a86f33769b
add changelog note
2022-09-22 14:09:55 +01:00
Ruven
33d44e86fb
SubIFD offsets should only be added if smaller pyramid layers actually exist. Otherwise results in corrupted TIFF files for images smaller than the tile size ( #3058 )
2022-09-22 14:09:03 +01:00
John Cupitt
b0be5beb30
note vips_text size check change
2022-09-21 19:09:15 +01:00
Kleis Auke Wolthuizen
e88e5f0d2a
text: simplify check for 32k pixel limit ( #3057 )
2022-09-21 19:06:49 +01:00
John Cupitt
fa4b80b74b
earlier quit of dzsave on kill
...
We were only testing "killed" once for each strip of tiles. Check on each
tile as well to make set_kill() faster.
see https://github.com/kleisauke/net-vips/issues/179
2022-09-21 11:48:48 +01:00
John Cupitt
907d17cd06
revise caching of seq mode loaders
...
We were not caching seq mode loaders used in random access mode.
see https://github.com/libvips/libvips/issues/3044
2022-09-20 10:03:00 +01:00
Kleis Auke Wolthuizen
6bf1422548
jxlsave: sync quality to distance calculation with libjxl ( #3050 )
...
Ensures the quality to distance conversion is continuous at 30.
See:
ea5fa8074d
2022-09-14 13:40:40 +01:00
John Cupitt
63f1673beb
note buffer print fix
2022-09-11 14:30:09 +01:00
John Cupitt
0b3ab3a934
fix null string in buffer print
...
Some libvips header fields can be NULL, for example filename, and we
need to avoid null pointer deref on print.
See https://github.com/libvips/libvips/issues/3043
2022-09-11 14:29:12 +01:00
John Cupitt
0e7c7a9a13
note palette save fix
2022-09-08 09:12:27 +01:00
Lovell Fuller
b58b7bd416
pngsave: ensure 8-bit palette images can be created ( #3031 )
2022-09-08 09:10:02 +01:00
John Cupitt
fc01771454
fix changelog layout
2022-09-05 10:02:27 +01:00
John Cupitt
2912787f9d
version bump for 8.13.2
2022-09-05 10:01:37 +01:00
Kleis Auke Wolthuizen
e87c828aa5
dzsave: add missing include directive for errno/EEXIST ( #3025 )
...
Resolves : #3024 .
2022-09-05 09:58:52 +01:00
Kleis Auke Wolthuizen
867a09737c
CI: remove redundant glib-utils dependency ( #3022 )
...
The GLib utilities, which was split into its own `glib-utils`
formula has been merged back into `glib`, see:
https://github.com/Homebrew/homebrew-core/pull/108307
This reverts commit a846de017d
.
2022-09-03 15:45:49 +01:00
Kleis Auke Wolthuizen
a19f326d19
dzsave: improve compatibility with libgsf < 1.14.29 ( #3017 )
...
* Implement `GsfOutfileStdio` by ourselves
* Add missing `->root` init
* Fix styling
* Update ChangeLog
2022-08-30 17:10:38 +01:00
John Cupitt
e88db2ceb4
fix jxl load rewind
...
Looks like there's no way to reset the decoder state, so we have to
remake it.
2022-08-14 17:27:13 +01:00
John Cupitt
99e6bb833e
ooops
2022-08-14 16:29:00 +01:00
Kleis Auke Wolthuizen
f36196db1b
jxlsave: avoid using deprecated functions ( #2989 )
...
* jxlsave: avoid using deprecated functions
The upcoming libjxl 0.7 has deprecated a number of functions.
* Prefer to use `ifdef` instead
2022-08-14 15:54:21 +01:00
Kleis Auke Wolthuizen
34427d83a0
jxlsave: correctly mark frame as last ( #2988 )
...
It's required to close the input, otherwise the encoder can't
know what the last frame is, resulting in an improper codestream.
Resolves : #2987 .
2022-08-14 15:53:33 +01:00
John Cupitt
1989203985
fix low bitdepth PNG save of high bitdepth images
...
SOme combinations of high bitdepth images with low bitdepth PNG save could
produce incorrect images, for example saving a 16-bit fourier image as 1-bit.
2022-08-14 12:14:55 +01:00
John Cupitt
94d3f93a46
add another low bitdepth png save test
2022-08-14 11:05:09 +01:00
John Cupitt
ca2796aa7f
fix low-bitdepth spng save
...
There was a missing shift, thanks jeffska
See https://github.com/libvips/libvips/issues/2985
2022-08-14 10:26:24 +01:00
John Cupitt
29e80ca43f
better 0 detection in unpremultiply
...
We were avoiding /0 by testing for alpha==0, however, this will still
allow very small values of alpha to generate +/- Inf. Instead, check for
abs(alpha)<epsilon.
Fixes some artifacts after unpremul.
2022-08-08 16:16:10 +01:00
John Cupitt
2c4c039056
add "unlimited" to jpegload
...
To disable DoS limits for JPEG loading. Adding API on a stable branch is
bad, but this fixes a regression, so I think it's necessary,
unfortunately.
See https://github.com/libvips/libvips/issues/2973
2022-08-02 13:50:09 +01:00
Kleis Auke Wolthuizen
a6fa62605c
Cherry-pick a couple of Meson improvements to 8.13 ( #2968 )
...
* add a summary table at the end of configure
Copied from the old autotools summary. Sample clipped from "meson setup":
```
Program python3 found: YES (/usr/bin/python3)
Configuring variables.sh using configuration
Message:
*Build options
enable debug ......................: true
enable deprecated .................: true
enable modules ....................: true
enable gtk-doc ....................: true
enable doxygen ....................: false
enable introspection ..............: true
enable RAD load/save ..............: true
enable Analyze7 load/save .........: true
enable PPM load/save ..............: true
enable GIF load ...................: true
*Optional external packages
use fftw for FFTs .................: true
accelerate loops with ORC .........: true
ICC profile support with lcms .....: true
zlib ..............................: true
text rendering with pangocairo ....: true
font file support with fontcongfig : true
EXIF metadata support with libexif : true
*External image format libraries
JPEG load/save with libjpeg .......: true
JXL load/save with libjxl .........: false
JPEG2000 load/save with openjpeg ..: true
PNG load/save with libspng ........: false
PNG load/save with libpng .........: true
selected quantisation package .....: imagequant
TIFF load/save with libtiff .......: true
image pyramid save with libgsf ....: true
HEIC/AVIF load/save with libheif ..: true
WebP load/save with libwebp .......: true
PDF load with PDFium ..............: false
PDF load with poppler-glib ........: true
SVG load with librsvg .............: true
EXR load/save with openexr ........: true
OpenSlide load ....................: true
Matlab load with libmatio .........: true
NIfTI load/save with niftiio ......: true
FITS load/save with cfitsio .......: true
GIF save with cgif ................: true
selected Magick package ...........: MagickCore
Magick load/save ..................: true
Build targets in project: 53
...
```
* Meson: improve summary table (#2943 )
* Meson: improve summary table
* Fix typo
* Remove redundant whitespace
* Fix libpng fall-back when build with `-Dspng=disabled` (#2955 )
* Meson: simplify dynamic module handling (#2956 )
* Deduplicate `--vips-config` with the build summary (#2957 )
* Deduplicate `--vips-config` with the build summary
* Ensure output is identical
Helps parses.
* Fix summary when build with `-Dnifti=disabled` (#2963 )
* Update ChangeLog
Co-authored-by: John Cupitt <jcupitt@gmail.com>
2022-07-31 10:09:00 +01:00
Kleis Auke Wolthuizen
b808cba14a
Remove unneeded adapter function for Emscripten ( #2949 )
...
The `*_class_intern_init` functions have already been patched within
wasm-vips to include the missing `class_data` member, so this adapter
function was not needed.
2022-07-27 09:14:12 +01:00
Kleis Auke Wolthuizen
a68eb00fbe
Meson: bump version to 8.13.1 ( #2948 )
...
Also, increment revision in the Autotools build.
2022-07-27 09:08:07 +01:00
John Cupitt
5e93ac43ac
bump 8.13 version
2022-07-26 12:20:43 +01:00
Kleis Auke Wolthuizen
8b4ef8bdfc
Fix detection of ImportImagePixels
and ImagesToBlob
for IM7 ( #2944 )
...
ImageMagick 7.x uses the `<MagickCore/MagickCore.h>` include
directive instead of `<magick/api.h>`.
2022-07-24 18:04:46 +01:00
Kleis Auke Wolthuizen
e93f56c8bb
Simplify/modernize vips_crop_get_type()
( #2940 )
2022-07-23 10:14:03 +01:00
Kleis Auke Wolthuizen
a846de017d
CI: fix macOS build ( #2938 )
...
The GLib utilities, including `glib-mkenums`, is split into its own
`glib-utils` formula, see:
https://github.com/Homebrew/homebrew-core/pull/103916
2022-07-22 15:34:17 +01:00
Kleis Auke Wolthuizen
a498680094
Update glib-mkenums
templates ( #2939 )
...
* Avoid writing the full path in enumtypes.h
Helps reproducible builds, as build paths can vary between builds.
* Use g_intern_static_string() for enum/flags type names
We are emitting a static string, so use that shortcut function to
intern it, which will save one allocation.
* Use g_once_init_enter/leave to register enum/flags type names
This is the more modern way, and ensures thread-safety.
2022-07-22 15:33:40 +01:00
Kleis Auke Wolthuizen
fa6c034b32
Link the main library with -Wl,-z,nodelete
to prevent unloading ( #2934 )
...
See: https://github.com/libvips/php-vips-ext/pull/44
2022-07-20 10:20:09 +01:00
John Cupitt
57fff0fe2b
don't check ADLER32 checksums on libpng load
...
can be rather chatty, and even cause loops on some libpng versions
see https://github.com/libvips/libvips/discussions/2930
2022-07-16 17:18:39 +01:00
Kleis Auke Wolthuizen
d546c81fa3
Fix dzsave_target
for ZIP output ( #2927 )
2022-07-15 19:39:56 +01:00
Lovell Fuller
1bf1a32f2c
pngsave: Change default row filter from 'all' to 'none' ( #2929 )
...
as this is usually faster and produces a smaller file size
2022-07-15 19:20:42 +01:00