John Cupitt
d1dd41a21f
strict round down on jpeg shrink
...
libjpeg rounds up on shrink-on-load. In some cases this can leave a dark
line along the right and bottom edge, since it only contains (for
example) 1/4 of a pixel of data.
This change adds a crop after jpeg load so that only complete pixels are
output.
See https://github.com/lovell/sharp/issues/1185
2018-04-10 15:18:18 +01:00
John Cupitt
15abbbe986
set "interlaced" for jpg and png
...
set "interlaced" for interlaced png and jpg images
2018-04-09 17:14:38 +01:00
John Cupitt
06802e4110
use O_TMPFILE, if available
...
If O_TNMPFILE is available, use it. This is a linux extension that
creates an unlinked file, so it'll be closed by the system when the last
associated fd is closed.
see https://github.com/jcupitt/libvips/pull/930
2018-04-09 13:27:57 +01:00
John Cupitt
f3842dcc4b
update cpp example
...
thanks fangqiao
see https://github.com/jcupitt/libvips/issues/932
2018-04-08 11:44:15 +01:00
John Cupitt
5f3bcd88ae
Merge branch '8.6'
2018-04-04 17:11:16 +01:00
John Cupitt
632bce3c78
reduce stack use for radsave
...
fixes a crash on very low stack libcs like musl
2018-04-04 16:25:35 +01:00
John Cupitt
aebb8af803
create funcs always make MULTIBAND
...
Before, they could make B_W for one-band output. This caused problems
with (for example) two black image bandjoined: the second band then
looked like an alpha to hasalpha() and enabled premultiply/unpremultiply
for operations like affine.
Now, it's always MULTIBAND. This is the generic multiband image type, so
you don't get any unexpected alpha handling.
2018-04-04 09:22:57 +01:00
John Cupitt
0dd6b095aa
more conservative hasalpha
...
The result of hasalpha is used to turn on things like
premultiplication, so we should be rather conservative
about when we signal this. We don't want to premultiply
things that should not be premultiplied.
Check Type as well as bands.
See: https://github.com/jcupitt/libvips/issues/918
2018-04-03 14:36:43 +01:00
John Cupitt
e686614f2c
drop incompatible profiles from save
...
libpng has started throwing hard errors if the profile does not match
the image -- this can happen all the time with perofiles inherited from
images that have been processed.
Test profiles before save and drop them (with a warning) if they are
incompatible with the image.
2018-04-01 10:32:48 +01:00
John Cupitt
5176b4a17e
better header sniffing for small files
...
vips__get_bytes() used to fail if the file was too small for the
allocated buffer, which was a problem for svg, since files can be extremely
small.
This change makes vips__get_bytes() return the number of bytes read, so
the is_a testers can work on files smaller than the max header size.
2018-03-22 12:08:39 +00:00
John Cupitt
5a1ab5968b
move svg_ia_a into the base class
...
feels a bit more logical
2018-03-22 10:43:01 +00:00
John Cupitt
754a1e5419
Merge branch 'master' into add-canny
2018-03-14 14:18:39 +00:00
John Cupitt
206f158a77
Merge branch '8.6'
2018-03-12 18:12:56 +00:00
John Cupitt
878c77a035
better handling of some fonts
...
fonts with very large overlapping edges copuld clip in `text`, see
https://stackoverflow.com/a/49169747/894763
2018-03-12 18:11:25 +00:00
John Cupitt
08dcf29b10
add vips_rotate()
...
vips_similarity() was a little hatrd to discover, so add vips_rotate()
as a more obvious name for it
2018-03-10 18:45:39 +00:00
John Cupitt
5834779ac6
Merge branch 'master' into add-canny
2018-03-10 15:13:49 +00:00
John Cupitt
0a05dd4304
Merge branch '8.6'
2018-03-09 16:37:10 +00:00
John Cupitt
29e05dabaf
icc_import attaches the input profile if used
...
icc_import can take a fallback input profile in case the embedded one is
broken or missing. If we use the fallback profile, this change attaches
it to the output image.
This means that icc_import will always output an image with the icc
profile that was used to import it. This helps to make the behaviour of
`thumbnail` more consistent.
See https://github.com/jcupitt/libvips/issues/152
2018-03-08 13:11:54 +00:00
John Cupitt
6e0e31a534
Merge branch '8.6' into add-canny
2018-03-05 15:21:30 +00:00
John Cupitt
6fae79b60d
Merge branch '8.6'
2018-03-05 15:09:08 +00:00
John Cupitt
20d840e6da
fix a crash with delayed load
...
If a delayed load failed, it could leave the pipeline only half-set up.
Sebsequent threads could then segv.
Set a load-has-failed flag and test before generate.
See https://github.com/jcupitt/libvips/issues/893
2018-03-05 14:42:09 +00:00
John Cupitt
7f5b0b94c3
Merge branch '8.6' into add-canny
2018-03-04 18:45:59 +00:00
John Cupitt
881a10380e
Merge branch '8.6'
2018-03-04 18:45:51 +00:00
John Cupitt
eefb2dad98
improve rounding in convi intize
...
We were rounding up with ceil() when intize-ing convolution masks.
However, the vector path has a true range of (1.0, -1.0], so a mask with
1.0 as the max (for example) was actually triggering the overflow detector
and falling back to the C path.
Round up with ceil(x + 1) instead, so 1.0 (for example) will be mapped
to 0.5 and won't overflow.
2018-03-04 18:30:25 +00:00
John Cupitt
bca2418d9a
Merge branch 'master' into add-canny
2018-03-04 15:31:19 +00:00
John Cupitt
e7a5a8af4a
Merge branch '8.6'
2018-03-04 15:31:08 +00:00
John Cupitt
6cff74b602
vips_image_write() could crash if called twice
...
two writes in a row could trigger a crash in some circumstances, thanks
@dirceupj
see https://github.com/jcupitt/ruby-vips/issues/156
2018-03-04 15:14:06 +00:00
John Cupitt
4a59fa652c
make vips_sobel()
...
cut out of vips_canny()
2018-02-26 18:33:20 +00:00
John Cupitt
a9b4aeb13a
Merge branch '8.6'
2018-02-21 19:01:43 +00:00
John Cupitt
bbe42e13fa
version bump
2018-02-12 12:39:53 +00:00
John Cupitt
ce1f236c4d
another 2x faster on hough_line
2018-02-02 09:12:31 +00:00
John Cupitt
78db92e60e
better hough_line
...
2x faster, better parameter space, but breaks compat :( sorry
2018-02-01 20:41:14 +00:00
John Cupitt
5a4b4e196d
allow remove thumbnail from exif
...
if the user has removed (or set to NULL) the "jpeg-thumbnail-data" tag,
remove it from the image EXIF on save
see https://github.com/jcupitt/ruby-vips/issues/147
2018-02-01 16:15:02 +00:00
John Cupitt
749f4a902a
Merge branch '8.6'
2018-01-31 20:47:01 +00:00
John Cupitt
e8958cb8ae
improve changelog
2018-01-31 20:45:14 +00:00
John Cupitt
01eed391ab
add sync locks to vips_sink()
...
vips_sink() used to just fire off threads willy nilly -- this could
cause problems with sequential images if a worker fell too far behind
the pack
copy over the area locking mechanism from vips_sink_memory(): new
threads are now stalled if an old thread has not finished
2018-01-31 16:25:06 +00:00
John Cupitt
421f659d33
allow 1 mode in composite
...
reused for all joins
see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 10:12:03 +00:00
John Cupitt
5fd2ecf81d
remove limit on n image in composite
...
composite was limited to a max of 64 images ... remove the limit
see https://github.com/jcupitt/pyvips/issues/30
2018-01-30 09:48:34 +00:00
John Cupitt
4865141afa
szi save will write associated images
...
if they have been attached by openslide load
2018-01-28 16:39:13 +00:00
John Cupitt
28391dbfc7
option to attach associated images as metadata
...
you now see:
```
$ vipsheader -a CMU-1.svs[attach_associated] | grep ass
openslide.associated.label: 387x463 uchar, 4 bands, rgb
openslide.associated.macro: 1280x431 uchar, 4 bands, rgb
openslide.associated.thumbnail: 1024x732 uchar, 4 bands, rgb
slide-associated-images: label, macro, thumbnail
```
2018-01-27 16:43:58 +00:00
John Cupitt
de2e3e3299
add vips_image_(get|set)_image()
...
so images can have other images as metadata
2018-01-27 14:49:33 +00:00
John Cupitt
21e1e68771
write scan-properties.xml to szi
...
see https://github.com/jcupitt/libvips/issues/853
2018-01-26 17:20:58 +00:00
John Cupitt
c46f4b15e0
dzsave to szi sets extension correctly
...
see https://github.com/jcupitt/libvips/issues/852
2018-01-26 15:36:43 +00:00
John Cupitt
97a4ed2ca9
fix a c++ warning
...
see https://github.com/jcupitt/libvips/pull/864
2018-01-26 07:56:43 +00:00
John Cupitt
39406877a2
Merge branch '8.6'
2018-01-12 17:23:24 +00:00
John Cupitt
94daa18884
fix read of plane-separate, large-strip tiff
...
TIFFReadScanline() is too fiddly to use on plane-separate, large-strip
images ... ban it!
see https://github.com/jcupitt/libvips/issues/855
2018-01-12 17:04:47 +00:00
John Cupitt
18f530c724
Merge branch '8.6'
2018-01-12 12:02:41 +00:00
John Cupitt
24c07cfde2
revert an accidental ABI break
...
the new window manager code in 8.6.1 changed the prototype of an internal
function which was visible in the public API
this patch renames the function, adds it to an internal header instead,
and adds a stub for the old prototype
see https://github.com/jcupitt/libvips/issues/854
2018-01-12 11:56:17 +00:00
John Cupitt
925667f8d3
Merge branch '8.6'
2018-01-05 16:29:56 +00:00
John Cupitt
1b89d62eb5
fix a race associated with sink_screen
...
sink_screen was not keeping a ref to its input, so in rare conditions
it could try to make a region on a dead image
2018-01-05 16:27:44 +00:00
John Cupitt
68e0067840
note rgb->g improvement
2018-01-03 08:34:15 +00:00
John Cupitt
4c2434ab67
fix memleak in dzsave
...
tree elements were not being freed, thanks lovell
see https://github.com/jcupitt/libvips/issues/837
2018-01-01 11:40:04 +00:00
John Cupitt
39ab05469f
Merge branch '8.6'
2017-12-31 12:57:57 +00:00
John Cupitt
9febc3ac3e
seq could be set on small random images
...
images under the disc threshold opened in random access mode from
sequential loaders would have the seq tag set on them, causing
performance problems with vips_resize()
see https://github.com/jcupitt/libvips/issues/840
2017-12-31 12:56:11 +00:00
John Cupitt
a128149009
Merge branch '8.6'
2017-12-31 10:39:36 +00:00
John Cupitt
77287a938f
fix misspelling of IPTC as IPCT
...
the letters have been accidentally swapped for years
add a compat macro so older code still works
2017-12-31 10:23:27 +00:00
John Cupitt
e12df167e6
Merge branch 'magicksave' of https://github.com/dlemstra/libvips into dlemstra-magicksave
2017-12-23 12:39:50 +00:00
John Cupitt
eea8b61f3f
tiny cleanup
...
make the code for error during jpeg buffer write a little cleaner --
rather than calling the jpeg term method ourselves, have a separate
destroy function for the write buffer
2017-12-19 08:56:51 +00:00
John Cupitt
424b359d33
bump wrapper script version
...
and add a test too
see https://github.com/jcupitt/libvips/issues/834
2017-12-17 10:50:57 +00:00
John Cupitt
19e2e2e208
add credit to changelog
2017-12-16 10:01:04 +00:00
John Cupitt
f4f9667406
remove the 64 image limit on bandary
...
any number of input images now
see https://github.com/jcupitt/libvips/issues/822
2017-12-15 14:21:31 +00:00
John Cupitt
3c0a2e4837
fix window cycling
...
we were repeatedly free-ing and new-ing input mmap windows ... this made
things like zoom out on large images in nip2 much slower than they
needed to be
2017-12-10 17:37:07 +00:00
John Cupitt
e9b7231ac0
add "extend" option to affine
...
so for upsizing with displacement (like resize) we can prevent dark
edges on bright images
see
https://github.com/jcupitt/php-vips/issues/61
2017-12-07 14:51:07 +00:00
John Cupitt
60bd5f6512
add composite2 to notes
2017-12-01 13:37:15 +00:00
John Cupitt
13a693c8bc
Merge branch 'master' into add-extra-dzsave-tiles
2017-12-01 13:33:54 +00:00
John Cupitt
9c8790b40a
setting EXIF data blocks sets other tags too
...
calling vips_image_set() to set the EXIF data block VIPS_META_EXIF_NAME
will automaticaly set other tags, like orientation etc.
2017-11-27 15:15:21 +00:00
John Cupitt
10eef89a7f
update c++ bindings
2017-11-26 17:45:04 +00:00
John Cupitt
406e228c9b
vips_resize() is always centre convention
...
it was corner for downsize, but should be centre to match imagemagick
2017-11-26 15:24:40 +00:00
John Cupitt
7db13412e5
deprecate centre option to resize
...
it's now centre on upsize, corner on downsize
see https://github.com/jcupitt/libvips/issues/705
2017-11-25 14:22:20 +00:00
John Cupitt
5664a0d9b1
dzsave outputs extra tiles along right and bottom
...
the deepzoom spec wants tiles to be written along the right and bottom,
even of those tiles contain no new pixels
this patch seems to work, but needs testing
see: https://github.com/jcupitt/libvips/issues/795
2017-11-24 15:54:22 +00:00
John Cupitt
6a4b249445
add dispose handling
...
see https://github.com/jcupitt/php-vips/issues/59
2017-11-22 17:37:31 +00:00
John Cupitt
27621733f2
add gif-comment
2017-11-22 13:10:06 +00:00
John Cupitt
e56282e1fd
add gif-loop metadata
...
see https://github.com/rokka-io/imagine-vips/issues/3
2017-11-21 16:04:18 +00:00
John Cupitt
a4b89aa370
credit for affine fixup
2017-11-18 15:11:02 +00:00
John Cupitt
fcec6d639b
fix jaggies on the edge of affine output
...
and add a "background" param
2017-11-17 16:30:25 +00:00
John Cupitt
4ea743f5e6
add combine mode to find_indexed
2017-11-03 16:36:09 +00:00
John Cupitt
487c112807
add VIPS_COMBINE_MIN combining mode
...
for vips_compass()
2017-11-02 12:34:01 +00:00
John Cupitt
55e577a2fb
rename nearest as fill_nearest
...
avoid a clash with the nearest-neighbour interpolator
2017-11-01 15:06:37 +00:00
John Cupitt
cdc286e9d6
switch to float distance calculations
...
removes dithering effects along edges
2017-11-01 13:16:36 +00:00
John Cupitt
3b75b1e2ac
fix gcc7 build
...
removed exception specs from deprecated C++ binding
2017-10-24 09:31:23 +01:00
John Cupitt
5ec1d5b72f
fix vipsthumbnail --size Nx
...
oh dear, width but not height size specs to vipsthumbnail were not working
thanks jrochkind
see https://github.com/jcupitt/libvips/issues/781
2017-10-23 22:27:23 +01:00
John Cupitt
dd503c03c6
add vips_value_set_blob_free()
...
simpler for language bindings to call
2017-10-19 16:37:43 +01:00
John Cupitt
68ed42e2fa
make linear and cubic adaptive
2017-10-15 22:09:44 +01:00
John Cupitt
008fd21728
all done
2017-10-14 17:03:48 +01:00
John Cupitt
135d7a4dfb
Merge branch '8.5'
2017-10-11 12:57:18 +01:00
John Cupitt
b4a6e6e309
spelling
2017-10-11 11:24:43 +01:00
John Cupitt
fd1d332892
update change notes
2017-10-11 10:12:01 +01:00
John Cupitt
40f20e5e0a
Merge branch 'master' into gargsms-text-autofit
2017-10-10 13:04:31 +01:00
John Cupitt
12db3e936c
Merge branch '8.5'
2017-10-09 22:35:29 +01:00
John Cupitt
6f16a9df71
fix a crash with heavy use of draw
...
we were leaving a few bits of the original image around after
vips_image_copy_memory(), including the progress signal ... if earlier images
were freed, perhaps by a GC in a language binding, we could get a dangling
pointer
thanks Nakilon, see https://github.com/jcupitt/ruby-vips/issues/140
2017-10-09 22:27:36 +01:00
John Cupitt
3f22424d3b
test for gcc4 and ban vectors
...
it has severe code gen problems, it seems
this seems to ban clang as well, unfortunately
2017-10-07 11:20:21 +01:00
John Cupitt
aae5babfcc
Merge branch 'master' into add-composite
2017-10-01 19:37:26 +01:00
John Cupitt
560f8ac727
add goi note to changelog
...
see https://github.com/jcupitt/libvips/issues/741
2017-10-01 19:35:44 +01:00
John Cupitt
4b24d82e8c
some cleanups, a bit quicker
...
it now has separate premultiplied and not-premultiplied paths
2017-09-27 17:32:05 +01:00
John Cupitt
64be1d89b5
add gravity
2017-09-20 00:43:17 +01:00
John Cupitt
b2f66a3968
add note on svgload improvement
2017-09-17 05:20:48 +01:00
John Cupitt
e346fd639e
built-in python bindings default to off
...
we still make a typelib by default though
use the new pyvips binding instead, "pip install pyvips"
2017-09-13 18:24:32 +01:00
John Cupitt
48680dccc4
remove python test suite
...
it's in pyvips now
2017-09-13 17:45:29 +01:00
John Cupitt
60f212c371
credit!
2017-09-11 11:54:01 +01:00
John Cupitt
0f4feb1b73
note file create time change
2017-09-11 11:22:20 +01:00
John Cupitt
5a37d3e809
add an intent option to thumbnail
...
"intent" lets you set the rendering intent for any ICC conversions --
the default is the (more correct) relative, but "perceptual" can look
better
see https://github.com/jcupitt/libvips/issues/714
2017-08-30 16:34:46 +01:00
John Cupitt
820c279697
Merge branch '8.5'
2017-08-30 14:59:16 +01:00
John Cupitt
653e99ea82
don't build enumtypes so often
...
we were only replacing enumtypes if it had changed, but this meant that
make usually thought it was out of date compared to the source files,
and rebuilt it, which needed perl
now we always replace it, so (hopefully) perl is no longer a
compile-time dependency
2017-08-30 14:37:48 +01:00
John Cupitt
2b70348d23
Merge branch '8.5'
2017-08-29 10:33:45 +01:00
John Cupitt
e2c83fe4bd
fix jpegload fail
...
we were only failing on libjpeg errors, but libjpeg treats very serious
things thaht we want to be able to catch (like truncated files) as warnings
... we must therefore error out if fail is set and libjpeg issues a warning
see https://github.com/lovell/sharp/issues/793
2017-08-29 09:49:38 +01:00
John Cupitt
d12f8e200a
support tiffsave_buffer pyramids
...
add support for tiff pyramid save to memory, thanks bubba
see https://github.com/jcupitt/libvips/issues/702
2017-08-26 16:26:37 +01:00
John Cupitt
2e513eef82
enable seq mode for join
...
much faster for large TIFFs
see https://github.com/jcupitt/libvips/issues/717
2017-08-25 10:53:44 +01:00
John Cupitt
97997d1990
Merge branch '8.5'
2017-08-18 22:13:51 +01:00
John Cupitt
f2576003b7
fix webp upscale in thumbnail
...
we could try to use webp shrink on load to upscale, oops
see https://github.com/jcupitt/libvips/issues/710
2017-08-18 22:08:43 +01:00
John Cupitt
3cf33d7f32
Merge branch '8.5'
2017-08-18 12:32:12 +01:00
John Cupitt
f2c55e80fe
better dzsave with zip output to a file
...
close down output earlier to help mark-sweep bindings
2017-08-18 12:31:24 +01:00
John Cupitt
63550280a4
Merge branch '8.5'
2017-08-04 18:31:25 +01:00
John Cupitt
47a763209a
hide warnings if VIPS_WARNING is defined
...
If VIPS_WARNING is defined, suppress all warning messages from vips by
installing a null log handler.
Libraries should not call g_log_set_handler(), it is supposed to be for
the application layer, but this can be awkward to set up if you are using
libvips from something like Ruby.
This env var hack is a workaround.
see https://github.com/jcupitt/ruby-vips/issues/119
see https://github.com/jcupitt/libvips/issues/544
2017-08-04 18:01:19 +01:00
John Cupitt
e46a56e137
remove lcms1 support
...
it had bitrotted and no longer worked properly
2017-08-02 13:39:28 +01:00
John Cupitt
302f4f2517
Merge branch '8.5'
2017-08-02 11:05:39 +01:00
John Cupitt
58f9757467
fix transparency detection in merge
...
a typo meant we were just testing the first band for zero, not all three
thanks Haida!
2017-08-02 10:41:10 +01:00
John Cupitt
a3b226aa9b
version bump
2017-08-02 10:40:17 +01:00
John Cupitt
639b0f5021
Merge branch '8.5'
2017-07-29 10:40:44 +01:00
John Cupitt
69f70a7e24
Merge branch '8.5' into tweak-smartcrop-8.5
2017-07-28 18:04:23 +01:00
John Cupitt
1e7541bfb8
add find_trim
...
compiles, not yet working
2017-07-25 14:52:45 +01:00
John Cupitt
a8fb38fb6a
Merge branch '8.5'
2017-07-08 16:06:18 +01:00
John Cupitt
64fe910fc5
fix DPI mixup
...
librsvg defaulted to 90 DPI, but libvips to 72 DPI -- add a correction
factor
thanks Fosk!
see https://github.com/jcupitt/libvips/issues/688
2017-07-08 12:31:36 +01:00
John Cupitt
9a1c3f9405
rename 'disc' as 'memory'
...
the old 'disc' flag to open defaulted TRUE and disabled read via disc if you
set it FALSE, which was very confusing
replace it with a flag called 'memory' which defaults FALSE and forces
read via memory if set TRUE
'disc' is still there and still works, it's just tagged as deprecated
see https://github.com/jcupitt/libvips/issues/677
2017-07-07 09:45:49 +01:00
John Cupitt
91457e455a
add "page-height" save property
2017-06-19 09:31:49 +01:00
John Cupitt
5383554724
Merge branch '8.5'
2017-06-12 18:23:07 +01:00
John Cupitt
4d846534b8
transform cmyk->rgb automatically
...
if:
- we are writing a cmyk image
- there is an embedded profile
- the saver does not support cmyk
see https://github.com/jcupitt/libvips/issues/676
2017-06-12 18:19:20 +01:00
John Cupitt
869f3dae04
revise again
...
seems to work on all test images now
2017-06-09 11:50:27 +01:00
John Cupitt
aeff03b951
Merge branch '8.5'
2017-05-29 10:21:02 +01:00
John Cupitt
7bcf0bb93f
don't cache thumbnail
...
thanks tomasc! see
jcupitt/ruby-vips#109
2017-05-29 10:19:21 +01:00
John Cupitt
354921df83
Merge branch '8.5'
2017-05-28 06:34:11 +01:00
John Cupitt
6a189d068b
mark vipsprofile as python2
...
Some distros have python3 as the default, so make vipsprofile explicitly
python2, thanks ioquatix.
See https://github.com/jcupitt/libvips/issues/667
2017-05-28 06:33:58 +01:00
John Cupitt
027b9ccc9c
Merge branch '8.5'
2017-05-26 09:09:33 +01:00
John Cupitt
7b64246af2
fix a couple of issues with huge profiles
...
The base64 encode limit was 1MB, but some huge profiles can get over
that, so it's now 10MB.
transform_save_string_blob() was incorrectly setting a refstring not a
blob as an error fallback, potentially leaving a dangling pointer.
Thanks Jaume!
See https://github.com/jcupitt/libvips/issues/666
2017-05-26 09:04:15 +01:00
John Cupitt
5216d75b83
Merge branch '8.5'
2017-05-19 16:16:16 +01:00
John Cupitt
5df65ec6fd
fix tiff read with page > 0
...
could break edge tiles under some circumstances
2017-05-19 16:07:36 +01:00
John Cupitt
8c8b71d935
Merge branch '8.5'
2017-05-15 11:35:47 +01:00
John Cupitt
2b0ebb0de2
fix test suite thresholds
...
changes in jpg encode/decode mean we must adjust test suite thresholds
2017-05-15 11:21:13 +01:00
John Cupitt
6dbdc173a2
better prefix guessing on Windows
...
see https://github.com/tumagonx/pygi-mingw-patches/issues/5
2017-05-13 11:11:32 +01:00
John Cupitt
82994e4c33
add vips_thumbnail_image()
...
thumbnail with an image source, see
https://github.com/jcupitt/libvips/issues/656
2017-05-12 18:20:37 +01:00
John Cupitt
5c6979cdcb
Merge branch '8.5'
2017-05-12 17:25:01 +01:00
John Cupitt
942b0446a3
revise fail handling, again
...
clarify policy on file read errors and warnings:
* if the file format library reports a warning, we log it in vips, but
that's all
* if the file format library reports an error, we log it, but try to
continue
* if the file format library reports an error and fail is set, we log it
and fail
all loaders now implement this
2017-05-12 17:22:49 +01:00
John Cupitt
a10787baa3
Merge branch 'add-force-size'
2017-05-10 17:08:32 +01:00
John Cupitt
3019e5966b
vips_conv*() default to float
...
we had INT as the default, but this will cause serious precision loss
with many masks ... instead, have float (always correct) as the default
and let people turn on int if they cn
2017-05-08 13:28:23 +01:00
John Cupitt
260180197d
done! but needs some tests
2017-05-04 14:54:49 +01:00
John Cupitt
2b75a372d1
more truncated png improvements
2017-05-03 10:32:24 +01:00
John Cupitt
39ea6ce492
all done
2017-04-29 10:07:41 +01:00
John Cupitt
04353f8915
added new_from_image() to python
...
and tests
2017-04-28 18:27:15 +01:00
John Cupitt
7882602dfe
C/C++ done
...
python next
2017-04-26 14:52:28 +01:00
John Cupitt
b0f8246c90
Merge branch '8.5'
2017-04-26 10:31:33 +01:00
John Cupitt
cc38097560
better handling of truncated PNG files
...
improve fail support, and bail out sooner
see https://github.com/jcupitt/libvips/issues/646
2017-04-26 10:25:52 +01:00
John Cupitt
4c8d83ce85
Merge branch '8.5'
2017-04-23 18:54:40 +01:00
John Cupitt
8bf0a05948
doc polishing
2017-04-23 18:52:05 +01:00
John Cupitt
757065baab
Merge branch '8.5'
2017-04-23 09:58:11 +01:00
John Cupitt
a067dc4140
oop credit fix
2017-04-23 09:57:55 +01:00
John Cupitt
d8fce50284
Merge branch '8.5'
2017-04-23 09:57:02 +01:00
John Cupitt
7938903d22
don't size caches by image width
...
we were sizing buffers partly by image width, which could cause caches
to be too small if width changed down a pipeline
see https://github.com/jcupitt/libvips/issues/639
2017-04-23 08:31:16 +01:00
John Cupitt
4f3364a2b0
skip non-image HDUs at start of fits
...
some fits images have header units (HDUs) at the start with extra
metadata in ... skip over these
see https://github.com/jcupitt/libvips/issues/640
2017-04-15 13:27:45 +01:00
John Cupitt
4094070ecb
version bumo for new cycle
2017-04-15 13:26:29 +01:00
John Cupitt
e01a90f7cf
revise cache sizing
...
we had output buffers too large, input caches too small
see https://github.com/jcupitt/libvips/issues/639
2017-04-13 16:24:51 +01:00
John Cupitt
38b65478e5
bump version, doc tweaks
...
more sotons removed
2017-04-07 15:59:37 +01:00
John Cupitt
a5b04091ee
Merge branch 'add-markdown-docs' into 8.5
2017-04-06 11:51:36 +01:00
John Cupitt
c2cb4c38fe
missing ptoto for vips_tiffsave_buffer()
...
oop, thanks greut
see https://github.com/jcupitt/libvips/issues/632
2017-04-04 10:17:05 +01:00
John Cupitt
30829ef003
add howitworks.md
2017-03-31 10:57:04 +01:00
John Cupitt
d5a706e47e
better behaviour for truncated PNG files
...
truncated PNG files failed with an error, even if --fail was not set ...
instead, just warn, and only error out if fail is on
see https://github.com/jcupitt/libvips/issues/629
2017-03-30 17:13:25 +01:00
John Cupitt
cd2c1324c5
version bump for release
...
and for the one tiny change
2017-03-25 13:57:33 +00:00
John Cupitt
0a5375b6cd
Merge branch 'master' into remove-seq-stalling
2017-03-15 12:26:44 +00:00
John Cupitt
fd6006bacb
Merge branch 'master' into add-smartcrop
2017-03-13 20:41:22 +00:00
John Cupitt
51f96ce9af
argh revert the arg order change
...
we need to patch bindings instead
2017-03-13 08:24:06 +00:00
John Cupitt
d7da3c7de7
fix vips_resize() bug
...
if hscale and vscale were very different, resize could fail with "reduce
factor too large" ... just a silly typo
2017-03-10 10:22:40 +00:00
John Cupitt
9eab57c31d
Merge branch 'master' into add-smartcrop
2017-03-08 17:17:16 +00:00
John Cupitt
9e6832b34d
add --smartcrop to vipsthumbnail
...
does the obvious thing
2017-03-08 14:31:00 +00:00
John Cupitt
507212e3d8
Merge branch 'master' into remove-seq-stalling
2017-03-08 09:30:48 +00:00
John Cupitt
55dcaa4ae4
add vips_rot90() etc. convenience funcs
...
90/180/270 rotate as convenience functions
2017-03-07 17:36:49 +00:00
John Cupitt
205fb817e8
change three C API funcs to match Python/C++/CLI
...
vips_math2_const(), vips_boolean_const() and vips_relational_const() had
the const and oper args reversed from the Python/CLI/C++ API
add something to check for arg priority conflicts and resolve the
conflicts it found
2017-03-07 14:28:31 +00:00
John Cupitt
162e224186
notes
2017-03-05 22:24:52 +00:00
John Cupitt
d40773515c
add smartcrop
2017-03-01 15:41:26 +00:00
John Cupitt
47a4a78a33
Merge branch 'try-expat'
2017-02-28 17:19:21 +00:00
John Cupitt
1912a30bec
Revert "note new seq thing"
...
This reverts commit 156f729d75
.
2017-02-27 10:23:19 +00:00
John Cupitt
e1b9c789cb
add dbuf object
...
dynamically expanding buffer
also, escape "<>& appropriately when we write xml
2017-02-26 17:37:46 +00:00
John Cupitt
e87654fcd9
use printf for xml write
2017-02-25 17:28:48 +00:00
John Cupitt
134ce0560c
use expat for xml read
...
we were using libxml for xml load, use expat instead, we get it for free
with glib
2017-02-25 13:07:43 +00:00
John Cupitt
156f729d75
note new seq thing
2017-02-23 20:05:11 +00:00
John Cupitt
4bbd56fb0a
handle transparency in vips_region_shrink()
...
we weren't multiplying through alpha in vips_region_shrink(), causing
fringing on pyramids with transparent elements
thanks sickrandir!
see https://github.com/jcupitt/libvips/issues/599
2017-02-23 17:04:25 +00:00
John Cupitt
21a5d0dfe4
speeling
2017-01-29 12:24:25 +00:00
John Cupitt
2b482fc2cf
seems to work!
2017-01-27 16:43:37 +00:00
John Cupitt
7136053451
sort max/min results by y and x coordinate
...
previously the list of maxima or minima found by max/min were in found
order, so essentially random
they now sort equal values by y then x coordinate, so the results are
consistent between runs, provided there are fewer maxima / minima than
are being tracked
2017-01-24 14:25:15 +00:00
John Cupitt
c9ce8f70a1
fix an off-by-one error in hist_local
...
an odd window width caused an off-by-one error in histogram construction
2017-01-24 10:51:12 +00:00
John Cupitt
36761bcfd7
make vips_gaussnoise() pixels reproducible
...
previously, pixel values were regenerated on every calculation, so they
changed on recomputation
pixel values are now generated from the pixel (x, y) coordinate plus a per-call
seed
thanks MvGulik, see
https://github.com/jcupitt/nip2/issues/60
https://github.com/jcupitt/libvips/issues/583
2017-01-24 09:36:25 +00:00
John Cupitt
9660036216
credit hunter-87
...
see https://github.com/jcupitt/libvips/issues/268
2017-01-22 10:09:40 +00:00
John Cupitt
fa3c92c19b
add CLAHE
...
vips_hist_local() has a new param, max_slope, which sets the maximum
amount that the local contrast can be boosted by -- CLAHE
see https://github.com/jcupitt/libvips/issues/268
also fix a couple of small range problems
- scale by 255, not 256, to avoid an overflow
- cum hist includes the current value, so sum to <= target, not < target
2017-01-22 10:05:58 +00:00
John Cupitt
d05018155d
adjust notes for coverity changes
2017-01-20 09:16:46 +00:00
John Cupitt
79c21dfcf8
seems to be done!
2017-01-18 14:39:27 +00:00
John Cupitt
0231b512b4
fits isn't quite working still
2017-01-17 14:53:40 +00:00
John Cupitt
c464503510
Merge branch 'master' into invalidate-on-load-error
2017-01-17 13:47:14 +00:00
John Cupitt
fb88d037fc
Merge branch 'master' into add-thumbnail-geometry
2017-01-17 11:51:10 +00:00
John Cupitt
6b325145e4
use new hints and prepare everywhere
2017-01-12 14:36:44 +00:00
John Cupitt
c5e675f7db
fix --vips-cache-max etc.
...
--vips-cache-max, --vips-cache-max-memory and --vips-cache-max-files were not
working and probably hadn't been for a while
vipsthumbnail.c turns off the operation cache, it's not useful for
the same operation repeated across many files
2017-01-10 14:12:24 +00:00
John Cupitt
2fa3736722
all done, I think
2017-01-06 13:43:43 +00:00
John Cupitt
5d61bd4982
Merge branch 'master' into add-webp-metadata
2017-01-04 16:13:39 +00:00
John Cupitt
c4640b61c7
Merge branch 'glib-logging'
2017-01-04 14:58:11 +00:00
John Cupitt
9581e14dee
all done
2017-01-04 14:45:35 +00:00
John Cupitt
b29201595d
note fits improvements in changelog
2017-01-04 12:56:04 +00:00
John Cupitt
2be0b97dce
switch to g_warning()_/g_info()
...
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead
see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +00:00
John Cupitt
c31f4ec2d7
add VIPS_SONAME etc.
...
helps check ABI and php-vips-ext lock the right library
2016-12-31 17:58:33 +00:00
John Cupitt
c1ca76f6a2
Merge branch '8.4'
2016-12-09 15:46:02 +00:00
John Cupitt
4f85a5d7cd
lower libgsf requirement to 1.14.26
...
1.14.16 seems to more or less work, and is the most recent version on
centos
see https://github.com/jcupitt/libvips/issues/528
2016-12-08 13:54:05 +00:00
John Cupitt
0d9bf6a81e
gifload supports n and page-height
2016-11-26 15:07:12 +00:00
John Cupitt
6e968d46f2
magick7 now supports page/n
2016-11-25 18:19:36 +00:00
John Cupitt
6e26e317e0
update magick6 loader
...
now supports page/n/page-height
2016-11-25 14:46:46 +00:00
John Cupitt
25dd60c781
add tests
...
all done, I think
2016-11-23 17:20:04 +00:00
John Cupitt
5a61374bbf
Merge branch 'master' into add-tiffload-n-pages
2016-11-22 21:38:31 +00:00
John Cupitt
64d02a7a15
strip read works
...
tile next
2016-11-17 14:50:21 +00:00
John Cupitt
e213a9ded6
remove @fail machinery from openslideload
...
since openslide load errors are fatal ... see
bb0a6643f9 (commitcomment-19838911)
2016-11-16 07:41:31 +00:00
John Cupitt
85be55fe4f
add vips_image_get_fields()
...
helps bindings (which struglle with vips_image_map()) get a list of
header fields
works from py, but not ruby, I guess gchar** isn't a supported type for
ruby-gnome
see https://github.com/jcupitt/libvips/issues/533
2016-11-12 16:37:13 +00:00
John Cupitt
bb0a6643f9
move @fail from jpegload into the base load class
...
and add fail support to csv and openslide
see https://github.com/jcupitt/libvips/issues/546
2016-11-12 15:33:35 +00:00
John Cupitt
e72d145ae9
better >4gb detection for zip dzsave
...
older libgsfs can't save zip64 and will fail silently for very large
output trees ... improve the slightly sketchy >4gb detection in dzsave
this a a version of the patch in https://github.com/jcupitt/libvips/pull/462
2016-11-11 16:24:18 +00:00
John Cupitt
4df18c2a33
Merge branch '8.4'
2016-11-11 12:31:18 +00:00
John Cupitt
96ef05a9d1
fix a crash in arg handling on Windows
...
we were not updating argc in vips.c after all calls to
g_option_context_parse_strv() on Windows, leading to a crash in some cases
see https://github.com/jcupitt/libvips/issues/553
2016-11-11 10:14:03 +00:00
John Cupitt
b56b888bf0
add webp metadata write
...
untested, but it does compile
2016-11-08 12:30:02 +00:00
John Cupitt
47222bc1f5
move exif handling out to exif.c
...
now used by webpload as well
2016-11-07 12:20:56 +00:00
John Cupitt
d4b4eb44a3
works!
2016-11-02 11:07:30 +00:00
John Cupitt
a96d851ff2
fix up vipsheader with complex field types
...
"-f name" displays a detailed form, "-a" displays a summary of each
field
fix a problem with string fields as well
2016-11-01 11:51:20 +00:00
John Cupitt
3f1f950bff
add vips_image_hasalpha()
2016-10-31 11:14:27 +00:00
John Cupitt
e715c62e27
Merge branch '8.4'
2016-10-28 16:51:43 +01:00
John Cupitt
a7edd235c4
improve compat with ancient glibs
...
and fix a tiny threading leak
2016-10-28 16:25:31 +01:00
John Cupitt
ca7b51fb9e
revise header get/set
...
rework header.c
- built-in enum fields, like "interpretation" are handled as enums, not
ints
- vips_image_get_*() functions always convert to the target type if they
can
- rename "field" to "name" in the docs
- clarify docs
2016-10-20 12:41:32 +01:00
John Cupitt
75dee18848
Merge branch '8.4'
2016-10-18 14:23:22 +01:00
John Cupitt
d785e56372
fix error detection from DGifCloseFile()
...
we were not testing the return from `DGifCloseFile()` against `GIF_ERROR`,
causing spurious error reports
see https://github.com/jcupitt/libvips/issues/541
2016-10-18 14:09:18 +01:00
John Cupitt
156b0433d5
add dzsave_buffer
...
zip only ... see https://github.com/jcupitt/libvips/issues/415
2016-10-15 19:01:34 +01:00
John Cupitt
c90b8be0b8
add tiffsave_buffer
...
add tests
also some cleanups to foreign include files
see https://github.com/jcupitt/libvips/issues/417
2016-10-15 12:29:14 +01:00
John Cupitt
ded6f17fa8
fix up new buffer.c
...
and make getpoint() use the threading system
2016-10-14 09:00:21 +01:00
John Cupitt
c5c3d48da7
version bump for new cycle
2016-10-13 11:43:46 +01:00
John Cupitt
ccfe4cb215
seems to work?
...
needs stress testing still
see https://github.com/jcupitt/libvips/issues/535
2016-10-10 15:12:12 +01:00
John Cupitt
dff0960e5f
fix error message for metadata get
...
if the type of the metadata item didn't match theh gtype you were
fetching to, the error message was wrong
2016-09-30 08:54:46 +01:00
John Cupitt
246089dc82
bump version
2016-09-27 11:23:57 +01:00
John Cupitt
d3cafb3a9f
seems to work
...
add @centre option for downsampling, see
https://github.com/jcupitt/libvips/issues/504
2016-09-10 10:31:33 +01:00
John Cupitt
591d4472a9
notes on vips-properties changes
2016-09-08 12:45:50 +01:00
John Cupitt
d54df515b8
add some tests
2016-09-08 10:41:01 +01:00
John Cupitt
7e535f6c42
seems to work
...
still needs tests for gm overlap mode
2016-09-07 10:12:04 +01:00
John Cupitt
57e1423d57
Merge branch 'master' into windows-unicode
2016-09-05 13:12:06 +01:00
John Cupitt
c522dae625
Merge branch 'master' into try-round-to-nearest
2016-09-05 13:07:40 +01:00
John Cupitt
271d8656e9
use round() rather than rint() where appropriate
...
rint() rounds to nearest even, rather than nearest ... in some cases,
like geometry transforms, we want strict nearest
2016-08-20 12:59:41 +01:00
John Cupitt
5376a93866
Merge branch '8.3'
2016-08-19 16:22:09 +01:00
John Cupitt
314042ea9d
better gif transparency handling
...
we were testing (x == 1), we should have tested (x & 0x1), thanks
diegocsandrim
see https://github.com/jcupitt/libvips/issues/502
2016-08-19 16:11:45 +01:00
John Cupitt
d89dd8d073
add unicode tiff open on windows
...
also fix make dist,
2016-08-17 10:06:40 +01:00
John Cupitt
1f403a4add
first attempt
...
seems to all work, test it a bit more
see https://github.com/jcupitt/libvips/issues/491
2016-08-15 15:45:26 +01:00
John Cupitt
5df5793457
done!
...
all tests done, all pass with magick6 and magick7
2016-08-14 18:39:40 +01:00
John Cupitt
9143bda915
Merge branch 'master' into add-magick7
2016-08-14 10:25:03 +01:00
John Cupitt
933080a265
Merge branch 'master' of github.com:jcupitt/libvips
2016-08-13 16:47:06 +01:00
John Cupitt
866cfd5ce3
rename bootstrap.sh as autogen
...
necessary for snapcraft
2016-08-05 14:52:34 +01:00