Commit Graph

1187 Commits

Author SHA1 Message Date
John Cupitt
1b86de44f4 "make check" works uninstalled
and skips tests for missing features
2014-12-22 10:35:26 +00:00
John Cupitt
abdd98409d add configure option for pyvips8
it tests for pygobject as well
2014-12-18 09:15:58 +00:00
John Cupitt
6e2135d8b5 mask builders take prec, not integer
vips_gaussmat() and vips_logmat() used to default to float, but
vips_conv() defaulted to int ... so this failed:

	vips gaussmat m.v 2 0.1 --separable
	vips convsep k2.jpg x.jpg m.v

since we were using a small float mask with an integer convolution

This change makes everything int by default, with gaussmat having a new
param called --precision whose arg can be int or float.

The old @integer param is deprecated.
2014-12-16 20:48:11 +00:00
John Cupitt
c3102b15bb add python3 support 2014-12-10 17:02:51 +00:00
John Cupitt
76653e9e78 add notes to logs for @density 2014-12-04 21:47:46 +00:00
John Cupitt
f8cca8e59d load and save XMP metadata in tiff
see https://github.com/jcupitt/libvips/issues/198
2014-12-03 09:03:09 +00:00
John Cupitt
ffe90ef38a add .szi as a synonym for .zip
in dzsave
2014-11-26 14:26:57 +00:00
John Cupitt
4c3461967b duuh fix up misplaced patch 2014-11-25 12:05:04 +00:00
John Cupitt
6bfe9b45b7 Merge branch '7.40' 2014-11-25 12:04:24 +00:00
John Cupitt
f66afb78da fix profile handling in XYZ2scRGB
see

https://github.com/lovell/sharp/issues/125
2014-11-25 12:01:13 +00:00
John Cupitt
4b51a9d61f don't strip profiles in XYZ2scRGB
see

https://github.com/lovell/sharp/issues/125
2014-11-25 11:43:48 +00:00
John Cupitt
384a5e05dc change parameters of vips_gaussblur()
sorry :-(

The old param (passing sigma*2 as an int) were just too confusing
coming from other packages. This new behaviour matches ImageMagick, and
almost everyone else in the world.

A new optional param lets you set the minimum amplitude as well.
2014-11-19 12:27:26 +00:00
John Cupitt
f16e252b3e Merge branch '7.40' 2014-11-11 20:43:19 +00:00
John Cupitt
8a44d6f7b3 fix memleak in sharpen
see https://github.com/jcupitt/libvips/issues/194
2014-11-11 20:42:26 +00:00
John Cupitt
cce90b4fba add pbm save
previously vips could load but not save pbm (one bit) images

fix a few bugs in float load and save as well, and improve one-bit load
2014-11-08 17:40:43 +00:00
John Cupitt
cfcd819246 better default resolution for png load
see

https://github.com/lovell/sharp/issues/96
2014-11-04 09:38:21 +00:00
John Cupitt
63469b1c9d merge new C++ API 2014-11-03 09:07:28 +00:00
John Cupitt
c56e23e3c2 Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-10-27 13:47:17 +00:00
John Cupitt
965936307b better bigtiff detection
update Changelog and bump version
2014-10-27 13:45:45 +00:00
John Cupitt
620bff2d78 allow symbolic names for flags
you can now use numbers or names for GFlags values, eg.:

$ vips copy 50020484-00001.png x.png[filter=avg]
$ vips copy 50020484-00001.png x.png[filter=64]

was numbers only before
2014-10-27 11:40:43 +00:00
John Cupitt
ad86f45cd9 add autorot as an operator as well 2014-10-19 10:35:10 +01:00
John Cupitt
0a51536162 seems to work 2014-10-17 13:17:44 +01:00
John Cupitt
3d4eecf921 add vips8 plugin support 2014-10-09 12:50:16 +01:00
John Cupitt
5683c3095c Merge remote-tracking branch 'origin/master' into update-cimg 2014-10-08 17:51:40 +01:00
John Cupitt
927b2d7954 remove cimg and gmic
move this to a plugin, it's too big for the core library
2014-10-08 17:51:07 +01:00
John Cupitt
bf65a024b6 Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
2014-10-08 13:12:44 +01:00
John Cupitt
9069b2f9ad improve interpretation of maplut output
a mono image though a colour lut needs to take the lut's interpretation
2014-10-08 12:31:36 +01:00
John Cupitt
5225d70438 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
	libvips/colour/Lab2LabQ.c
	libvips/colour/Lab2LabS.c
	libvips/colour/LabS2Lab.c
	libvips/colour/LabS2LabQ.c
	libvips/colour/float2rad.c
	libvips/colour/sRGB2scRGB.c
	libvips/colour/scRGB2sRGB.c
2014-10-08 12:01:25 +01:00
John Cupitt
aa45c81464 fix extra band handling in colour
backport of new colour.c from 7.41
2014-10-08 11:55:24 +01:00
John Cupitt
ca2ae681cd add --with-gmic configure option 2014-10-07 14:54:53 +01:00
John Cupitt
3788c85e54 gmic uses an imagevec for input images 2014-10-06 21:52:27 +01:00
John Cupitt
d85c5ef3fd Merge branch '7.40' 2014-09-30 12:14:11 +01:00
John Cupitt
cad052544c try to make vips_thread_shutdown() optional
see

https://github.com/jcupitt/ruby-vips/issues/55

it's still better to call vips_thread_shutdown(), but not calling it
should no longer leak memory
2014-09-30 11:28:24 +01:00
John Cupitt
154796a8dc rename VIPS_ANGLE_0 as VIPS_ANGLE_D0
and other similar cases

VIPS_ANGLE_0 becomes Vips.Angle.0 in Python, which is very inconvenient, so we
rename ... the D stands for degrees, I think
2014-09-29 13:56:55 +01:00
John Cupitt
21ae8321f2 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-09-29 12:37:19 +01:00
John Cupitt
b1827128ea icc checks input profile compat
check the input profile colourspaces matches the image ... for example,
if a CMYK image has an embedded RGB profile, fall back to the specified
external profile

see:

https://github.com/jcupitt/libvips/issues/183
2014-09-29 11:04:53 +01:00
John Cupitt
f467924156 move ImageProperties.xml
it's now in x/, not x/x/, same as the official tool
2014-09-25 11:16:14 +01:00
John Cupitt
fd9300750d test extra band handling in dE 2014-09-24 14:52:24 +01:00
John Cupitt
f18fd4b089 Merge branch '7.40' 2014-09-19 11:49:30 +01:00
John Cupitt
862d7f03ea tiny cache clean-up 2014-09-19 11:38:16 +01:00
John Cupitt
36d1312a32 Merge branch '7.40' 2014-09-18 09:41:24 +01:00
John Cupitt
14a8c5ad47 add @profile option to pngsave
tiff and jpeg save both have a @profile option, this patch adds one to png as
well, see

https://github.com/jcupitt/libvips/issues/180
2014-09-18 09:38:12 +01:00
John Cupitt
ef847de996 done arithmetic testsuite
all passes, woo
2014-09-17 12:03:06 +01:00
John Cupitt
de594151a5 rename NOTEQUAL as NOTEQ
since <= is LESSEQ

python has some relational overloads now
2014-09-16 17:25:20 +01:00
John Cupitt
c4a3e9a1a0 add VIPS_ARGUMENT_MODIFY
a flag for arguments meaning the operator will modify an input

the python binding uses this to take a copy of the arg before calling
2014-09-15 14:47:34 +01:00
John Cupitt
ca0437d002 Merge branch '7.40' 2014-09-12 12:03:47 +01:00
John Cupitt
e4461ae1f9 fix vipsthumbnail with broken embedded profiles
if the embedded profile is broken or incompatible with the specified
output profile, retry with the specified input profile

see

https://github.com/jcupitt/libvips/issues/178
2014-09-12 10:51:49 +01:00
John Cupitt
b1f3acf17b fix vipsthumbnail
with input cmyk and output rgb profiles both specified ... it was
importing twice, causing a band mismatch

see

https://github.com/jcupitt/libvips/issues/177
2014-09-12 09:04:58 +01:00
John Cupitt
62a98dbdf7 Merge branch '7.40' 2014-09-11 19:29:09 +01:00
John Cupitt
b21c47b1c5 add @background arg to save
used to flatten A out of images, if necessary

vipsthumbnail rtd-img.png -o x.jpg[background=255]
2014-09-11 09:18:38 +01:00
John Cupitt
01bd7cad04 support GRAY as an input and output ICC space
see

https://github.com/jcupitt/libvips/issues/176
2014-09-10 09:37:13 +01:00
John Cupitt
2ec0a8b87e Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-09-09 16:58:28 +01:00
John Cupitt
158237254d fix jfif resunit read
see https://github.com/jcupitt/libvips/issues/170

the previous fix just did exif resolution "none", we need jfif "none" as
well
2014-09-09 16:46:16 +01:00
John Cupitt
cb9360dac9 Merge branch '7.40' 2014-09-09 12:19:09 +01:00
John Cupitt
6269c852cc support exif res unit "none"
well why would you want that, but it seems some images use it
2014-09-09 12:18:21 +01:00
John Cupitt
891e6db8f0 Merge branch '7.40' 2014-09-09 11:21:28 +01:00
John Cupitt
d085351f0f fix mono <-> rgb converter extra band handling
see

https://github.com/jcupitt/libvips/issues/172

thanks James
2014-09-09 10:07:35 +01:00
John Cupitt
b746984318 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-09-08 19:49:09 +01:00
John Cupitt
a8becfc9d4 bump version to 7.40.8 2014-09-08 19:47:01 +01:00
John Cupitt
5ab3009ce2 add thread_shutdown() to python
see https://github.com/jcupitt/libvips/issues/170
2014-09-07 10:21:01 +01:00
John Cupitt
e9ce212b62 make out of order read a fatal error
For png and jpg, out of order must always be a fatal error, since you
can't read from a specific y position.

This was a g_assert() before which meant that this test was missing from
production builds. It's now always a fatal error.
2014-09-02 09:37:08 +01:00
John Cupitt
a370e5003e vips array types are more binding-friendly
this all works now:

```python
from gi.repository import Vips

a = Vips.ArrayDouble.new([1,2,3])
a.get()

a = Vips.ArrayInt.new([1,2,3])
a.get()

a = Vips.ArrayImage.new([c, d, e])
a.get()
```
2014-08-31 10:41:53 +01:00
John Cupitt
f8f288c1a6 vips_init() comes back
we need a public function for bindings
2014-08-29 13:51:03 +01:00
John Cupitt
43eddbef7a Merge branch '7.40' 2014-08-28 17:19:58 +01:00
John Cupitt
70b35f5ec5 update ChangeLog 2014-08-28 16:44:03 +01:00
John Cupitt
180142b2b1 Merge branch '7.40'
Conflicts:
	ChangeLog
	configure.ac
2014-08-27 14:00:54 +01:00
John Cupitt
86b729150c fix memleak in type.c
see

https://github.com/jcupitt/libvips/pull/164
2014-08-27 13:46:51 +01:00
John Cupitt
30aae507a3 fix memleak in tilecache 2014-08-26 17:07:44 +01:00
John Cupitt
a75ddfbd5a fix matlab load
oops, width and height were swapped
2014-08-21 22:01:40 +01:00
John Cupitt
694d86e5c5 fix vipsthumbnail on very-many-core systems
see:

https://github.com/jcupitt/libvips/issues/160

we were using UNBUFFERED, but on very-many-core systems this can get out
of order enough to make vipspng free the read object early
2014-08-21 13:05:29 +01:00
John Cupitt
5125cc535c Merge branch '7.40'
Conflicts:
	TODO
2014-08-19 18:04:24 +01:00
John Cupitt
03577ad832 fix dzsave date attr on Windows
see

https://github.com/jcupitt/libvips/issues/157

thanks John
2014-08-18 21:30:26 +01:00
John Cupitt
cb2b217434 fix 16-bit PNG save
see

https://github.com/jcupitt/libvips/issues/156
2014-08-18 13:54:06 +01:00
John Cupitt
2e2809a6b4 Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
2014-08-17 10:00:03 +01:00
John Cupitt
c646356b4f Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	ChangeLog
	TODO
2014-08-17 09:58:24 +01:00
John Cupitt
0b896119d4 fix similarity rotate + scale
thanks Topochicho

see https://github.com/jcupitt/libvips/issues/154
2014-08-13 17:44:29 +01:00
John Cupitt
fe7bd9bdcc add vips_resize()
a wrapper over affine that just scales ... much faster from the
command-line, since it can set SEQ mode
2014-08-13 13:57:52 +01:00
John Cupitt
b24cbb492c Merge remote-tracking branch 'origin/7.40'
Conflicts:
	ChangeLog
	TODO
	configure.ac
	libvips/foreign/vipspng.c
2014-08-12 13:41:52 +01:00
John Cupitt
2f72a9925f more docs work 2014-08-12 13:37:16 +01:00
John Cupitt
ed3c56fcbf add an anti-alias filter to vipsthumbnail
vipsthumbnail blurs slightly between shrink and affine, if the affine
will be doing a large shrink
2014-08-11 10:26:12 +01:00
John Cupitt
385b2ea5fa do argb -> rgba for openslide read associated 2014-08-09 22:21:10 +01:00
John Cupitt
296eb8b54e fix pngload with libpng >=1.6.11
thaks Lovell
2014-08-09 17:14:49 +01:00
John Cupitt
b25dcc9ebe Merge remote-tracking branch 'origin/7.40'
Conflicts:
	TODO
2014-08-09 17:03:43 +01:00
John Cupitt
12e4acceef note pngload change 2014-08-09 17:03:00 +01:00
John Cupitt
7888526361 fix some compiler warnings
various false positives from gcc -O3 flow analysis
2014-08-05 19:23:56 +01:00
John Cupitt
ebeee822bc better rounding behaviour for bicubic
fixed-point bicubic was not rounding to nearest, introducing some noise
in flat areas
2014-08-05 10:02:11 +01:00
John Cupitt
f1df91eebb vipsthumbnail defaults to bicubic + noshapen
if bicubic is available
2014-08-04 09:55:18 +01:00
John Cupitt
004c98f296 pngsave interlaced makes a copy of the image
interlaced png is hard to write: you have to make seven passes over the
image to make the whole file. It advertises itself as sequential, it
needs to only ake a single pass. Therefore, it must take a copy in
memory of the image to write.
2014-08-03 09:34:46 +01:00
John Cupitt
ecd771cde7 Merge branch 'affine-bug'
Conflicts:
	libvips/resample/transform.c
2014-08-01 16:35:59 +01:00
John Cupitt
274e6c1b2b revise affine, yet again
how can this be so hard

the tougher self-tests in nip2/test/extras now all pass
2014-08-01 16:34:09 +01:00
John Cupitt
9ddca0e99e change @whole_slide to @autocrop
on seconds thoughts, make openslide crop-on-load an option, not the
default

also, clip image bounds against image size
2014-07-31 09:04:32 +01:00
John Cupitt
639c22bf53 add "whole_slide" toggle
openslideload now crops to image bounds (if set) ... use @whole_slide to
stop this autocrop
2014-07-30 12:27:19 +01:00
John Cupitt
0bb8a218bb exit() in fewer cases
we now only exit() when we know the stack has been trashed, just warn in
other cases
2014-07-29 15:23:27 +01:00
John Cupitt
32a8fe117e start working on --disable-deprecated
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
0114afa5fb limit nthr on tiny images
we always made N threads for a threadpool ... we could end up making
loads of threads we never used if the image was tiny

for very small images, limit the number of threads we make
2014-07-25 14:51:29 +01:00
John Cupitt
a338a48c63 fix a race in im_maxpos_avg() 2014-07-25 13:52:36 +01:00
John Cupitt
0ced5cb24b add webp support to vips7
see https://github.com/jcupitt/libvips/issues/144
2014-07-17 09:09:39 +01:00
John Cupitt
a0a6868d90 better error detection in vips_system() 2014-07-17 03:31:58 +01:00
John Cupitt
cdecee2705 more vips7 compat fixes
thanks steve
2014-07-16 09:40:26 +01:00
John Cupitt
df289f1bea better im_openout() compat 2014-07-15 22:00:45 +01:00
John Cupitt
388f25fc0c vips_scale() needs round to nearest
or we can get rounding errors in some cases
2014-07-14 14:36:35 +01:00
John Cupitt
a9fdde9ddb fix im_point()
oops ... helps ruby-vips self test
2014-07-12 15:29:02 +01:00
John Cupitt
c2ae9f30c6 fix vips_rawsave_fd()
see https://github.com/jcupitt/libvips/issues/143

thanks aferrero2707
2014-07-04 13:58:47 +01:00
John Cupitt
70eacc4543 Merge branch 'dzsave-metadata'
Conflicts:
	ChangeLog
2014-07-03 09:42:13 +01:00
John Cupitt
f562dfdd5b oops 2014-07-03 09:13:01 +01:00
John Cupitt
50c98c39d1 cache the image before write for fits
write must be strictly top-to-bottom for :seq to work
2014-07-02 12:45:19 +01:00
John Cupitt
93d8433270 fix use of header 2014-07-01 14:51:16 +01:00
John Cupitt
fc14733b2b Merge branch 'dzsave-metadata' of github.com:jcupitt/libvips into dzsave-metadata
Conflicts:
	ChangeLog
	configure.ac
2014-07-01 08:47:50 +01:00
John Cupitt
c5fbe6daa6 more tweaks to dzsave props
add docs too
2014-06-30 12:58:57 +01:00
John Cupitt
8c82ffb865 fix interlaced thumbnails
we need to cache the thumbnail before we write it in case the writer
needs to make several passes

see https://github.com/jcupitt/libvips/issues/140
2014-06-30 12:07:00 +01:00
John Cupitt
c2a8c542b6 we assumed GType fitted in an int
which isn't true on freebsd, and perhaps others
2014-06-29 11:17:23 +01:00
John Cupitt
04d130828f add --enable-docs configure option
so you can now stop all docs installing, freebsd likes this
2014-06-27 14:56:11 +01:00
John Cupitt
a13ec2aef8 improve short option name handling
we were setting short option names for deprecated options causing
confusion, see:

https://github.com/jcupitt/libvips/issues/110

thanks bgilbert
2014-06-27 14:33:40 +01:00
John Cupitt
40e3466482 fix a bash-ism in configure.ac
helps freebsd
2014-06-26 17:18:24 +01:00
John Cupitt
a02deb3ac9 stop dzsave zip write at 4gb
see https://github.com/jcupitt/libvips/issues/138

not great, but better than producing a corrupt file
2014-06-25 14:34:13 +01:00
John Cupitt
d1e082889f fix guess prefix
oop, basename / dirname swapped
2014-06-24 17:51:29 +01:00
John Cupitt
9ad0942062 update man pages
oops, forgot to update man pages for header -> vipsheader rename
2014-06-24 14:19:57 +01:00
John Cupitt
da77b68d3e bump version to 7.40
and rename header and edvips as vipsheader and vipsedit

remove mergeup and find_mosaic
2014-06-23 20:22:50 +01:00
John Cupitt
84d65c1727 Merge branch '7.38'
Conflicts:
	libvips/resample/affine.c
2014-06-18 13:48:08 +01:00
John Cupitt
d01beb5411 fix coordinate error in affine
see https://github.com/jcupitt/libvips/issues/131
2014-06-17 14:22:55 +01:00
John Cupitt
eed4bfc731 Merge remote-tracking branch 'origin/single-thread-first-tile'
Conflicts:
	ChangeLog
	TODO
2014-06-13 11:46:11 +01:00
John Cupitt
d7bad8fd5b cache drops operations on invalidate
we can now enable the vips8 operation cache in nip2, woo!
2014-06-12 13:40:00 +01:00
John Cupitt
a8d04a7dd1 add op invalidate stuff
still need to test and link to cache
2014-06-12 09:22:28 +01:00
John Cupitt
cbc60722fc skipahead is back
thanks to a new threadpool idea, see

https://github.com/jcupitt/libvips/issues/117
2014-06-10 17:44:31 +01:00
John Cupitt
35533a54cf finish reviding the fixed-up image load/save API 2014-06-08 11:16:58 +01:00
John Cupitt
e7743ddc3c finish mosaicing rewrite 2014-05-29 09:35:17 +01:00
John Cupitt
170efb1452 redo im_*merge1() as classes 2014-05-28 18:15:20 +01:00
John Cupitt
adfda3cf14 redo im_*mosaic1() as classes 2014-05-28 15:15:06 +01:00
John Cupitt
b8886fc209 wrap im_remosaic() as a class 2014-05-27 15:18:19 +01:00
John Cupitt
781a7d4dc9 wrap im_global_balance*() as a class 2014-05-26 15:02:15 +01:00
John Cupitt
4f3b37ad04 wrap im_match*() as a class 2014-05-23 13:46:38 +01:00
John Cupitt
ab12cd1c3d wrap im_*mosaic() as classes 2014-05-22 18:14:40 +01:00
John Cupitt
98012d7613 im_*merge() class wrapper works 2014-05-22 16:32:09 +01:00
John Cupitt
4993ff15d6 add Travis CI config
thanks Lovell
2014-05-19 12:54:04 +01:00
John Cupitt
dc22d9c4c8 add hough_circle() to vipsCC and python
now exposed to Python and C++
2014-05-17 22:00:36 +01:00
John Cupitt
22d525d54f export a better cache operator for nip2 2014-05-10 14:00:01 +01:00
John Cupitt
f6de1e7cb9 make libgsf-1 an optional dependency
dzsave vanishes if you don't have it, but you can still build vips
2014-05-09 13:13:18 +01:00
John Cupitt
1384f9d4e0 Merge branch 'master' into dzsave-gsf
Conflicts:
	ChangeLog
2014-05-04 17:32:42 +01:00
John Cupitt
c81a12ee00 vips_system() now uses g_spawn_command_line_sync()
helps stop stray command windows appearing on Windows, better error msg
too
2014-05-03 18:04:25 +01:00
John Cupitt
b1b3c6e9de support 1/2/4 bit palette tiff images with alpha 2014-04-30 14:39:50 +01:00
John Cupitt
3dc708d2b6 add @container option to dzsave 2014-04-25 10:26:23 +01:00
John Cupitt
6ab49a9af3 Merge remote-tracking branch 'origin/master' into dzsave-gsf
Conflicts:
	ChangeLog
2014-04-24 18:35:33 +01:00
John Cupitt
c03d9440cb added vips_object_set_from_string() 2014-04-23 12:57:49 +01:00
John Cupitt
61891865bf add vips_foreign_save_buffer() 2014-04-22 19:42:13 +01:00
John Cupitt
d0f50febbb added vips_foreign_load_buffer() 2014-04-22 16:27:43 +01:00
John Cupitt
3f11403346 add .vips as an alternative vips suffix
helps imagemagick, see

http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=25445&p=110491#p110491
2014-04-22 13:22:58 +01:00
John Cupitt
070c9bd5a7 add load from buffer 2014-04-22 10:43:13 +01:00
John Cupitt
325f3b9451 dzsave will write a zip file
but see the TODO in dzsave.c

- no way to pick a tile format, always jpeg
- no way to pick a container format, always zip
- needs testing
- examine memuse, how well do we work for large zips
- can we make a zip over 4gb?
2014-04-19 15:15:25 +01:00
John Cupitt
6d2c4c4d60 8 and 16-bit paletter TIFFs can have alpha
plus 16-bit palette TIFFs now become 16-bit images
2014-04-14 12:16:15 +01:00
John Cupitt
3b977586f9 Merge remote-tracking branch 'origin/7.38' 2014-04-09 15:34:09 +01:00