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
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
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
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
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
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
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
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
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
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
John Cupitt
586fb31550
switch svgload to random access
...
and fix up pdfload random access
2022-06-05 15:57:43 +01:00
Sergey Alexandrovich
4fab8beae9
cgifsave: theshold alpha and check alpha constraint in one pass ( #2827 )
...
* cgifsave: theshold alpha and check alpha constraint in one pass
* cgifsave: get rid of sqrt()
2022-06-03 18:49:03 +01:00
John Cupitt
af23e9f06c
tiny formatting fixes
2022-06-01 12:33:43 +01:00
Sergey Alexandrovich
c9b5b8c197
nsgifload: add "palette-bit-depth" header ( #2828 )
2022-06-01 12:27:10 +01:00
John Cupitt
6260a37136
add libjxl ICC and scRGB support ( #2815 )
...
* add ICC and scRGB support
see https://github.com/libvips/libvips/issues/2568
* final polish
2022-05-28 13:55:45 +01:00
Daniel Löbl
ed79cfba7e
magicksave: Add bitdepth option ( #2819 )
...
* flag to save bmp with bitdepth 1
* magicksave: add bitdepth option
* update comments
* update documentation
* revised based on review comments
Co-authored-by: Thomas Barton <thomasryanbarton@gmail.com>
2022-05-27 11:41:01 +01:00
John Cupitt
2af2ca5ca2
add note about palette sorting by quantisers
2022-05-26 17:41:51 +01:00
Kleis Auke Wolthuizen
550781cd18
spngsave: fix 8bpp palette save with transparency ( #2808 )
2022-05-26 17:26:26 +01:00
John Cupitt
7121f952d5
revise formatting
2022-05-26 17:25:16 +01:00
Sergey Alexandrovich
ba04c5f03f
cgifsave: fill transparent pixels with zeroes ( #2823 )
2022-05-26 17:23:04 +01:00
John Cupitt
a9bfd508f5
revise cgifsave checksum
...
We were calling it a sum and looking for a change threshold, but really
it's only useful as a checksum and does not have a magnitude. Revise
comments and variable names to reflect this.
2022-05-23 13:17:20 +01:00
John Cupitt
89bbb7981d
oop dbg left on
2022-05-23 13:07:38 +01:00
John Cupitt
63962056f0
small formatting fixes
2022-05-23 13:02:44 +01:00
Daniel Löbl
f26f0b09b8
cgifsave: reuse global palette, if possible ( #2797 )
...
* save GIF palette as metadata
... if there are no local colour tables.
See https://github.com/libvips/libvips/issues/2576
* cgifsave: reuse global palette, if possible
* add reuse_palette parameter
* add reoptimise parameter and reuse palette by default
* attach global palette even if local palettes are present
* add check for presence of use-lct
* Revert "add check for presence of use-lct"
This reverts commit cd0f14e45e8bed8f108ee9666e2569c6355f17eb.
* Revert "attach global palette even if local palettes are present"
This reverts commit 4085b9e14b73c8990e9653ccc6f90477c2a43032.
* move global palette quantization to cgif_build
* rename member variable gct
* update comments
* improve error handling
* update documentation
Co-authored-by: John Cupitt <jcupitt@gmail.com>
2022-05-23 13:01:26 +01:00
John Cupitt
7d3aaf540c
small formatting
2022-05-23 12:42:26 +01:00
John Cupitt
047bef50d9
fix spngsave conversion
...
It was all mixed up. We don't need to call colourspace -- this is done
for us by the SAVEABLE system.
Fixes "vips identity x.png" error, see:
https://github.com/libvips/libvips/pull/2808#issuecomment-1133947162
2022-05-23 11:51:54 +01:00
Kleis Auke Wolthuizen
85c24481be
svgload: recognize dimensions for SVGs without width/height ( #2817 )
...
Rather than defaulting to 1928x1080. Also, prefer to use the
`LIBRSVG_CHECK_VERSION` macro instead of our configure checks.
2022-05-23 10:39:53 +01:00