John Cupitt
8a354c5aec
improve webp rgba handling
...
disable webp alpha output if all frame fill the canvas and are solid
see https://github.com/libvips/libvips/issues/1351
2019-06-27 18:44:38 +01:00
John Cupitt
01a92679b5
oop left some DEBUG turned on
2019-06-27 17:34:07 +01:00
John Cupitt
72c103f95a
Revert "remove no-alpha webp support"
...
This reverts commit d1094847a3
.
2019-06-27 17:27:53 +01:00
John Cupitt
80648c2d2f
text autofit could sometimes underfit
...
The autofit loop would terminate if either width or height fitted exactly,
but this could happen very early by chance. This patch makes it keep
looping until it finds a dpi which just fits.
See https://github.com/libvips/libvips/issues/1352
2019-06-27 17:19:53 +01:00
John Cupitt
d1094847a3
remove no-alpha webp support
...
We used to try to spot webp images with no alpha and load them as plain
RGB, but it turns out this is difficult to do reliably, especially
for animated images.
This patch simply removes support, so all webp images now load as RGBA.
See https://github.com/libvips/libvips/issues/1351
2019-06-27 16:37:11 +01:00
Tomáš Szabo
42218cd613
formatting: use tabs instead of spaces
2019-06-21 15:59:32 +02:00
Tomáš Szabo
ae50136845
feat: support frame delays
2019-06-21 15:06:22 +02:00
John Cupitt
ea2367e24c
forgot to rename the wrapper script
...
and add tiny dbg to gifload
2019-06-20 12:18:40 +01:00
John Cupitt
2aef873fcd
add vips_image_get/set_array_int()
2019-06-20 11:32:47 +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
65c41ef7a5
fix a couple of clang compiler warnings
2019-06-15 17:35:46 +01:00
John Cupitt
75e69cc1e5
disable Orc if CET is on
...
If we are building with -fcf-protection (run-time checking of
indirect jumps) then Orc won't work. Make sure it's off.
Orc may support -fcf-protection in the future, but does not in June 2019.
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection
https://gitlab.freedesktop.org/gstreamer/orc/issues/17
see https://github.com/libvips/libvips/issues/1006#issuecomment-501802550
2019-06-14 14:22:00 +01:00
John Cupitt
db36e19ffa
note PNG XMP support in docs
2019-06-13 09:26:09 +01:00
John Cupitt
37a3a6322c
remove 256 band limit from arithmetic.c
...
there was a fixed-size array in vips__bandup()
see https://github.com/libvips/libvips/issues/1335
2019-06-12 09:22:30 +01:00
John Cupitt
ad98222073
better behaviour for vips_region_fetch()
...
we weren't clipping the fetch area against region valid, so in some
cases we could return many more pixels than expected
see https://github.com/libvips/pyvips/issues/103
2019-06-09 20:38:13 +01:00
John Cupitt
eaaa203f0a
better compat with older IM
...
in the ismagick() test
2019-06-08 17:32:04 +01:00
John Cupitt
dc8555201d
use our sniffer as well is ismagick()
...
We need to check files for magickload with our sniffer as well as the
imagemagick one.
2019-06-08 17:13:49 +01:00
John Cupitt
bb75535151
much faster ismagick
...
We used to Ping files to see if IM would load them, but this can be
extremely slow for file formats like ARW.
Instead, use GetImageMagick() ... it just checks the magic number.
2019-06-08 16:47:40 +01:00
John Cupitt
eb6c803481
istiff tests first dir rather than magic number
...
We were testing for TIFF by checking the magic number at the head of the
file. However, formats like ARW are TIFF-like without being TIFF, and
will not load with tiffload.
Instead, try reading the whole of the first directory. This is enough to
stop tiffload trying to load files where it will simply fail
immediately, and make libvips fall back to eg. imagemagick.
see https://github.com/libvips/libvips/issues/1304
2019-06-07 17:52:13 +01:00
John Cupitt
dc16f1253a
fix a memleak in tiff pyr to memory
...
we were not freeing layers other than the top layer
2019-06-06 10:20:14 +01:00
Lovell Fuller
8d0a42efe2
Ensure WebP quality option is set for lossless
2019-06-05 23:01:06 +01:00
John Cupitt
5657099223
fix composite for some combinations of blend modes
...
composite could get mixed up blend modes if:
- many images being composited
- some small and positioned with x/y
- at least one unskippable blend mode
phew!
2019-06-04 15:24:54 +01:00
John Cupitt
81861baee9
add note to docs in vips_init()
2019-05-30 19:46:05 +01:00
John Cupitt
675c6361eb
revise page-height rules again
...
Only set `page-height` if `n` is set as an argument. This means you only
get a multi-page image if you specifically ask for it.
2019-05-29 14:18:46 +01:00
John Cupitt
bd8a6980f5
more consistent behaviour for multi-page load
...
Some loaders were setting page-height even when the user was loading a
single page triggering unexpected multi-page behaviour from later
savers.
New rule: only set page-height when loading more than one page.
See https://github.com/libvips/libvips/issues/1318
2019-05-29 10:10:28 +01:00
John Cupitt
c7e213a9fa
LinearGRAYColorspace is rather recent, it seems
2019-05-24 17:47:50 +01:00
John Cupitt
02bdb8b96c
better error message for "unsupported colorspace"
...
we just printed the enum number before
2019-05-24 17:42:10 +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
da402cee23
faster and more accurate bilinear
...
go to fixed point earlier in calculation of interpolation coefficients
2019-05-14 13:10:45 +01:00
John Cupitt
29d9673fd8
update comment
2019-05-14 08:20:30 +01:00
John Cupitt
44afdbc314
more accurate bicubic of int16 images
...
use float path for int16 -- the fixed-point path can miss by a small
amount
see https://github.com/libvips/libvips/issues/1309
2019-05-13 22:05:41 +01:00
John Cupitt
c9ba0915c1
more accurate bilinear for int16 pixels
...
fixed-point interpolation could give small errors
see https://github.com/libvips/libvips/issues/1309
need a similar change for bicubic etc.
2019-05-13 18:32:48 +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
d5ca1ddfd4
all tested and working
...
revised formula for in/out/dest-in/dest-out, for vector and scalar paths
see https://github.com/libvips/libvips/issues/1301
2019-05-08 18:16:40 +01:00
John Cupitt
447e0f3ea2
Merge branch 'master' into revise-composite
2019-05-08 16:14:01 +01:00
John Cupitt
3921e63561
fix vips image writes of more than 2gb
...
With very wide images and huge numbers of threads, it was possible to
trigger an int overflow in write_vips().
Thanks @erdmann
See https://github.com/libvips/libvips/issues/1306
2019-05-07 13:56:52 +01:00
John Cupitt
bcdaeca578
fix anim webp load for some sizes
...
rounding on resize for each frame needs to match resize for whole image
2019-05-01 16:34:58 +01:00
John Cupitt
b1c995b2d9
more animated webp load fixes
...
webpload scale on load works for animated images
2019-05-01 16:25:13 +01:00
John Cupitt
37865e34f8
oop silly webp jpg mixup in last commit
2019-04-30 20:07:08 +01:00
John Cupitt
394f9baa5e
deprecate webpload @shrink, use @scale instead
...
We need a fractional scale for thumbnail on webp to work well. @shrink
still works, but @scale overrides it.
2019-04-30 18:29:16 +01:00
John Cupitt
29d29533d4
better pdfload page size rounding
...
We were doing simple round down for page size with @scale param. But
this makes it very sensitive to rounding errors, so do rint() instead.
vips-resize() does rint() on the output size as well for the same
reason.
See https://github.com/libvips/libvips/issues/1297#issuecomment-487682785
2019-04-30 16:08:26 +01:00
John Cupitt
7326a409c6
reenable webp shrink-on-load in thumbnail
...
the breakage is in animated webp load with preshrink rather than
thumbnail
2019-04-29 17:30:34 +01:00
John Cupitt
ea9e477ad3
better gif-loop handling (again)
...
setting loops to 0 was broken
2019-04-29 17:12:20 +01:00
John Cupitt
522ddc1430
better thumbnailing of multipage docs
...
shrink-on-load should now work for multipage PDF thumbnailing
see https://github.com/libvips/libvips/issues/1297
2019-04-29 17:05:19 +01:00
John Cupitt
8482aa3ff1
tiny cleanup
...
some left-over pyramid detection code in tiff2vips
2019-04-29 12:52:47 +01:00
John Cupitt
53b43e0497
fix setting of iterations in magicksave
...
ImageMagick uses 0 to mean unset, so we must always add 1. See
coders/gif.c.
See https://github.com/libvips/libvips/issues/1302
2019-04-29 08:43:39 +01:00
John Cupitt
b100f5a025
start revising composite again
...
we can get ugly sparkles in transparent areas in some cases ... start
reworking some modes
see https://github.com/libvips/libvips/issues/1301
2019-04-29 07:43:14 +01:00
John Cupitt
efadb5dc42
fix thumbnail shrink-on-load
...
we had the alignment check in the wrong place
2019-04-27 22:33:20 +01:00
John Cupitt
120c3b62d9
more cmyk jpg tweaks
...
passes tes_formats.sh now
2019-04-27 13:27:18 +01:00
John Cupitt
536c76f966
Merge branch 'master' into improve-cmyk-jpg
2019-04-27 11:02:26 +01:00
Lovell Fuller
aff0c4cde5
Ensure png_set_interlace_handling before png_read_update_info
2019-04-26 22:29:16 +01:00
John Cupitt
3245dd301b
Merge branch 'master' into szi-associated
2019-04-25 17:25:32 +01:00
John Cupitt
4a9db0e83f
fix animated webp background handling
...
We were using WEBP_FF_BACKGROUND_COLOR as the background colour, but
that's not correct, it should always be zero (transparent).
WEBP_FF_BACKGROUND_COLOR is there just as a hint when flattening down to
plain RGB.
2019-04-24 18:18:21 +01:00
John Cupitt
0102a10b49
seems to work
2019-04-24 17:04:31 +01:00
John Cupitt
0df3f0268c
Merge branch 'master' into revise-thumbnail
2019-04-24 16:11:25 +01:00
John Cupitt
bb22f66453
oop remove git markup
2019-04-24 16:11:08 +01:00
John Cupitt
8b71d0179c
Merge branch 'master' into revise-thumbnail
2019-04-23 20:27:30 +01:00
John Cupitt
d2a9a20a78
fix thumbnail regression with cmyk in and out
...
56d98f3ef0
broke cmyk->cymk thumbnails
2019-04-23 17:09:20 +01:00
John Cupitt
56d98f3ef0
thumbnail no longer needs to import cmyk
...
since colourspace knows about cmyk now
2019-04-23 11:35:13 +01:00
John Cupitt
12bc5fbbe3
revise set_stacksize() once more
...
so we g_info() if we change it
2019-04-23 10:12:08 +01:00
John Cupitt
76aca0370f
revise set_stacksize() again
2019-04-23 10:01:35 +01:00
Abdul Chaudhry
c6b9015799
fixes set_stacksize
2019-04-22 09:09:05 -07:00
John Cupitt
23955c8511
Merge branch '8.7'
2019-04-21 11:41:26 +01:00
John Cupitt
4a7b80cc26
ban chroma subsample in non-jpg tiffs
...
tiffcp barfs on these too
2019-04-21 11:39:31 +01:00
John Cupitt
27d8cd40fe
Merge branch '8.7'
2019-04-20 17:35:39 +01:00
John Cupitt
472293c8ed
rationalize member names in tiff read
...
they were rather confusing
2019-04-20 17:34:59 +01:00
John Cupitt
b26b2105dc
oop dbg code committed by mistake
2019-04-20 12:14:27 +01:00
John Cupitt
7e4ebb3a94
fix stacksize on glibc
...
- need to define _GNU_SOURCE for glibc to get pthread_setattr_default_np()
- don't warn if we already have enough stack
- reformat to libvips standard
- add note to docs
see: https://github.com/libvips/libvips/pull/1291
2019-04-20 12:07:27 +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
8fbbfd752f
set png chunk limit to 50mb
...
we did have it unlimited, which could perhaps leave us open to DOS
attacks
2019-04-20 10:29:24 +01:00
John Cupitt
ee854d43c4
add configure test for png_set_chunk_malloc_max
2019-04-20 06:07:18 +01:00
John Cupitt
8d7e03237a
allow huge png metadata chunks
...
By default, libpng refuses to open files with a metadata chunk larger than
8mb. Disable this sanity check.
See: https://github.com/lovell/sharp/issues/1664
2019-04-20 05:54:37 +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
5301df3d6b
Merge branch '8.7'
2019-04-19 16:47:51 +01:00
John Cupitt
6acfcb0506
don't attempt to read YCBCR tiffs in scanlines
...
scanline read of YCBCR images will crash libtiff
2019-04-19 16:46:53 +01:00
John Cupitt
56e5e3c714
fix memleak on read error in webp
...
webp read could leak under some error conditions
2019-04-19 15:17:27 +01:00
John Cupitt
3a940e7080
note leak fix
2019-04-19 15:10:56 +01:00
John Cupitt
da2773000a
oop remove dbg code
2019-04-19 15:03:33 +01:00
John Cupitt
7aa46b258a
fix memleak in jpegsave_buffer with some errors
...
under some error conditions, jpegsave_buffer could forget to release a
half-built image
2019-04-19 15:01:20 +01:00
John Cupitt
c98da89ac9
Merge branch '8.7'
2019-04-19 12:47:35 +01:00
John Cupitt
691383c2b8
better rejection of broken embedded profiles
...
icc_import and _transform now test the embedded profile more carefully.
It must now be a valid profile and must be compatible with the image.
see https://github.com/libvips/libvips/issues/1286
2019-04-17 16:19:38 +01:00
John Cupitt
c8ba6fcae5
tiny cleanups
2019-04-16 18:11:37 +01:00
John Cupitt
ce24917d4a
only read webp bg in anim
...
non-anim webp does not use the background property
see https://github.com/libvips/libvips/issues/1261
2019-04-16 17:52:09 +01:00
John Cupitt
bafc5775f0
fix ms/cs mixup in webp load/save
...
there was a mixup between milliseconds (what webp uses for timestamps)
and centiseconds (what gif uses for delay times)
2019-04-16 17:12:57 +01:00
John Cupitt
670d109a67
fix webp anim load
...
we were dropping the first frame and duplicating the last frame, thanks
to a < / <= mixup
see https://github.com/libvips/libvips/issues/1261
2019-04-16 16:54:47 +01:00
John Cupitt
e081ae2d99
experiment with app14 decode
2019-04-15 10:50:42 +01:00
John Cupitt
6a3b197f31
smoother aniamted webp write
...
set the timestamp for the fake final frame equal to the last actual
frame ... removes the anim hitch
we are still mysteriously dropping a frame though
see https://github.com/libvips/libvips/issues/1261
2019-04-12 17:06:42 +01:00
John Cupitt
827d8bca7e
fix make dist
2019-04-11 18:20:39 +01:00
John Cupitt
6ea7085116
missing ! on vips_dbuf_write_amp()
2019-04-11 17:14:24 +01:00
John Cupitt
080ab87d37
Merge branch 'master' into HEAD
2019-04-11 16:18:39 +01:00
John Cupitt
91d0e7e3d0
move kill mechanism to public API
...
the vips_image_set_kill() system was internal. Move it to the public
API.
See eg.:
https://github.com/kleisauke/net-vips/issues/31
2019-04-06 16:53:42 +01:00
John Cupitt
66f1b4408c
never use tiff memcpy mode for ycbcr images
...
We were still using memcpy mode for some strip YCbCr images. Clean up
read var naming to make the logic easier to follow.
2019-04-01 17:10:10 +01:00
John Cupitt
1f100c0c42
better buffer sizing in tiff reader
...
We were not setting JPEGCOLORMODE_RGB early enough, so buffers could be
undersized in some circumstances.
Thanks omira-sch.
2019-03-31 12:55:30 +01:00
Crashoz
9967ed2455
Fixed vips_rect
...
Fixed typo that broke function vips_rect
2019-03-22 15:43:10 +01:00
John Cupitt
57ce5a3343
set interlace flag for interlaced pngs
...
if libpng is recent enough
2019-03-20 21:50:56 +00:00
John Cupitt
640994b64a
fix a possible segv writing images to buffers
...
if write failed, vips_image_write_to_buffer() could segv
thanks @dbouron !
see https://github.com/libvips/libvips/issues/1248
2019-03-20 17:32:44 +00:00
John Cupitt
18c12fd66d
remove some old sanity-checks
...
regions can have null generate now
2019-03-20 16:28:22 +00: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
d7f9ad8b41
improve base64 encode
...
- better data source too large check
- could write up to three bytes too far in worst case
- remove dead base64.h
- add an assert for overflow
see https://github.com/libvips/libvips/issues/1263
2019-03-20 12:50:44 +00:00
John Cupitt
16d6e995a3
update assert in png read
...
Strip height in PNG read assert was out of date, casuing errors when
built with debug enabled.
see https://github.com/libvips/libvips/issues/1260
2019-03-19 14:04:32 +00:00
John Cupitt
8db4373be0
revert debugging change committed by mistake
2019-03-18 17:08:30 +00:00
John Cupitt
8c2fff0a44
Merge branch 'master' of github.com:libvips/libvips
2019-03-16 11:53:53 +00:00
John Cupitt
da15285bf9
add support for justified text
...
And set xoffset/yoffset to the top line of text output.
https://github.com/libvips/libvips/issues/1258
2019-03-16 11:53:09 +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
c4ce5f0084
Merge branch 'master' of github.com:libvips/libvips
2019-03-14 12:54:59 +00:00
John Cupitt
40733d4482
openslide tile cache was too small
...
we were reloading tiles when fetching areas that crossed tile boundaries
2019-03-14 12:05:15 +00:00
John Cupitt
681565f1e3
fix anim webp delay check
...
only test frame duration for animated webp images
thanks Kleis
see https://github.com/libvips/libvips/pull/1257
2019-03-13 19:09:26 +00:00
kleisauke
f40eb5ec13
Fix thumbnailing of a WebP image
2019-03-13 17:33:07 +01:00
John Cupitt
a663a1bb1c
add vips_region_fetch() etc.
...
to help ML applications ... they let us generate lots of small rectangular
areas of images very quickly
2019-03-12 16:00:24 +00:00
John Cupitt
4f2112a4e9
fix memleak in canny
2019-03-11 11:35:25 +00:00
John Cupitt
3d889d9395
docs for heifload autorotate
2019-03-07 08:12:14 +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
3010a4a865
remove autorotate from libheif
...
not possible to support this properly with current libheif
2019-03-05 17:26:08 +00:00
John Cupitt
f209870e7b
start trying to fix autorotate for heif images
2019-03-05 15:35:58 +00:00
John Cupitt
27f1d28b61
fix heif autorotate
...
we were not flipping width/height if the image was rotated
thanks leslie-wang
2019-03-04 15:55:41 +00:00
John Cupitt
7ede9de631
fix heifload with debug on older libheif
...
and adjust line size for some loaders
2019-03-04 10:43:13 +00:00
John Cupitt
f06a01ccbe
better toilet-roll detection
2019-03-04 09:55:53 +00:00
John Cupitt
29d33b2753
start work on toilet-roll thumbnails again
2019-03-02 22:13:55 +00:00
John Cupitt
15ee957ea9
Merge branch 'master' into revise-thumbnail
2019-03-02 22:06:23 +00:00
John Cupitt
64c7165759
fix some clang warnings
2019-03-02 16:23:19 +00:00
John Cupitt
33d90b5e26
only enable sanity checks in debug mode
...
We had a couple of sanity checks always on. As a result, libvips could
get slow for large pipelines.
Move them into g_assert().
2019-03-01 13:01:08 +00:00
John Cupitt
b565f2fc68
more accurate bilinear
...
use double, not float, for coefficient calculation, or we get overshoots
in some cases
see https://github.com/libvips/libvips/issues/1239
2019-02-27 20:33:31 +00:00
John Cupitt
90ca1d8038
tiny format polish
2019-02-27 18:23:11 +00:00
John Cupitt
e27c290856
glib version change
2019-02-27 14:24:17 +00:00
John Cupitt
a05a2cb52d
mild refactoring of threadpool
...
clean up and simplify after https://github.com/libvips/libvips/pull/1240
2019-02-27 14:23:43 +00:00
John Cupitt
3324ed8a2f
Merge pull request #1240 from jtorresfabra/fix_hidden_threapool_leak
...
Fix for hidden leaks in ThreadPool
2019-02-27 13:41:17 +00:00
jtorresfabra
8c8affab7f
ThreadPool was allocating memory for threads and pools locally to the image object. As that image could not be freed from cache, for each sink operation done for that image the code was creating new pools and threads without freeing the previous one. SO the more number of threads and the more operations the bigger the hidden leak was. The fix just creates the objects not locally to that image, and also free them in its destroy functions
2019-02-27 13:01:45 +01:00
John Cupitt
793cbeeaa7
add note abut region_shrink to changes
...
somehow got dropped
2019-02-24 20:13:18 +00:00
John Cupitt
27195cc92c
add vips_foreign_get_suffixes()
...
Add vips_foreign_get_suffixes(), get an array of all the filename suffixes that
libvips recognises.
See https://github.com/libvips/ruby-vips/issues/186
2019-02-23 13:50:10 +00:00
John Cupitt
52242cd70d
move orc init out of abs class init
2019-02-22 09:48:38 +00:00
John Cupitt
65a259a025
prevent /0 in freq mask for very small masks
...
see https://github.com/libvips/libvips/issues/1236
2019-02-20 15:15:50 +00:00
John Cupitt
2fb81b8ed6
prevent /0 in eye for width/height 1
...
see https://github.com/libvips/libvips/issues/1236
2019-02-20 15:00:00 +00:00
John Cupitt
4af242b599
fix travis compiler warnings
...
- older libpng don't have consts decls for some set/get funcs
- use g_ascii_strcasecmp() on program text strings (instead of strcasecmp)
2019-02-20 12:49:59 +00:00
John Cupitt
cae57d5670
make heif load/save work with 1.3.2
2019-02-20 12:30:12 +00:00
John Cupitt
8523c306fe
remove stray variable decls
2019-02-20 12:04:52 +00:00
John Cupitt
cf860b27fa
start working over thumbnail to support anim
2019-02-19 17:27:23 +00:00
John Cupitt
1a83605238
Merge branch 'add-heifload'
2019-02-17 17:11:14 +00:00
John Cupitt
d4ddfa5eb4
note recent magick changes in headers
2019-02-17 12:41:59 +00:00
John Cupitt
f41c1439c9
just one sink_disc() for magicksave
...
we used to cut the input image into tiles, then sink_disc() for each one
... instead, make a single sink_disc() and chop in _generate
simpler and faster
2019-02-17 12:28:13 +00:00
John Cupitt
30b5c49d0b
set dispose in magicksave
...
since we always give complete new frames
revise gifload slightly too
2019-02-16 17:37:23 +00:00
John Cupitt
ca60cc30aa
clean up
2019-02-16 15:54:11 +00:00
John Cupitt
044abe7986
fix some tilecache issues too
2019-02-16 15:32:45 +00:00
John Cupitt
d156e34ee4
cogs.gif doesn't load properly
...
we're not disposing at the correct point, I think
2019-02-15 17:56:49 +00:00
John Cupitt
38e0cbb12a
speed up tilecache
...
with a simple LRU queue of recent tiles
better cmap handling for gifload as well
2019-02-15 17:27:20 +00:00
John Cupitt
1f681df339
trim old gifload source
2019-02-14 16:35:54 +00:00
John Cupitt
09ed7a48d3
Merge branch 'revise-gifload'
2019-02-14 16:35:18 +00:00
John Cupitt
4ed0ce3e2e
remove old gif loader
2019-02-14 16:34:59 +00:00
John Cupitt
25f0f652d1
works!
2019-02-14 15:31:33 +00:00
John Cupitt
bfa1f22520
works!
...
tuned a bit too
2019-02-14 15:22:51 +00:00
John Cupitt
b02a50aaed
two small fixes
2019-02-14 10:13:17 +00:00
John Cupitt
617d910379
almost loading
2019-02-13 18:04:30 +00:00
John Cupitt
37613c196d
fix jpeg xmp read/write
...
it was not removing/reattaching the magic XMP URL
see https://github.com/libvips/libvips/issues/1229
2019-02-11 18:16:20 +00:00
John Cupitt
e12b44e790
fast header method works
...
need to rework _load next
2019-02-11 08:38:43 +00:00
John Cupitt
7037377f15
add _header scan of whole gif
2019-02-10 22:09:25 +00:00
John Cupitt
9fe013f72d
move file stuff into subclass, add rewind
2019-02-10 05:26:07 +00:00
John Cupitt
a454225ef7
split off the old loader as gifload2
2019-02-09 12:23:21 +00:00
John Cupitt
2968bee3fa
add n-pages metadata to gifload
...
gifload was not setting the n-pages metadata item.
n-pages is supposed to be the number of pages in the original file (not
the number of pages libvips loaded), but we don't always know this for
gif, since you have to decode the entire file to count the pages.
As a compromise, set it to the page number of the final page we read.
See https://github.com/lovell/sharp/issues/1566
2019-02-08 10:53:57 +00:00
John Cupitt
931b661d2b
fix up and test with im6/im7/gm
...
seems to work! phew
2019-02-07 18:35:51 +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
John Cupitt
10b3000581
reorganise magicksave a little
2019-02-06 10:24:11 +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
f23d0fd754
note new option_string param in changelog
2019-02-03 12:27:58 +00:00
kleisauke
f40062c495
s/open_args/option_string/g
2019-02-03 12:29:54 +01:00
kleisauke
05c459cc28
vips_thumbnail_buffer: add optional open_args argument ( #1147 )
2019-02-02 09:26:12 +01:00
John Cupitt
097bb815b7
pdfium load as well
2019-01-30 20:59:40 +00:00
John Cupitt
671b3e76f5
set page-height more often in pdfload
2019-01-30 20:58:47 +00:00
John Cupitt
308c85c004
add support for stored heif thumbnails
2019-01-30 16:19:11 +00:00
John Cupitt
6a75536619
add @thumbnail support to heifload
2019-01-30 15:20:10 +00:00
John Cupitt
50a955e357
add autorotate to heifload
...
and remove the ignore_transformations option
2019-01-30 13:17:36 +00:00
John Cupitt
622c08b562
set primary on heifsave
2019-01-30 11:37:01 +00:00
John Cupitt
4a461e2507
fix data return from heifsave_buffer
2019-01-30 04:18:49 +00:00
John Cupitt
62ba86cfd0
add heif buffer save
2019-01-29 17:21:13 +00:00
John Cupitt
a837b66cc1
add strip support to heicsave
2019-01-29 16:53:39 +00:00
John Cupitt
cae7838f86
heifsave seems to work
2019-01-29 16:40:34 +00:00
John Cupitt
a833764878
start heifsave
2019-01-29 10:27:00 +00:00
John Cupitt
07e5f30829
add heifload_buffer
2019-01-29 01:48:10 +00:00
John Cupitt
3d768ef635
split to a separate heif file class
2019-01-28 22:16:56 +00:00
John Cupitt
ff711e97ef
add support for ignore_transformations
...
so you can turn off orientation etc. for heif images
2019-01-28 15:30:15 +00:00
John Cupitt
472f9da0ad
add XMP read to heifload
2019-01-28 14:30:12 +00:00
John Cupitt
ed7c6b9fd4
cleanups
...
xmp next
2019-01-27 13:20:06 +00:00
John Cupitt
95b328ccef
add multi-page load to heifload
...
seems to work
2019-01-27 12:57:08 +00:00
John Cupitt
40e272ce99
Merge pull request #1218 from lovell/profile-load-leaks
...
profile_load: ensure once-ness, prevent profile use-after-free (master)
2019-01-25 12:51:38 +00:00
Lovell Fuller
97a98bcb7d
Ensure once is invoked once, prevent profile use-after-free
2019-01-25 11:33:40 +00:00
John Cupitt
2835948070
fix typo in docs
2019-01-25 05:04:24 +00:00
John Cupitt
d75b007191
start adding multipage input
2019-01-24 19:01:55 +00:00
John Cupitt
086f1b2ba8
add note on profile types
2019-01-20 21:38:24 +00:00
John Cupitt
e131f173a0
fix up exif parse, add icc profile attach
2019-01-20 21:08:06 +00:00
John Cupitt
5e78ae9b1e
add exif support to heifload
...
potentially other metadata too, though I don't have any to test with
2019-01-20 17:55:56 +00:00
John Cupitt
33fd2a48f0
basic load works
...
no metadata, no options
2019-01-20 11:33:12 +00:00
John Cupitt
dcba364efa
Merge branch 'zero-mem-on-malloc'
2019-01-18 11:31:11 +00:00
John Cupitt
00622428bd
zero memory on malloc
...
to prevent write of uninit memory under some error conditions
thanks Balint
2019-01-18 10:10:43 +00:00
John Cupitt
c24e47e3a8
fix profile attach on colour output
...
some dead code needed removing
https://github.com/libvips/libvips/issues/1194#issuecomment-455164899
2019-01-17 16:36:25 +00:00
John Cupitt
1824c64c06
break >80 char line
2019-01-17 08:59:14 +00:00
Lovell Fuller
a264f812ac
Ensure ICC profile data is freed after use
2019-01-16 21:49:47 +00:00
John Cupitt
a7122d7a85
revise XYZ2CMYK fallback path
...
better epsilon detect, add a test
2019-01-16 21:02:01 +00:00
John Cupitt
a67f92b8d9
reformat in vips style
2019-01-16 20:18:09 +00:00
John Cupitt
d3c73b4d39
Merge pull request #1196 from dbouron/cmyk2srgb
...
Add cmyk <-> srgb colourspace conversion
2019-01-16 20:08:35 +00:00
Dimitri Bouron
5f61727253
Fix black channel overwrite in XZY2CMYK.c
2019-01-16 19:06:36 +01:00