Commit Graph

5571 Commits

Author SHA1 Message Date
John Cupitt 95970d0f40 ignore TAGS 2022-07-27 09:11:01 +01:00
John Cupitt d3021c2775 Merge branch '8.13' 2022-07-27 09:09:12 +01:00
John Cupitt 538aa2a841
remove autotools (#2941)
* remove autotools

It seems to all work. I tested with gtk-doc enabled. I probably missed a
few things argh.

* oop, forgot m4/
2022-07-24 11:14:52 +01:00
Kleis Auke Wolthuizen 7010903538
Meson: improve summary table (#2943)
* Meson: improve summary table

* Fix typo

* Remove redundant whitespace
2022-07-24 11:06:40 +01:00
Kleis Auke Wolthuizen e93f56c8bb
Simplify/modernize `vips_crop_get_type()` (#2940) 2022-07-23 10:14:03 +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
Kleis Auke Wolthuizen e1098857b3
svgload: use `rsvg_handle_get_geometry_for_element` instead (#2919)
See: https://gitlab.gnome.org/GNOME/librsvg/-/issues/853.
2022-07-12 12:33:54 +01:00
John Cupitt 8a049e9dfc fix RGBA_ONLY with generic mono
1. Convert MULTIBAND uint/short/etc. as we convert uint8 images. They
   are probably just uint8 that have been cast up in format.

2. Don't check that the image interpretation is a supported colourspace
   before calling vips_colourspace() ... we want to fail with an error
   if it can't be converted, not silently accept the image.
2022-07-10 19:32:14 +01:00
John Cupitt 0971344785 improve behaviour of pipelines with seq sources
Loaders which supported random access would not set the seq flag even if
seq mode was requested.

This would make operations like shrinkv to not run in seq mode, causing
massive cache thrashing.

See https://github.com/libvips/libvips/discussions/2898
2022-06-29 17:54:20 +01:00
Kleis Auke Wolthuizen f28e3f1e36
Remove stray soname.h (#2893)
This became obsolete after commit f11b58ff.
2022-06-26 18:59:32 +01:00
Kleis Auke Wolthuizen ae831a145e
Cleanup .gitignore (#2889)
* Cleanup .gitignore

* Re-add `patches` directory to `Makefile.am`

And ensure it's being tracked by git.
2022-06-23 16:36:47 +01:00
John Cupitt e81f7f1fab fix stray jp2k save message
we had a stray "valid clipped" message
2022-06-23 10:31:36 +01:00
John Cupitt 748a99d245 reorder Target struct to improve compat
so fields are at the same position at least

see https://github.com/libvips/libvips/issues/2880
2022-06-21 19:07:35 +01:00
John Cupitt 16e0182e52 fix dzsave_target on older libgsf
Older libgsf needs TRUE back from the GsfOutput seek method.

see https://github.com/libvips/libvips/issues/2878
2022-06-21 18:00:07 +01:00
John Cupitt d9f31be67d configure should add meson files to make dist
add meson.build etc. to EXTRA_DIST

see https://github.com/libvips/libvips/issues/2876
2022-06-20 15:04:33 +01:00
John Cupitt e9414f8d8f fix build with older libgsf
build on libgsf without zip64 support was broken, thanks @remicollet

see https://github.com/libvips/libvips/issues/2878
2022-06-20 13:19:35 +01:00
John Cupitt a129476f0f fix "make dist" ready for 8.13 rc1 2022-06-19 16:20:30 +01:00
John Cupitt 01d5fbd6a4 use a contiguious buffer for the frame
fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=48021
2022-06-19 12:57:47 +01:00
John Cupitt 89615465b7 avoid size_t pixel counts in cgifsave
since we limit frame size to INT_SIZE / 4
2022-06-19 12:26:02 +01:00
Daniel Löbl 905a6fe79f
cgifsave: limit max number of colours to 255 (#2863)
* cgifsave: limit max number of colours to 255

* switch to VIPS_MIN
2022-06-19 12:16:03 +01:00
Sergey Alexandrovich 41da0d28e0
cgifsave: remove regressions from 2853 (#2870)
* cgifsave: pick the best quantizer instead of the first good enough

* cgifsave: fix palettes comparison

* cgifsave: don't copy unchanged pixels to previous_frame
2022-06-19 12:15:40 +01:00
Kleis Auke Wolthuizen 5b79a744a7
thumbnail: avoid upsizing via libwebp (#2874) 2022-06-19 12:02:00 +01:00
John Cupitt c61b458904 add jxlsave tests
and revise colour encoding set

see https://github.com/libvips/libvips/issues/2872
2022-06-18 16:40:10 +01:00
John Cupitt 156e6a91e4 try to improve jxl lossless, again
now seems to handle scrgb and srgb, lossless and lossy, with and without
an ICC profile

see https://github.com/libvips/libvips/issues/2872
2022-06-18 16:01:51 +01:00
John Cupitt e0b5eeecde Merge branch 'master' of github.com:libvips/libvips 2022-06-14 12:08:20 +01:00
John Cupitt 5ef16188ca display blocked/untrusted status in vips -l
though only for loaders/savers
2022-06-14 12:06:41 +01:00
Kleis Auke Wolthuizen 8c7576a5fe
cgifsave: reject images that exceed the pixel limit of libimagequant (#2865) 2022-06-14 10:23:11 +01:00
John Cupitt a7697b462f use size_t for GIF n_pels
fixes an overflow, thanks Kleis
2022-06-13 14:25:39 +01:00
Kleis Auke Wolthuizen ebfef68707
cgifsave: fix stack-use-after-scope (#2862)
By reusing `cgif->palette_rgb`, this ensures that `pLocalPalette`
doesn't become indeterminate when it reaches `cgif_addframe`.
2022-06-13 12:59:40 +01:00
John Cupitt 48d13f4828 oop, left some DEBUG on 2022-06-13 10:27:42 +01:00
John Cupitt 9f3860ec22 fix up scrgb support in JXL
after some discussion on discord with the libjxl maintainers

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

to do: save scrgb to eg. JPEG fails right now :( we need to do
scRGB->sRGB in jpegsave
2022-06-12 16:43:26 +01:00
Kleis Auke Wolthuizen 7553f60aed
Minor cleanups (#2857)
- Remove `HAVE_LCMS` definition in favor of `HAVE_LCMS2`.
- Remove `HAVE_WINDOWS_H` definition in favor of `G_OS_WIN32`.
- Remove stray `vips_text_get_type` in `conversion.c`.
- Remove duplicated `unistd.h` include.
- Remove redundant `strcasecmp` definition, we use `g_ascii_strcasecmp` everywhere.
- Remove unnecessary header checks in `configure.ac` and `meson.build`.
- Ensure `unistd.h` include is guarded with `HAVE_UNISTD_H`.
- Fail early when `-Dfontconfig=enabled` and `pangoft2` is not found.
2022-06-12 12:22:36 +01:00
John Cupitt 7fbdb01fb9
try to make cgifsave easier to read (#2853)
* try to make cgifsave easier to read

and fix a few memory errors

* move another loop out of write_frame

slightly smaller
2022-06-12 11:25:32 +01:00
Kleis Auke Wolthuizen 296c263099
Meson: maintain autotools compatibility on macOS (#2856)
By setting the correct compatibility/current version.
2022-06-11 22:54:43 +01:00
Kleis Auke Wolthuizen cdf12dd849
Mark Poppler as untrusted (#2855) 2022-06-11 16:25:28 +01:00
Kleis Auke Wolthuizen 1214f942f9
Prefer to use `flags |=` everywhere (#2854)
Use the bitwise OR assignment operator to ensure that derived
classes does not overwrite the flags from the base class. Also,
move the flags from `openslideload_source` to its base class.
2022-06-11 15:40:39 +01:00
John Cupitt c7baa4535a cleaner blocking code
thanks kleis!
2022-06-11 15:37:27 +01:00
John Cupitt 399fba2124 fix error in prev commit 2022-06-11 14:03:45 +01:00
John Cupitt 8bf90ed44e fix BLOCK_UNTRUSTED after previous commit 2022-06-11 12:38:43 +01:00
John Cupitt bd65ddda66 fix operation_block_set
kleis discovered that it needs a full class name, and found a missing
"*"
2022-06-11 11:41:03 +01:00
Kleis Auke Wolthuizen bae0342d95
Update C++ binding and function list (#2851)
* Update C++ binding and function list

Also, start with a capital letter in descriptions whenever possible.

* Ensure `dzsave_target` is generated
2022-06-10 14:43:44 +01:00
Kleis Auke Wolthuizen 45a99238e2
text: use MT-safe `pango_cairo_font_map_get_default` (#2848)
* text: use MT-safe `pango_cairo_font_map_get_default`

* Increase minimum Pango version to v1.32.6 (released Jan 2013)
2022-06-08 16:06:45 +01:00
John Cupitt b086b3f61a tiny formatting changes
and we can remove a vips__quantise_get_palette()
2022-06-08 15:43:28 +01:00
Sergey Alexandrovich 19bef959d1
cgifsave: palette change POC (#2824)
* cgifsave: compare palettes instead of frame sum

* Add vips__quantise_image_quantize_fixed function
2022-06-08 15:27:29 +01:00
Kleis Auke Wolthuizen 5106e9b49e
text: ensure fontconfig cache of Pango is invalidated (#2847)
See: https://gitlab.gnome.org/GNOME/pango/-/issues/551
2022-06-08 15:20:19 +01:00
John Cupitt 2d0c6b364c improve scaling of SVG images
We were not scaling images with fixed absolute dimensions.
2022-06-06 12:08:43 +01:00