Commit Graph

1667 Commits

Author SHA1 Message Date
John Cupitt
be5052d0c3 tiff pyramid builder no longer copies base image
we used to make a copy of the base image ... instead, write once and
append other layers at end of run
2015-02-13 13:40:35 +00:00
John Cupitt
4d9436f4b3 Merge branch '7.42' 2015-02-13 12:21:46 +00:00
John Cupitt
4d0887f5de fix .dz as a target
and add a test for this as well
2015-02-13 11:17:55 +00:00
John Cupitt
8f7c2c7110 sort out alpha going to and from 16-bit
rewritten sRGB <-> scRGB so that 16-bit alpha is scaled to float 8
2015-02-12 17:50:38 +00:00
John Cupitt
244ab301f7 start final push for vips 8 2015-02-11 17:01:02 +00:00
John Cupitt
5b90e36559 notes 2015-02-10 14:44:35 +00:00
John Cupitt
346a9e70c0 remove --disable-cxx flag
it was getting too hard to support :( automake now generates libtool
lines before configure runs, so it can't know we don't want a C++ link

see https://github.com/jcupitt/libvips/issues/231
2015-02-07 10:37:13 +00:00
John Cupitt
3d902d2feb improvements to python configure 2015-02-06 14:54:52 +00:00
John Cupitt
9d11c02e35 version bump 2015-02-06 13:39:39 +00:00
John Cupitt
d6dbfea064 much faster RGB16 -> sRGB path 2015-02-04 16:48:25 +00:00
John Cupitt
0c466b9495 don't use isnormal() to test for crazy FP numbers
it fails for 0.0 and for subnormal numbers, thanks Murat Korkmazov
2015-02-04 15:13:11 +00:00
John Cupitt
e429772ae8 turn on leak testing in python test suite 2015-02-02 11:36:29 +00:00
John Cupitt
eb5fee5e65 add lower-level cache access 2015-02-01 17:56:48 +00:00
John Cupitt
ce557ba6de add VInterpolate wrapper class
to cplusplus, see https://github.com/jcupitt/libvips/issues/230
2015-01-30 21:19:58 +00:00
John Cupitt
e8f456a7e2 more tests 2015-01-27 21:45:14 +00:00
John Cupitt
70b60e1dd5 tiny cleanup 2015-01-22 13:19:21 +00:00
John Cupitt
229636fc66 rename vipsthumbnail -o as -f
-o stays as a hidden flag

see https://github.com/jcupitt/libvips/issues/216
2015-01-20 09:10:36 +00:00
John Cupitt
23071d73ac Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	ChangeLog
2015-01-19 22:03:05 +00:00
John Cupitt
dbd98ba86c disable chroma subsample in jpeg-tiff if Q>=90
see https://github.com/jcupitt/libvips/issues/218
2015-01-19 22:01:13 +00:00
John Cupitt
f1d901a229 try to handle tiffs with 8-bit colormaps
see

https://github.com/jcupitt/libvips/issues/220
2015-01-19 14:52:57 +00:00
John Cupitt
c805b382fe vipsthumbnail sets an error on failure
conversion errors are ignored as before, but on final exit vipsthumbnail will
return an error code if one or more of the conversions failed

see https://github.com/jcupitt/libvips/issues/219
2015-01-13 17:31:09 +00:00
John Cupitt
eda4ed64f1 rename _!PIXEL etc. to help bindings
ruby gobject-introspection hates numbers at the start of _ separated
names
2015-01-07 14:22:13 +00:00
John Cupitt
6f101ae86b remove VImage::scale()
it clashed with the VipsScale operator, see

https://github.com/jcupitt/libvips/pull/213
2015-01-06 12:00:11 +00:00
John Cupitt
6440830315 required C++ output params were broken
see https://github.com/jcupitt/libvips/pull/213

this now works:

        VImage rows;
	VImage cols = in.profile( &rows );
2015-01-06 11:51:53 +00:00
John Cupitt
90725b9f5e more tests 2015-01-05 13:48:35 +00:00
John Cupitt
6c35ae5540 display default and range in usage
eg. we now see:

$ vips gamma
gamma an image
usage:
   gamma in out
where:
   in           - Input image, input VipsImage
   out          - Output image, output VipsImage
optional arguments:
   exponent     - Gamma factor, input gdouble
  			default: 2.4
			min: 1e-06, max: 1000
operation flags: sequential-unbuffered
2014-12-30 13:16:22 +00:00
John Cupitt
32625146db cpp can set enums from strings
eg.

	set("extend", "copy")->
2014-12-30 11:27:04 +00:00
John Cupitt
d077d7c1fc small stuff 2014-12-27 10:00:01 +00:00
John Cupitt
b01dd59309 fix VipsBlob read
oops, forgot the .get()
2014-12-27 09:41:01 +00:00
John Cupitt
366e7e3a5e add gobject to Requires: line
vips C and C++ programs can link directly against things in gobject
without appearing to, for example:

	a = VIPS_OBJECT( b );

the macro will expand to include a g_type_check_instance_is_a(). So we
have to have gobject-2.0 in the link line of things like:

	g++ -g -Wall hello8.cc `pkg-config vips-cpp --cflags --libs`

see also

	https://github.com/jcupitt/libvips/issues/196
2014-12-24 10:10:14 +00:00
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
John Cupitt
a17ef9b7c8 vips_system() allows many input images
you can change the image argument order too, with %Ns

added postbuild signal
2014-04-09 11:42:03 +01:00
John Cupitt
bfbc132879 updated German translation
thanks Chris

see

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743613

https://github.com/jcupitt/libvips/issues/116
2014-04-04 21:51:26 +01:00
John Cupitt
052a73eb8e Merge remote-tracking branch 'origin/master' into hough
Conflicts:
	ChangeLog
2014-04-01 12:50:08 +01:00
John Cupitt
ee53b01886 vips_hough_circle() added 2014-04-01 12:27:15 +01:00
John Cupitt
252897dc83 Merge remote-tracking branch 'origin/7.38' 2014-03-30 15:28:40 +01:00
John Cupitt
10354be6c3 ooops, sorry Andrea 2014-03-30 15:26:36 +01:00
John Cupitt
bc79cb4f62 crash-causing typo in vips_rawsave()
thanks Alessandro
2014-03-30 15:23:55 +01:00
John Cupitt
9b13188fc1 add "mode" to vips_draw_image() 2014-03-28 13:55:56 +00:00
John Cupitt
5f0f188659 drop the default max operations
the cache defaulted to 10,000 operations, fine for nip2, not fine for
batch-style applications

thanks Rafael
2014-03-28 09:48:27 +00:00
John Cupitt
7752eb89e0 add vips_draw_add()
and start vips_hough_circle()
2014-03-26 20:33:31 +00:00
John Cupitt
9a1fa499f5 split hough to a base class and a line detector 2014-03-24 16:56:54 +00:00
John Cupitt
755f9ed1cb comment improvements 2014-03-23 11:29:39 +00:00
John Cupitt
ffd61773c4 changelog update too 2014-03-18 21:20:57 +00:00
John Cupitt
4c31c77d80 add vips_sum()
sum an array of images
2014-03-18 19:39:47 +00:00
John Cupitt
58239a4583 vipsthumbnail fix
fix to vipsthumbnail ... --crop could fail for very non-square images,
thanks Alessandro
2014-03-18 17:41:39 +00:00
John Cupitt
66d0e28dc2 remove the embedded thumbnail reader
remove the embedded thumbnail reader, embedded thumbnails are too unlike
the main image wrt. rotation / colour / etc.
2014-03-07 16:57:20 +00:00
John Cupitt
ffed43dffe add basic auto-rotate support to vipsthumbnail 2014-03-06 19:39:18 +00:00
John Cupitt
7ed644789c Merge branch 'master' of github.com:jcupitt/libvips 2014-03-06 16:04:05 +00:00
John Cupitt
28b6602683 Merge remote-tracking branch 'origin/7.38'
Conflicts:
	ChangeLog
	configure.ac
2014-03-06 16:03:33 +00:00
John Cupitt
62307d18ef fix to vips_grey() --uchar 2014-03-06 13:56:12 +00:00
John Cupitt
1cf0768f94 clean up the vipsthumbnail fix
nicer way to copy the metadata
2014-03-05 11:41:16 +00:00
John Cupitt
9e8798d541 sync 2014-02-25 18:56:16 +00:00
John Cupitt
1e698b403d Merge remote-tracking branch 'origin/7.38' 2014-02-25 18:55:30 +00:00
John Cupitt
4f22878215 backport the webp load from buffer fix 2014-02-25 16:21:44 +00:00
John Cupitt
bc2bfd489b Merge remote-tracking branch 'origin/7.38' 2014-02-25 13:21:41 +00:00
John Cupitt
594af28c8e remove support for seq mode read for extract etc.
see comment in sequential

We used to not stall if the read position was zero, ie. if the first
request was for a line some way down the image, and assume this was
extract or somesuch. But this could sometimes break on busy, many-core
systems.

Think of a better way to support eg.  extract safely in sequential mode.
2014-02-25 12:28:36 +00:00
John Cupitt
af8cecde1a Merge branch '7.38'
Conflicts:
	ChangeLog
	configure.ac
	libvips/foreign/jpeg2vips.c
2014-02-24 21:56:42 +00:00
John Cupitt
d843521f77 jpeg load from buffer shouldn't modify buffer
fill_input_buffer() could write to the input buffer

see: https://github.com/jcupitt/libvips/pull/107

thanks Lovell
2014-02-24 17:10:07 +00:00
John Cupitt
dd835bdac9 fix webp load from buffer
was broken horribly, see

fa8b7e66ca
2014-02-24 09:46:52 +00:00
John Cupitt
a562f46e69 VipsLinear allows complex constants 2014-02-22 16:08:46 +00:00
John Cupitt
ba75a0c0ad Merge remote-tracking branch 'origin/7.38' into draw
Conflicts:
	ChangeLog
	configure.ac
2014-02-13 16:10:52 +00:00
John Cupitt
d201245a99 more locking for properties
need more locking on property create / lookup on very-threaded systems
2014-02-13 14:27:02 +00:00
John Cupitt
bf2acf2621 fix --sharpen=none
thanks ferryfax
2014-02-13 08:42:59 +00:00
John Cupitt
025e56c894 im_label_regions() is a class 2014-02-11 14:55:31 +00:00
John Cupitt
f4e970fb72 im_draw_smudge() done 2014-02-11 13:28:13 +00:00
John Cupitt
25fbe71c74 do im_read_point() / im_draw_point() 2014-02-10 21:54:54 +00:00
John Cupitt
33551fbf4c im_draw_rect() is a class 2014-02-10 11:07:00 +00:00
John Cupitt
495a6c7af1 im_draw_image() is a class 2014-02-09 19:38:53 +00:00
John Cupitt
e809f9d169 stats operations are sequential 2014-02-08 14:14:53 +00:00
John Cupitt
aa93889480 vips_paintmask() compiles 2014-02-07 14:59:18 +00:00
John Cupitt
95a9c52138 start line draw
line is working, doing a line_mask subclass
2014-02-06 14:46:45 +00:00
John Cupitt
c5d5fd515d Merge remote-tracking branch 'origin/master' into draw
Conflicts:
	ChangeLog
	libvips/draw/flood.c
2014-02-05 09:26:15 +00:00
John Cupitt
5989a2a37e better rounding in vips_flatten()
thanks allesandro
2014-02-04 19:50:13 +00:00
John Cupitt
e3dbbab570 vips_circle() works
flood next
2014-02-04 09:52:50 +00:00
John Cupitt
0509249c16 Merge remote-tracking branch 'origin/7.38'
Conflicts:
	ChangeLog
	configure.ac
2014-02-04 09:21:59 +00:00
John Cupitt
de0448b53d undeprecate VIPS_MASK_*
ruby-vips was using them, thanks ahacking
2014-02-04 09:11:43 +00:00
John Cupitt
fb489bad53 move vips_image_decode() into the public API 2014-02-03 14:29:57 +00:00
John Cupitt
b72818a2b8 add VIPS_OPERATION_DEPRECATED
and fix a tiny problem in vipswrap7
2014-02-03 13:23:58 +00:00
John Cupitt
874511470f add source_space to vips_colourspace()
you can now specify the source colourspace, if you want
2014-02-03 09:33:15 +00:00
John Cupitt
9cb152596c bg render thread quits on shutdown
fixes a small memleak
2014-01-29 09:07:58 +00:00
John Cupitt
fa2305e8d3 Merge remote-tracking branch 'origin/7.38' 2014-01-26 11:37:00 +00:00
John Cupitt
acbb77ac40 add "rgbjpeg" flag to tiffsave
add a secret "rgbjpeg" flag to tiffsave to help IIPImage server

iipimage server 0.9.9 and earlier don't handle YCbCr-coded JPEG tiffs
correctly ... setting --rgbjpeg makes vips output RGB coded JPEG tiff
which iipsrv can handle.

Using this flag makes files 2x to 3x larger with no quality improvement,
so it is tagged as deprecated to keep it hidden.
2014-01-26 10:43:32 +00:00
John Cupitt
e7efa8e6f2 more auto-decode 2014-01-23 16:51:32 +00:00
John Cupitt
13a6ed1457 Merge remote-tracking branch 'origin/7.38'
Conflicts:
	ChangeLog
	configure.ac
	libvips/conversion/falsecolour.c
	libvips/resample/affine.c
2014-01-23 15:25:09 +00:00
John Cupitt
ae6ea3ba87 support many Radiance readers active at once
we had some globals for the Rad reader state, whcih was fine with the
old reader, but with the new sequential one you can have several active
at once
2014-01-23 15:06:37 +00:00
John Cupitt
f5799c4608 falsecolour failed for some image types
type prevented the auto-cast-first-band thing working
2014-01-23 14:27:45 +00:00
John Cupitt
bf9fc7f855 auto-unpack RAD in affine 2014-01-22 10:02:38 +00:00
John Cupitt
c8c532a068 version bump for new cycle 2014-01-21 19:34:40 +00:00
John Cupitt
1c4c9bd48e note vipsthumbnail fix 2014-01-21 09:09:20 +00:00
John Cupitt
cffe3bf965 pack Radiance images to and from 0-1
so this now works:

$ vips copy uffizi_probe.hdr x.jpg
$ eog x.jpg
$ vips copy x.jpg x.hdr
$ vips copy x.hdr x2.jpg
$ eog x2.jpg
2014-01-19 17:30:56 +00:00
John Cupitt
11339f29b5 bump soname
oops, thanks benjamin
2014-01-19 15:11:06 +00:00
John Cupitt
fd617aa520 version bump for 7.38
and fix a few dist problems
2014-01-18 12:44:28 +00:00
John Cupitt
5983833caa deprecate im_zerox(), not very useful
morph now done
2014-01-17 18:03:46 +00:00
John Cupitt
cd7fcf5cfe redo im_rank() as a class 2014-01-17 14:44:25 +00:00
John Cupitt
cb96ed814e redo im_cntlines() as a class 2014-01-17 11:18:05 +00:00
John Cupitt
9fbfbb3e48 Merge branch 'master' of github.com:jcupitt/libvips
Conflicts:
	ChangeLog
2014-01-15 14:11:27 +00:00
John Cupitt
bbd5cbfb44 add vips_thread_shutdown()
You now need to call vips_thread_shutdown() from all threads you create
yourself just before they exit. This gives vips a chance to free any
thread-private memory and to write out profiling data. libvips will
complain noisily if you fail to do this. You can harmlessly call
vips_thread_shutdown() more than once if you wish.

libvips will call vips_thread_shutdown for you automatically for the main
thread (the one that calls vips_shutdown()) and for threads it creates
directly itself.
2014-01-15 14:07:13 +00:00
John Cupitt
e489d2e099 add --uchar option to vips_linear() 2014-01-14 19:31:19 +00:00
John Cupitt
0aa521a09e add GREY16 / RGB16 as colourspace source / target 2014-01-12 19:03:03 +00:00
John Cupitt
112ca9ec21 add B_W as a source / target for vips_colourspace() 2014-01-12 18:41:49 +00:00
John Cupitt
2a81c611c5 Merge remote-tracking branch 'origin/7.36'
Conflicts:
	ChangeLog
	configure.ac
	libvips/deprecated/im_exr2vips.c
	libvips/foreign/radiance.c
2014-01-09 14:30:52 +00:00
John Cupitt
c81654ad93 fix some clang warnings 2014-01-09 14:26:58 +00:00
John Cupitt
f5b0722a13 redo im_phasecor_fft() a s aclass 2014-01-07 09:06:02 +00:00
John Cupitt
2c184ac06a redo im_fractsurf() as a class 2014-01-04 14:38:30 +00:00
John Cupitt
4bc67b8bee redo im_disp_ps() as a class 2014-01-04 13:00:43 +00:00
John Cupitt
f8b9645bd8 move im_freqflt() to a class
and move im_freq_mask() to deprecated
2014-01-03 23:22:07 +00:00
John Cupitt
46489ea84c redo im_invfft() as a class 2014-01-03 17:03:06 +00:00
John Cupitt
451eff58b1 im_fwfft() is a class 2014-01-03 16:23:44 +00:00
John Cupitt
dde6e4508a rewrite (most of) the freq mask builders
all classes now, except gauss band filter
2014-01-02 18:29:59 +00:00
John Cupitt
c12349ae97 remove old v4l1 code
removed video4linux 1 video grabber

bring it back some day with a v4l2 rewrite

https://github.com/jcupitt/libvips/issues/90
2013-12-30 16:26:56 +00:00
John Cupitt
3f95520580 fix vips_hist_match()
it wasn't upcasting input to uint due to a mix-up with VipsHistogram
2013-12-19 10:05:49 +00:00
John Cupitt
bbf899eb35 add --crop to vipsthumbnail 2013-12-18 14:23:39 +00:00
John Cupitt
0d79221853 memuse improvements
- conv is now SMALLTILE
- more instrumentation
- better buffer recycling
- quicker buf freeing
2013-12-17 15:21:21 +00:00
John Cupitt
bd3b3e04f9 sync 2013-12-13 17:34:38 +00:00
John Cupitt
bfcd50acf2 works!
reusing work, though memuse seems high?
2013-12-13 16:51:01 +00:00
John Cupitt
61068cd03d added vips::init() and vips::shutdown()
OS X mav was having trouble linking im_init_world() via the C++ API, so
we now have C++ functions for startup and shutdown.
2013-12-11 14:43:58 +00:00
John Cupitt
4ec50c3715 on reflection, remove cmyk2srgbjpeg again
simpler to updat ethe blog post with a shell-script version using the
new icc_transform operation
2013-12-10 12:29:39 +00:00
John Cupitt
aede2cafce paste in cmyk2srgbjpeg
many thanks Nicolas
2013-12-10 09:23:34 +00:00
John Cupitt
b3d31ced79 vipsprofile graphs memory use
marks malloc/free as well
2013-12-09 13:45:41 +00:00
John Cupitt
dccc5d5180 add __restrict__ markup to loop pointers
helps auto-vec

also remove a couple of if()s from inner loops, again, helps auto-vec
2013-11-30 13:55:10 +00:00
John Cupitt
1da3064e7b Merge remote-tracking branch 'origin/7.36' 2013-11-29 22:15:04 +00:00
John Cupitt
53562905d4 remove use of PATH_MAX
helps gnu hurd, thanks Jay
2013-11-28 09:05:53 +00:00
John Cupitt
0bf5ee12fd more calcs in output 2013-11-26 17:53:44 +00:00
John Cupitt
5810ac761e Merge branch 'master' into gate 2013-11-20 16:32:39 +00:00
John Cupitt
c6d9695431 Merge branch '7.36' 2013-11-20 16:32:09 +00:00
John Cupitt
7a5af8b610 allow larger tile_size in dzsave
bump the tile_size limit up, thanks Petter Ranefall
2013-11-20 15:27:47 +00:00
John Cupitt
4feaec77c3 Merge branch 'master' into gate 2013-11-20 15:12:26 +00:00
John Cupitt
dc24afb28f Merge remote-tracking branch 'origin/7.36'
Conflicts:
	ChangeLog
	configure.ac
2013-11-20 15:12:14 +00:00
John Cupitt
88b2f4350d better cache sizing in unbuffered sequential mode
Previously we only ever had a single tile of cache in unbuffered mode.
This could break with many threads, if thread requests crossed tile
boundaries.

Now have one tile per thread, plus a bit for slop.
2013-11-20 14:46:46 +00:00
John Cupitt
9b9d940148 parse profile output 2013-11-19 10:13:38 +00:00
John Cupitt
693ed09edd add --vips-profile
only added a few gates so far, try a visualiser next
2013-11-18 18:31:49 +00:00
John Cupitt
8b2dc6f53f Merge remote-tracking branch 'origin/master' 2013-11-16 18:40:24 +00:00
John Cupitt
8992110a85 Merge remote-tracking branch 'origin/7.36'
Conflicts:
	ChangeLog
	configure.ac
2013-11-16 13:18:45 +00:00
John Cupitt
4065ec925c add im_init_world() entry point
C++ programs need this as a function rather than just a macro, see
VImage.h

thanks Phil for finding this
2013-11-16 12:57:05 +00:00
John Cupitt
5e0a9f941f added vips_gaussblur() 2013-11-15 12:37:26 +00:00
John Cupitt
82f680484c vips_colourspace() could fail
for images with alpha channels
2013-11-14 13:55:23 +00:00
John Cupitt
847332a77e add --strip option to jpegsave
drops all metadata
2013-11-12 17:30:33 +00:00
John Cupitt
53e86e71f4 fix up XYZ PCS and vipsthumbnail
fix import and export scaling, get vipsthumbnail to use it in --linear
mode
2013-11-12 17:18:41 +00:00
John Cupitt
8dfe4611d2 add a --linear option to vipsthumbnail
thanks to Nicolas for the prodding
2013-11-12 09:53:41 +00:00
John Cupitt
b3484e1c8e rename vips_gammacorrect() as vips_gamma()
and swap exp to 1 / exp

also works for any format
2013-11-11 14:57:55 +00:00
John Cupitt
b1f01af01b add vips_crop()
a synonym for vips_extract_area()
2013-11-11 14:31:41 +00:00
John Cupitt
6351bad027 Merge remote-tracking branch 'origin/7.36' 2013-11-09 16:03:24 +00:00
John Cupitt
3380f15da5 fix --delete option to vipsthumbnail
oops, ! missing
2013-11-09 13:10:11 +00:00
John Cupitt
f8f61fedf3 operation flags were not disjoint
meaning CACHE / NOCACHE was not working correctly
2013-11-09 11:54:33 +00:00
John Cupitt
63c1efc3b4 fix blocking of caching of seq load
we were setting nocache too late for the cache to see, move nocache
logic to _build()
2013-11-09 11:38:32 +00:00
John Cupitt
f0d4760560 redo correlation funcs as classes
im_fastcor()
im_spcor()
im_gradcor()

though gradcor we just deprecate, it's complex and hardly used ...
rework later is anyone complains
2013-11-08 14:09:42 +00:00
John Cupitt
ae71229cf5 rewritten radiance load is much faster
the old rad code, from radiance.c, was using getc in a loop
2013-11-05 10:36:14 +00:00
John Cupitt
079c9775aa sequential mode for radiance read 2013-11-04 14:21:22 +00:00
John Cupitt
ad94488734 deprecate im_contrast_surface()
slower than calling conv a few times
2013-11-03 12:24:46 +00:00
John Cupitt
e1f2c06772 add @point subsample mode
to vips_subsample()
2013-11-02 09:33:10 +00:00
John Cupitt
68c5f1909a redo im_convsep() as a class
and im_convsep_f()
2013-10-25 14:37:43 +01:00
John Cupitt
2e3d7db0e6 switch to new im_compass()
plus im_linedet() and im_gradient()
2013-10-25 13:46:17 +01:00
John Cupitt
dec76f566d Merge remote-tracking branch 'origin/master' into rot45 2013-10-25 12:58:17 +01:00
John Cupitt
3dce5951c2 reverse similarity rotation direction convention
The rest of vips uses +ve-is-clockwise convention, like almost all image
processing packages. The new similarity operator was mistakenly using the
mathematical +ve-is-anticlockwise convention, oops.
2013-10-25 12:56:24 +01:00
John Cupitt
33f978f0ca add vips_matrixprint() 2013-10-25 12:02:02 +01:00
John Cupitt
2720026a61 redo im_rank_image() as a class 2013-10-23 14:54:22 +01:00
John Cupitt
5475cabbf2 redo im_dilate()/erode() as classes
just a thin wrapper over the vips7 operations for now
2013-10-23 13:15:31 +01:00
John Cupitt
8d270d49c4 allow non-square bounding boxes in vipsthumbnail
thanks seth
2013-10-23 09:37:45 +01:00
John Cupitt
12cf71a6a9 combin copy_fields and demand_hint
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.

All operations are now slightly smaller and simpler.
2013-10-22 09:29:40 +01:00
John Cupitt
0bfb23eca8 add "interlace" option to vips_jpegsave()
see https://github.com/jcupitt/libvips/issues/77
2013-10-21 12:16:33 +01:00
John Cupitt
f7f061d265 vips_init() does ABI checking
just checks sizeof(VipsObject) for now
2013-10-20 16:46:55 +01:00
John Cupitt
7ef4573f18 redo im_log_*mask() as classes 2013-10-20 16:10:22 +01:00
John Cupitt
aa107b1bf7 remove old 45 degree mask rotate code
just a wrapper now
2013-10-20 12:30:54 +01:00
John Cupitt
4e06d0a2b4 redo im_gauss*mask*() as classes 2013-10-20 12:17:29 +01:00
John Cupitt
ece34465f0 fix compiler warnings
13.10 produces a few new ones
2013-10-18 09:13:24 +01:00
John Cupitt
abfb5a5fc5 rename jpeg bool type
another attempt at fixing this mess
2013-10-15 21:33:59 +01:00
John Cupitt
a1ffdbf7c5 version bump 2013-10-15 13:58:54 +01:00
John Cupitt
3874bd3c90 typo 2013-10-07 17:06:42 +01:00
John Cupitt
6c0eced22c build fixes for OS X
stupid libjpeg and their stupid bool type argh
2013-10-04 11:54:01 +01:00
John Cupitt
8ef91f8df9 version bump ready for 7.36 2013-10-03 13:02:20 +01:00
John Cupitt
439522a254 add vips_similarity()
simple wrapper over vips_affine() that lets you give the matrix as scale
+ angle.
2013-10-03 11:56:35 +01:00
John Cupitt
1c55abca1f add --band arg to maplut
you can chose to map just one band of @in through a one-band lut, use
for adjusting L in a LAB image, for example
2013-10-02 12:10:30 +01:00
John Cupitt
0fcff235b3 deprecate im_tone_map() and im_tone_analyze()
too trivial and specialised to be worth redoing
2013-10-02 10:36:00 +01:00
John Cupitt
d329fb165d im_ismonotonic() becomes a class 2013-10-02 10:16:46 +01:00
John Cupitt
81bd3c1b53 more cosmetic 2013-10-02 05:51:14 +01:00
John Cupitt
881c6d72f5 cosmetic 2013-10-02 05:32:17 +01:00
John Cupitt
45a9e417f4 start vips_conv() 2013-10-01 14:26:13 +01:00
John Cupitt
440b800e0e add a new unbuffered seq mode
things like

	vips copy huge.png x.v

now run with only a small line cache
2013-09-29 11:04:11 +01:00
John Cupitt
ee336b0199 allow many more types in tiff write
the tiff writer now allows 32-bit int, complex, any number of bands,
etc. etc.
2013-09-24 09:15:06 +01:00
John Cupitt
90e08e92ee allow .dz as a destination
so this now works:

$ vips extract_area 50310.svs x.dz 10 10 100 100

and writes a deepzoom pyramid
2013-09-24 09:00:55 +01:00
John Cupitt
a11e5352f2 tiff reader allows many more formats
eg. 32-bit ints, signed and unsigned, complex, extra alpha, etc.
2013-09-23 14:55:05 +01:00
John Cupitt
326365ab6c redo im_mpercent*() as a class 2013-09-21 16:19:51 +01:00
John Cupitt
b11de1ce22 redo im_profile() as a class
also fix an oops in the new project.c code
2013-09-21 15:21:15 +01:00
John Cupitt
481a4445fb add vips_image_new_matrixv() 2013-09-20 22:06:59 +01:00
John Cupitt
d029461bc0 redo im_tone_build*() as classes
start vips_hist_percent() as well
2013-09-20 14:33:34 +01:00
John Cupitt
04701ad7d5 big tiff reader cleanup 2013-09-18 12:43:03 +01:00
John Cupitt
e3fa14f61b support plane-separated data in tiff read
though only for strip images, needs some more testing
2013-09-17 14:56:16 +01:00
John Cupitt
5ffe42cec6 Merge branch 'webp'
Conflicts:
	ChangeLog
	TODO
2013-09-17 10:32:44 +01:00
John Cupitt
8ccb5bbe6d support greyscale tiff with alpha
thanks Robert for pointing out this omission
2013-09-16 15:25:02 +01:00
John Cupitt
2088e3d111 im_project() becomes a class 2013-09-16 12:19:48 +01:00
John Cupitt
96b3bf1fcb im_stdif() -> a class
also many bands support
2013-09-10 20:19:11 +01:00
John Cupitt
f1c3e1a434 any number of bands for hist_local 2013-09-10 17:57:10 +01:00
John Cupitt
d78b417c3a im_lhisteq() -> a class 2013-09-05 13:50:47 +01:00
John Cupitt
7a5e04ba00 redo im_invertlut() as a class 2013-09-05 09:11:23 +01:00
John Cupitt
f35e27135a im_histspec() becomes a class 2013-09-04 09:19:34 +01:00
John Cupitt
1c54970deb deprecate im_hsp() 2013-08-19 16:40:30 +01:00
John Cupitt
81ee98fca7 im_histplot() -> vips_hist_plot() 2013-08-19 16:07:35 +01:00
John Cupitt
13cf12f0df more im_histindexed() to a class 2013-08-19 15:14:15 +01:00
John Cupitt
e2215bd04c redo im_histnD() as a class 2013-08-17 16:59:28 +01:00
John Cupitt
30364aada3 redo im_heq() as a class 2013-08-13 16:03:20 +01:00
John Cupitt
15dcb27916 redo im_histnorm() as a class
also deprecate im_histeq() (it's just cum + norm)
2013-08-13 15:33:29 +01:00
John Cupitt
4e9ed44432 im_histcum() as a class 2013-08-13 14:22:25 +01:00
John Cupitt
ae6d917811 redo im_histgr() as a class 2013-08-12 11:47:53 +01:00
John Cupitt
6855770362 rename vips_diag() as vips_info()
plus a command-line flag to turn it on
2013-08-07 09:22:24 +01:00
John Cupitt
4a65af9196 add save functions 2013-08-06 18:15:18 +01:00
John Cupitt
165e7c9717 basic webp load done 2013-08-06 15:51:23 +01:00
John Cupitt
5f340ea554 Merge remote-tracking branch 'origin/7.34'
Conflicts:
	libvips/iofuncs/type.c
2013-08-06 13:20:13 +01:00
John Cupitt
8a72c0742c oops 2013-08-06 13:00:59 +01:00
John Cupitt
9b6f96ed41 redo falsecolour, gammacorrect as classes 2013-08-02 09:41:11 +01:00
John Cupitt
226095c39d move im_maplut() to a class 2013-07-31 22:00:36 +01:00
John Cupitt
aadd7c1ee5 vipsthumbnail rewrite 2013-07-10 11:05:45 +01:00
John Cupitt
ae4922e480 Merge remote-tracking branch 'origin/7.34' 2013-07-06 12:00:40 +01:00
John Cupitt
02095763c9 null-terminate exif strings
libexif strings are not null-terminated, add a \0 before adding to the
vips image

thanks Mike
2013-07-06 11:51:34 +01:00
John Cupitt
1ba188dc83 better file format sniffing
and vips_error_freeze/thaw() to stop errors from sniffing
being logged

plus better matrix sniffing
2013-07-04 09:43:57 +01:00
John Cupitt
0180a61be4 move im_identity*() to a class 2013-07-03 21:39:28 +01:00
John Cupitt
7ee47c2073 vips_buildlut() builds
also fix ref doc build
2013-07-03 12:52:39 +01:00
John Cupitt
27cec75cbd Merge remote-tracking branch 'origin/7.34'
Conflicts:
	ChangeLog
	TODO
	configure.ac
2013-07-03 11:38:15 +01:00
John Cupitt
7bf40144b9 lower priority for matlab load
reduces segvs from Mat_Open(), thanks Michael
2013-07-03 11:36:25 +01:00
John Cupitt
7490da07a6 rename image array as matrix
we had vips_image_new_array(), this was confusing with VIPS_TYPE_ARRAY,
something completely different ... rename image array as matrix
2013-07-02 22:09:50 +01:00
John Cupitt
9278498623 add vips_matrixload(), vips_matrixsave()
read and write vips mat format to and from VipsImage

also fix a leak with vips_check_matrix()
2013-07-02 12:08:46 +01:00
John Cupitt
8259da2b9c getting ready to rewrite hist stuff 2013-07-01 13:45:36 +01:00
John Cupitt
3b6bcef700 strip ICC profile on conversion in xyz2srgb
if we use the vips xys->srgb  path (ie. not the lcms one) we must remove
any ICC profile left over from import, otherwise we may have srgb pixels
with a non-srgb profile
2013-07-01 09:23:09 +01:00
John Cupitt
610f7aa0eb fix morph on non-uchar images 2013-06-28 14:50:39 +01:00
John Cupitt
b20a9f78dd faster --centre logic for dzsave
don't test pixel-by-pixel for background tiles, instead track the rect
of real pixels and test for intersection

this might help performance scaling on many-core CPUs since we are no
longer spinning up a threadgroup for each output tile

thanks Kacey
2013-06-19 14:03:39 +01:00
John Cupitt
dcd2dbb756 vips_pngload_buffer() works
fix a bug in vips_jpegload_buffer() too
2013-06-17 09:41:22 +01:00
John Cupitt
d7d91363ba im_sines() as a class 2013-06-13 18:46:41 +01:00
John Cupitt
6031b40b8d move im_zone*() over to a class 2013-06-13 17:37:24 +01:00
John Cupitt
cf09f3376e redo im_*eye() as a class 2013-06-13 13:50:24 +01:00
John Cupitt
86f3d2b083 add vips_xyz() 2013-06-12 14:51:43 +01:00
John Cupitt
c77386f3cf vips_magickload() only reads 1st image in sequence
with an @all_frames option to get them all, thanks acrispino
2013-06-11 14:29:43 +01:00
John Cupitt
55bfa92725 add a vips7 interface to the deepzoom writer 2013-06-11 12:32:46 +01:00
John Cupitt
3bffb2a7e3 Merge remote-tracking branch 'origin/7.32' 2013-06-11 09:54:21 +01:00
John Cupitt
c95dbe3dcd link against gthread on old glib
if glib is ancient, link against gthread ... fixes centos5 build

thanks re-boot
2013-06-09 17:09:21 +01:00
John Cupitt
0221bcd3f6 fix no-pango mode
oops again
2013-06-07 22:52:54 +01:00
John Cupitt
5d7f19beb3 fix VImage.PIL_mode_from_vips()
thanks Alessandro
2013-06-07 10:42:47 +01:00
John Cupitt
ad258d9ad2 version bump 2013-06-07 09:53:22 +01:00
John Cupitt
bd5c4757e8 fix vips_shrink() seq again
perhaps properly this time
2013-06-06 12:08:26 +01:00
John Cupitt
b405047132 im_system*() -> a class
vips_system() is a bit more flexible too
2013-06-04 13:25:38 +01:00
John Cupitt
dfd09a0285 redo im_text() as a class 2013-06-03 14:37:55 +01:00
John Cupitt
27b7332a60 im_msb() -> class
and some cleanups

add a --band option
2013-06-03 10:26:09 +01:00
John Cupitt
738fe3aeaf redo subsample as a class 2013-06-01 21:31:45 +01:00
John Cupitt
0bbc1b20d6 im_zoom() -> class 2013-06-01 10:56:16 +01:00
John Cupitt
236b8b99ad redo im_wrap() as a class
incorporate im_rotquad() as an option too
2013-05-31 18:12:39 +01:00
John Cupitt
caed1199ed im_scaleps() is a class
actually an option to vips_scale(), with a param for the exponent as
well
2013-05-30 16:55:32 +01:00
John Cupitt
4311d452f1 redo im_scale() as a class 2013-05-30 16:29:58 +01:00
John Cupitt
e0951c223b redo im_grid() as a class 2013-05-30 15:52:36 +01:00
John Cupitt
42b4dd947d im_copy_file() -> vips_copy_file()
also rename vips_image_new_disc_tmpe() as vips_image_new_temp_file()
2013-05-29 17:08:18 +01:00
John Cupitt
1310d4193b add --angle option to dzsave 2013-05-29 14:06:23 +01:00
John Cupitt
62b52ed624 gaussnoise redone as a class 2013-05-29 12:21:30 +01:00
John Cupitt
69136b1d8c auto rshift to 8 bits for 8-bit save 2013-05-28 10:32:37 +01:00
John Cupitt
cdb3c589dd Merge remote-tracking branch 'origin/7.32'
Conflicts:
	ChangeLog
	configure.ac
2013-05-14 09:40:16 +01:00
John Cupitt
d739a240eb fix a segv with icc import/export
would segv for very wide images
2013-05-14 09:38:59 +01:00
John Cupitt
5e3f868171 don't cache vips_copy() or im_copy() 2013-05-11 16:31:18 +01:00
John Cupitt
f80bf594ce sharpen param to vipsthumbnail 2013-05-03 13:56:38 +01:00
John Cupitt
147b135944 Merge remote-tracking branch 'origin/7.32' 2013-04-25 22:22:53 +01:00
John Cupitt
d6e8abce9b added "persistent" option to tilecache
sometimes you need to keep pixels between evaluations
2013-04-25 17:43:15 +01:00
John Cupitt
891051abbe Merge remote-tracking branch 'origin/7.32'
Conflicts:
	ChangeLog
	configure.ac
	po/vips7.32.pot
2013-04-16 17:01:37 +01:00
John Cupitt
4c5772fe5f rename vips7.po as vips7.32.po
helps Debian, where they need to be able to install versions in parallel
2013-04-16 14:30:28 +01:00
John Cupitt
5e30107d75 Merge remote-tracking branch 'origin/7.32' 2013-04-08 13:17:31 +01:00
John Cupitt
f0cbe27bb2 Merge remote-tracking branch 'origin/7.32' into 7.32
Conflicts:
	ChangeLog
2013-04-08 13:17:10 +01:00
John Cupitt
0c6da0c330 fix demand hints for shrink
"vips shrink" was broken due to wonky demand hints, thanks Jan
2013-04-08 13:08:24 +01:00
John Cupitt
9a73a0ea5c Merge remote-tracking branch 'origin/7.32' 2013-03-22 09:14:43 +00:00
John Cupitt
4ebe588da6 fix compile without jpeg
im_jpeg2vips.c failed to compile if jpeglib.h was missing, thanks
Alessandro
2013-03-22 09:12:06 +00:00
John Cupitt
3612dce45a Merge branch '7.32' 2013-03-17 15:24:25 +00:00
John Cupitt
831f8cb700 Merge remote-tracking branch 'origin/7.32' into 7.32
Conflicts:
	ChangeLog
2013-03-17 15:24:13 +00:00
John Cupitt
f5188ee3f6 better arg without value handling
this was segv-ing:

vips tiffsave v26722.tif v26722.pyr.tif --tile -tile-width 256

(only one hypen before tile-width)

thanks Ruven
2013-03-17 15:19:37 +00:00
John Cupitt
4bcc380b93 Merge remote-tracking branch 'origin/7.32'
Conflicts:
	ChangeLog
2013-03-15 12:17:09 +00:00
John Cupitt
9cb1403b9b better error msg on unknown action
$ vips fred --n

would confusingly complain about unknown option --n, rather than the
unknown acrion "fred"
2013-03-15 12:15:35 +00:00
John Cupitt
386d73770e oops date 2013-03-12 12:07:52 +00:00
John Cupitt
042d093df2 bump version for next cycle 2013-03-12 12:06:59 +00:00
John Cupitt
0f633da128 configure cleanup, version bump
configure.ac had some left-over debugging code
2013-03-12 08:56:25 +00:00
John Cupitt
9795913bf5 sync 2013-03-07 11:23:17 +00:00
John Cupitt
58040423d2 fix --without-lcms
oops! thanks speckins
2013-03-06 17:33:25 +00:00
John Cupitt
8269a79801 vipsthumbnail sizes cache better
the vipsthumbnail cache could be too small on many-cpu machines, size it
more intelligently
2013-03-01 09:44:19 +00:00
John Cupitt
2d085f753b record the image loader
and display in header too
2013-02-27 12:51:26 +00:00
John Cupitt
ad2156a6d2 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.ac
	po/vips7.pot
2013-02-27 12:10:53 +00:00
John Cupitt
b1b1d8ae39 fix png write bug, bump version 2013-02-27 12:09:10 +00:00
John Cupitt
25a7b760d0 neater "header" output 2013-02-26 13:32:40 +00:00
John Cupitt
3837497613 threaded tilecache could deadlock
in threaded mode, tilecache could deadlock if the downstream pixel
source raised an error

senario:

	- thread1 starts working on tile A and flags it as a CALC
	  (calculation in progress)

	- thread2 needs tile A, sees it is being worked on, and blocks
	  until computation is done

	- thread1 hits an error ... it correctly remarks the tile as
	  PEND (calculation pending), but does not broadcast a wake-up
	  signal

	- thread2 stays blocked!

threads now broadcast a wakeup on tile error as well as on tile success

Thanks to Todd Patrick
2013-02-21 17:26:58 +00:00
John Cupitt
b3c16b69a1 version number bump
bump version for new stable cycle
2013-01-22 14:04:55 +00:00
John Cupitt
9fb16c23fc add --centre option to dzsave
with --centre turned on, in google maps mode dzsave will centre tiles
rather than placing them at the top-left

also, make sure blank.png is set to @background
2013-01-21 14:48:14 +00:00
John Cupitt
1ae19e896f Merge remote-tracking branch 'origin/7.30'
Conflicts:
	libvips/conversion/sequential.c
	libvips/conversion/tilecache.c
	libvips/deprecated/im_tile_cache.c
	libvips/deprecated/vips7compat.c
	po/vips7.pot
2013-01-15 13:47:48 +00:00
John Cupitt
a431f5e021 clean up after fix
threaded tile cache seems a good solution --- clean up and get ready to
merge back into master
2013-01-14 17:35:05 +00:00
John Cupitt
8ab2f3eeb6 backport threaded tile cache 2013-01-14 14:51:51 +00:00
John Cupitt
ac405862ba argh 2013-01-11 14:51:12 +00:00
John Cupitt
fbfaac319a Merge remote-tracking branch 'origin/master' into corner 2013-01-02 10:18:53 +00:00
John Cupitt
c43924f716 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.in
2012-12-31 14:40:30 +00:00
John Cupitt
ee2b1f71ce better option parsing for "vips"
The vips driver program was parsing options in a single pass. This
failed if an option came in two parts, for example:

	vips --plugin x.plg list

the argument to --plug would be picked up as the action for "vips",
since actions were selected before option parsing

Now we parse in two passes: the first pass picks up options for vips
itself and for the libvips library, then we select the action, then we
parse again, including any options created by the action
2012-12-31 14:10:54 +00:00
John Cupitt
7fb57a4ea7 Merge remote-tracking branch 'origin/master' into corner
Conflicts:
	ChangeLog
2012-12-19 11:18:30 +00:00
John Cupitt
8b67d53e56 make VipsArea threadsafe
google maps output needs threaded create / destroy of VipsArea (used to
hold the background colour). We need a lock on VipsArea::count.

Fixes https://github.com/jcupitt/libvips/issues/46

Thanks fuho
2012-12-19 09:58:35 +00:00
John Cupitt
e6eb08173f can now displace affine input space
so hopefully that means you can change corner vs. centre convention
easily
2012-12-18 13:08:18 +00:00
John Cupitt
4c82d45463 redo im_affine as a class 2012-12-14 12:33:47 +00:00
John Cupitt
43d69e74e7 use corner convention everywhere
all interpolators use corner convention
2012-12-13 14:10:52 +00:00
John Cupitt
c341f0d134 add scRGB functions 2012-12-11 15:25:28 +00:00
John Cupitt
3dc10831c1 added vips_bandbool() 2012-12-07 11:17:09 +00:00
John Cupitt
1de6c6bcc6 add binary complex ops
cross_phase is the only one atm
2012-12-06 14:52:51 +00:00
John Cupitt
a83da34355 more deprecations
im_point*() and im_linreg() this time
2012-12-06 14:10:43 +00:00
John Cupitt
81158d5b34 clean up notes 2012-12-05 21:52:37 +00:00
John Cupitt
a4433f1b9f vips_min() done too 2012-12-05 14:40:01 +00:00
John Cupitt
1e332d2f29 vips_max() returns arrays for position and value
int array type too for x/y position arrays
2012-12-05 13:11:29 +00:00
John Cupitt
6f22c00df4 NN now rounds down rather than to nearest
nearest-neighbour interpolation now strictly rounds down rather than
rounding to nearest

round to nearest caused strange half-pixels along top/left image edges
during enlargement, and extra 1.5 sized pixels everywhere else

instead we should fix the thing that round to nearest was supposed to fix by
adding an extra pair of params to the affine transform which displace in
input space (dx/dy displace in output space)
2012-11-30 21:35:12 +00:00
John Cupitt
c3ef2be4ab preserve jpeg ipct data
now copies over ipct data from app13, thanks Gary
2012-11-21 21:33:50 +00:00
John Cupitt
fcc33020bd better exif handling
- track ifd numbers for each item of exif
- be more careful about which ones we update
- don't update xres/yres in vips_shrink()
2012-11-16 10:03:31 +00:00
John Cupitt
9abb7a1fd1 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.in
	libvips/conversion/tilecache.c
	po/vips7.pot
2012-11-14 14:52:27 +00:00
John Cupitt
efcc53859a capture tiff warnings during startup
We were not capturing warnings from libtiff until we used libtiff
ourselves. Other libraries whcih we call, such as ImageMagick, could use
libtiff and generate an uncaptured warning.

On Windows these warnings each produced a popup.
2012-11-14 14:44:21 +00:00
John Cupitt
4ab937a8b6 fix library versioning mixup
thanks benjamin
2012-11-14 09:59:30 +00:00
John Cupitt
767bfc3b7f allow absolute file names in vipsthumbnail -o
thanks fuho
2012-11-13 20:09:30 +00:00
John Cupitt
fdaad16407 better --help output for vips driver prog
now lists possible actions
2012-11-13 12:51:58 +00:00
John Cupitt
b03d48e24b make linecache 50% larger
thanks ferryfax, see:

https://github.com/jcupitt/libvips/issues/36
2012-11-12 14:17:21 +00:00
John Cupitt
e0b2919f16 add 16-bit sRGB export 2012-11-06 13:53:37 +00:00
John Cupitt
bf11e2ff55 added vips_colourspace_issupported() 2012-11-02 13:13:13 +00:00
John Cupitt
d282cb1111 Merge remote-tracking branch 'origin/master' 2012-11-02 11:30:27 +00:00
John Cupitt
e12da1c32f sync 2012-11-02 11:30:17 +00:00
John Cupitt
09789ebdfd add @depth option to dzsave
so you can ask for a 1 layer pyramid
2012-11-01 18:11:46 +00:00
John Cupitt
4c5dd969bc rename colour_convert as colourspace
also rework im_icc_ac2rc
2012-11-01 14:59:20 +00:00
John Cupitt
f5790be152 rename UCS as CMC 2012-11-01 10:21:55 +00:00
John Cupitt
63a06e5f81 faster and more accurate sRGB <-> XYZ
just use one table, since all colour channels are the same now
have more points in the float -> int direction, fewer in int -> float
faster out of range detection
2012-11-01 08:53:54 +00:00
John Cupitt
a2d4c15049 move dE00 to a class 2012-10-31 11:22:28 +00:00
John Cupitt
de3298d69e redo dEUCS as a class 2012-10-31 11:04:10 +00:00
John Cupitt
db0c05434f dE_from_lab() as a class 2012-10-25 23:07:09 +01:00
John Cupitt
40604e776a Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	libvips/colour/im_icc_transform.c
2012-10-25 08:58:17 +01:00
John Cupitt
013dd225f6 update g_cond_*() usage 2012-10-23 12:55:38 +01:00
John Cupitt
8a4d4a6778 Merge remote-tracking branch 'origin/7.30' 2012-10-23 11:45:24 +01:00
John Cupitt
2f1149716f increase dzsave max tile size 2012-10-23 10:57:34 +01:00
John Cupitt
fad78f8555 rework gthread usage
glib-2.32 deprecated g_mutex_new() ... use a compat function to hide
this change

also remove the --without-threads configure flag, gthread is now
compulsory, so there was no longer any point
2012-10-22 22:08:53 +01:00
John Cupitt
f8a160de44 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-10-21 12:24:08 +01:00
John Cupitt
abf7274754 Merge branch 'master' of github.com:jcupitt/libvips 2012-10-19 09:38:21 +01:00
John Cupitt
51d2f8149f oops left over bit 2012-10-19 08:41:36 +01:00
John Cupitt
f76ad26a38 Merge remote-tracking branch 'origin/7.30' 2012-10-18 11:19:00 +01:00
John Cupitt
56f5955a24 vipsCC required the wrong version of vips
vipsCC.pc.in was asking for vips-7.30.pc, but of course we now call it
vips.pc

thanks Alessandro
2012-10-18 11:16:42 +01:00
John Cupitt
2f6aceb32a revert to sharing an openslide handle
openslide master now has locking around tiff access
2012-10-12 14:20:02 +01:00
John Cupitt
92366883cd Merge remote-tracking branch 'origin/master' into parallel-read
Conflicts:
	ChangeLog
2012-10-11 12:48:08 +01:00
John Cupitt
ab1d4ac6b8 look for tile-width and tile-height properties
get tile geo from openslide
2012-10-11 12:47:17 +01:00
John Cupitt
2f65b07abb add a @background option to embed and dzsave
you can now set the background colour for edge tiles in dzsave and embed, eg.:

vips dzsave k2.jpg x --background "1 2 3"
2012-10-10 13:22:30 +01:00
John Cupitt
d0b1740fd1 various small bugfixes
now works
2012-10-09 14:37:46 +01:00
John Cupitt
6e6a2a455a Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	libvips/foreign/dzsave.c
2012-10-03 14:45:53 +01:00
John Cupitt
dee1aac7b1 dzsave can write zoomify and google maps
use "layout" to pick the directory layout, deepzoom / zoomify / google
all allowed
2012-10-03 14:26:59 +01:00
John Cupitt
aec36aa5a7 Merge remote-tracking branch 'origin/7.30' 2012-10-03 09:40:03 +01:00
John Cupitt
4050c47281 fix .dzi format string
dzsave left the save options attached to the Format string in the .dzi
file

also, version bump
2012-10-02 13:11:43 +01:00
John Cupitt
0e5e34e1ea sdzsave fix
if dzsave was running a scanline at a time and height was odd, the final
set of tiles were not being written -- thanks Martin
2012-10-01 14:08:59 +01:00
John Cupitt
c1dcc3e509 fix a compile fail if no libtiff
compilation failed if libtiff-dev was not found, thanks Martin
2012-09-28 13:30:28 +01:00
John Cupitt
d56943f2c2 add vips_colour_convert()
generic thing to change colourspace
2012-09-26 21:53:02 +01:00
John Cupitt
e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt
f8dddf23a9 remove disp stuff, just sRGB now
all the old monitor calibration stuff is gone, we only support sRGB now

im_Lab2disp() etc. have become vips_Lab2sRGB() etc.

compatibility macros keep old code compiling
2012-09-24 11:23:32 +01:00
John Cupitt
2ce7bc9618 started moving disp funcs 2012-09-21 14:47:50 +01:00
John Cupitt
5fff90bc95 redo LabQ2LabS / LabS2LabQ as classes 2012-09-21 11:55:31 +01:00
John Cupitt
969e355701 LabS <-> Lab as classes 2012-09-20 21:53:47 +01:00
John Cupitt
7130a74d0e redo rad2float / float2rad as classes 2012-09-20 15:13:44 +01:00
John Cupitt
7b665c24df redo im_Yxy2XYZ() and im_XYZ2Yxy() as classes 2012-09-20 09:49:05 +01:00
John Cupitt
e688bf29b6 redo im_XYZ2Lab() as a class 2012-09-20 09:18:52 +01:00
John Cupitt
496b4373a4 redo im_UCS2LCh() and im_LCh2UCS() as classes 2012-09-19 14:13:37 +01:00
John Cupitt
8abbcc4e77 redo im_LCh2Lab() as a class 2012-09-19 12:01:02 +01:00
John Cupitt
91e52a1ee2 redo im_Lab2LCh() as a class 2012-09-18 14:52:21 +01:00
John Cupitt
a38fa9302e redo im_Lab2XYZ() as a class 2012-09-18 14:14:08 +01:00
John Cupitt
3836faffcb Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-15 17:42:06 +01:00
John Cupitt
ca011455f9 Merge remote-tracking branch 'origin/7.30' 2012-09-13 13:26:40 +01:00
John Cupitt
b3a8ff3378 linecache was oversized
the linecache resizer forgot to take the strip height into account when
growing, causing mem use to be higher than necessary
2012-09-13 13:25:23 +01:00
John Cupitt
5b03646799 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-06 16:29:22 +01:00
John Cupitt
8deb09eea9 Merge remote-tracking branch 'origin/7.30' 2012-09-05 21:20:58 +01:00
John Cupitt
7a0441d455 delay rather than stall ahead threads
avoid deadlocks by only slowing down threads which run ahead of the read
point
2012-09-05 14:56:13 +01:00
John Cupitt
0c87863222 argh still deadlocks on example.rb 2012-09-04 14:56:22 +01:00
John Cupitt
822f1bbdd9 hackety hack
make a base class for colorimetric operations
2012-08-31 17:27:30 +01:00
John Cupitt
e4044a2c96 Merge remote-tracking branch 'origin/7.30' 2012-08-31 15:41:23 +01:00
John Cupitt
4ef825014d extract is sequential again
a hack in seq.c will skip ahead if the very first read is not at line 0
2012-08-24 17:03:09 +01:00
John Cupitt
39b05f5172 tuning, sort out demand hints
and disable extract_area seq mode
2012-08-24 12:46:10 +01:00
John Cupitt
b183d32b15 use a hash table for tilecache
now we can have large numbers of tiles, use a hash table for tile lookup
2012-08-23 16:08:08 +01:00
John Cupitt
65f679c7ac add a line cache
add vips_linecache() ... like tilecache, but caches scanlines and sizes
dynamically with request size
2012-08-23 14:51:57 +01:00
John Cupitt
f5f0dda551 experiment with thread stalling 2012-08-21 16:18:25 +01:00
John Cupitt
45e3c0bd39 fix some warnings from jpeg write
jpeg write with a non-jpeg source could produce some warnings as it
tried to update exif that wasn't there
2012-08-14 14:31:08 +01:00
John Cupitt
88c3f7ab7d fix compiler warnings
some compiler warnings appeared in a production build (assert()s
commented out, -Wall, and -O2)

thanks to Dmitry Roshchin for the report
2012-08-14 12:43:54 +01:00
John Cupitt
31f3f8681a Merge remote-tracking branch 'origin/7.30' 2012-08-14 11:03:12 +01:00
John Cupitt
368d3c2b8f test for gtk-doc in bootstrap 2012-08-14 11:00:23 +01:00
John Cupitt
1abac4018a better enum arg error message
you now get something like:

$ vips tiffsave k2.jpg x.tif --compression poop
tiffsave: enum 'VipsForeignTiffCompression' has no member 'poop', should be one of: none, jpeg, deflate, packbits, ccittfax4, lzw
2012-08-10 13:54:42 +01:00
John Cupitt
463058c149 note and use res unit on jpg load/save
previously, jpeg save always used pixels/inch and jpeg load converted to
vips pixels/mm

now on jpg load the image's res unit is recorded in
VIPS_META_RESOLUTION_UNIT, and on jpg save the res unit is set from
VIPS_META_RESOLUTION_UNIT (or defaults to inches).

you can now copy a cm-preferring tiff to a jpg and the unit is preserved
2012-08-07 14:10:19 +01:00
John Cupitt
757e93364c Merge remote-tracking branch 'origin/7.30' 2012-08-07 13:50:43 +01:00
John Cupitt
8214d15982 more improvements to dzsave
now writes x_files and x.dzi, as per spec (thanks Benjamin)

deprecate tile_width and tile_height, just have tile_size now
2012-08-07 13:29:03 +01:00
John Cupitt
a9c7a36670 be more cautious enabling tiff ycbcr
we were turning on ycbcr for all jpeg tiffs and relying on the jpeg
compressor to only use it when possible ... now just turn on ycbcr for
8-bit RGB images
2012-08-07 12:17:25 +01:00
John Cupitt
4cb63cf1ba update the C++ binding
and the Python one
2012-08-06 22:02:34 +01:00
John Cupitt
6a6f33af1f Merge remote-tracking branch 'origin/7.30' 2012-08-06 15:22:56 +01:00
John Cupitt
9cffb5f939 Merge remote-tracking branch 'origin/master'
Conflicts:
	ChangeLog
	configure.in
2012-08-06 15:22:25 +01:00
John Cupitt
392b59e261 version bump 2012-08-06 15:14:31 +01:00
John Cupitt
3033fea933 add --vips-fatal flag
--vips-fatal causes an abort() on the first warning or error, handy for
debugging
2012-07-21 17:01:17 +01:00
John Cupitt
133ee84794 fix --without-magick etc.
the vips7 compat readers like im_exr2vips() were not guarded with ifdefs
in case their read library was missing
2012-07-20 17:18:49 +01:00
John Cupitt
7df7bb85bb add --vips-version cmdline arg
print version of libvips that a program is running against
2012-07-20 13:34:05 +01:00
John Cupitt
a71fe51d2d support "rs" mode in im_open()
vips7 compat mode now supports "rs" mode --- sequential read

ruby-vips uses this to get :sequetial=>true working
2012-07-20 13:07:49 +01:00
John Cupitt
41be00d5dd version bump for new stable 2012-07-20 10:32:20 +01:00
John Cupitt
17f6489c0e Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	libvips/deprecated/im_csv2vips.c
2012-07-18 10:39:29 +01:00
John Cupitt
4af1dabb5a don't cache write operations
we want writes to happen every time, in case the file has been deleted
by someone
2012-07-18 10:13:03 +01:00
John Cupitt
c51204e0f0 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	libvips/deprecated/im_csv2vips.c
2012-07-17 12:16:47 +01:00
John Cupitt
467a78f32b save as ppm from vips7 with options was broken
it wrote a file with the options still in the name
2012-07-17 10:00:59 +01:00
John Cupitt
5363aace39 wopconst was wrong
struct offset astray meant that wopconst didn't work
2012-07-17 09:46:16 +01:00
John Cupitt
73f8263286 sequential can now skip ahead
vips_sequential() no longer bans all non-seq access, it just bans
rewinding --- if you ask for something some way ahead, it reads and
throws away pixels

this means VipsExtract and VipsInsert can now be seq: they will read and
throw away any stuff they don't need
2012-07-14 12:13:58 +01:00
John Cupitt
25ad2b7a53 turn off seq mode in vips7
the new sequential mode readers for tiff/jpg/png were not working well
from the vips7 command-line: they either decompressed twice, or handed
over a sequential mode image

it should now work as well as it did pre-seq.
2012-07-12 09:05:14 +01:00
John Cupitt
643dc28950 turn on seq mode automatically in cli
cli operations turn on seq mode automatically when they can

vips_operation_get_flags() added: lets you attach a set of flags to an
operation

flags for now are "nocache" (replacing the old nocache system) and "seqential"

if vips_object_set_argument_from_string() from string sees "seq" flag on the
object for which it is setting the arg, it enables sequential mode

all operations which can run sequentially have been tagged

the operation printer knows about flags and can display them
2012-07-10 10:51:40 +01:00
John Cupitt
af1f2b47c1 add "rs" image open mode 2012-07-09 21:35:53 +01:00
John Cupitt
87e37e83e2 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/generate.c
	libvips/iofuncs/init.c
	po/vips7.pot
2012-07-09 14:09:25 +01:00
John Cupitt
8582e40307 improve use from many threads
lock around the operation cache and the upstrea/downstream link system
so vips works when used from many threads: you can now create an image
in one thread and process it in another
2012-07-09 13:47:09 +01:00
John Cupitt
89527b80eb fix odd tile height + no overlap
dzsave with zero overlap and odd height was broken

also, fix cache init
2012-07-08 10:37:35 +01:00
John Cupitt
4cfae3c4d0 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/image.c
	po/vips7.pot
2012-07-05 16:40:33 +01:00
John Cupitt
34f25dabd5 fix tmp file handling on Windows
it wasnt working, breaking handling of non-vips files over 100mb on
Windows
2012-07-05 09:54:59 +01:00
John Cupitt
a94ce8957e Merge remote-tracking branch 'origin/7.28' 2012-07-01 11:08:02 +01:00
John Cupitt
ec53b1af74 remove refs to bicubic in docs 2012-07-01 11:06:42 +01:00
John Cupitt
3694a2edc5 add sequential mode to vips7
the tiff and jpg readers let you give :seq as well
2012-06-24 09:44:50 +01:00
John Cupitt
daac11b01c add "minimise" signal
on end of an image loop, send a "minimise" signal down the pipeline

tilecache listens for this signal on its output and drops the cache

helps reduce ruby memuse
2012-06-23 11:51:57 +01:00
John Cupitt
49fbfdd454 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-06-23 10:32:36 +01:00
John Cupitt
2427b2896c slightly more memory debugging output
regions now say if they have attached memory, images say what type (eg.
partial etc) they are
2012-06-23 10:30:48 +01:00
John Cupitt
213b44894e Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/cache.c
2012-06-21 13:32:47 +01:00
John Cupitt
5243f334e1 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-06-21 09:23:42 +01:00
John Cupitt
9bb9f59091 fixes to help centos5 2012-06-20 22:10:10 +01:00
John Cupitt
8b290ac58e changelog update 2012-06-20 09:06:54 +01:00
John Cupitt
4aa24358d8 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	tools/vipsthumbnail.c
2012-06-19 17:24:43 +01:00
John Cupitt
2f897315ad fix a crash with corrupted jpg files
three was a double-free crash with a scrambled jpg file, thanks Grigoriy
2012-06-19 08:52:06 +01:00
John Cupitt
70b14c2f1d add vips_flatten()
... background arg not quite working
2012-06-18 14:49:39 +01:00
John Cupitt
f07fb25ab5 fix write RGBA as JPG
it was saving RGBA as CMYK JPG, with comical results (thanks Tobias)
2012-06-17 22:16:20 +01:00
John Cupitt
fdd3b0a387 remove im_rightshift_size()
there's a deprecated wrapper now
2012-06-15 18:21:25 +01:00
John Cupitt
0e9b2e3168 Merge remote-tracking branch 'origin/7.28' 2012-06-09 10:37:30 +01:00
John Cupitt
7a79b1fb6b remove G_DEFINE_BOXED_TYPE() use
was glib-2.26+ only argh, thanks Jake
2012-06-09 10:31:01 +01:00
John Cupitt
2dde7ce256 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/foreign/vips2tiff.c
	po/vips7.pot
2012-06-08 19:37:03 +01:00
John Cupitt
75a68100bd fix a crash in the tiff reader
some tiffs have HUGE values for RowsPerStrip ... clip these down to
avoid confusing later bits of vips

also, a better error msg for non-contig images
2012-06-07 13:54:05 +01:00
John Cupitt
1ee48e4cd6 add nocache flag, use for sequential file ops
stop it caching sequential file read (eg. sequential tiff read), since
you can only read sequentially once
2012-06-06 19:33:11 +01:00
John Cupitt
fc3d4192d7 tiff loader always offers thinstrip
the tiff loader now always offers thinstrip ... later stages can then
pick any demand style they like (thanks Diuming)
2012-06-03 11:44:03 +01:00
John Cupitt
f65f9088f6 make jpeg pyr write work with tiff4
there was a problem with sizing tiles in chrominance subsample mode
2012-06-02 17:42:42 +01:00
John Cupitt
3de5ec9078 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/object.c
2012-06-01 14:22:10 +01:00
John Cupitt
2cf57c123d much faster vips_argument_map()
improve the way we handle looping over args, gets us back to 7.26 speed
for example workspaces
2012-06-01 14:20:20 +01:00
John Cupitt
31eaeb5ad9 Merge remote-tracking branch 'origin/7.28' 2012-05-25 08:59:36 +01:00
John Cupitt
faa2f820c6 use TIFF_CFLAGS
the new pkg-config tiff4 tester outputs TOFF_CFLAGS ... use it (thanks
Jay)
2012-05-25 08:58:40 +01:00
John Cupitt
f19a9d9d6b Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-05-17 14:08:57 +01:00
John Cupitt
5cbb049ec2 version bump 2012-05-17 11:16:46 +01:00
John Cupitt
bb1dcb97ee Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
2012-05-06 12:28:02 +01:00
John Cupitt
2bb7902ace add libtiff-4 test 2012-05-06 11:55:59 +01:00
John Cupitt
f3dd9da50a Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-04-19 21:39:25 +01:00
John Cupitt
2352ac1220 fix blend mode for ifthenelse
and a small blend speedup
2012-04-19 21:38:04 +01:00
John Cupitt
8e019730ba Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-04-17 21:22:35 +01:00
John Cupitt
abe43f3068 up max buf size
allows larger defs in nip2
2012-04-17 21:16:05 +01:00
John Cupitt
04c7f97cf4 prepare for release 2012-04-17 11:28:40 +01:00
John Cupitt
d3f9d0fd7d Merge remote-tracking branch 'origin/7.28' 2012-04-12 10:24:11 +01:00
John Cupitt
0290eb009d more accurate progress reporting
computation progress used to be done incrementally based on the number
of tiles allocated. This did not take account of half tiles at image
edges, so you could sometimes see "110% complete"

it's now calculated based on the absolute number of pixels processed, so
it should always report 100% at the end.
2012-04-12 10:01:17 +01:00
John Cupitt
b47ad26f50 make vips8 cache smaller 2012-04-12 08:41:40 +01:00
John Cupitt
668bf1759b Merge remote-tracking branch 'origin/7.28' 2012-04-11 12:53:33 +01:00
John Cupitt
3540e3ef09 support :level,associated in the vips7 openslide
the vips7 stub for openslide now supports :level,associated mode
options, eg:

$ header CMU-2.svs
CMU-2.svs: 19500x7615 uchar, 4 bands, rgb VipsImage (0x236a060)
$ header CMU-2.svs:2
CMU-2.svs:2: 4875x1903 uchar, 4 bands, rgb VipsImage (0x244c060)
$ header CMU-2.svs:,label
CMU-2.svs:,label: 387x463 uchar, 4 bands, rgb VipsImage (0xa2d060)
$ header CMU-2.svs:2,label
CMU-2.svs:2,label: 387x463 uchar, 4 bands, rgb VipsImage (0x1b23060)
2012-04-11 12:48:41 +01:00
John Cupitt
5ab6e2d1aa Merge remote-tracking branch 'origin/7.28' 2012-04-10 16:53:03 +01:00
John Cupitt
7af1fb34d7 cast to unsigned int did not remove <0
previously cast to uint did nothing (since the positive range of uint is
greater than int), now it changes <0 values to 0
2012-04-10 14:26:41 +01:00
John Cupitt
57cf9011e7 fix openslide read
previously it returned Cairo-style pre-multiplied argb, now it always
unpacks to png-style rgba for you

there was no real use for the coded form and it was annoying to have to
call im_argb2rgba() explicitly
2012-04-09 18:03:17 +01:00
John Cupitt
63be2e1a08 fix warning for unused vips7 gvalue arg
this fixes this warning:

$ vips im_copy_set_meta
GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)'
failed
2012-04-08 10:13:10 +01:00
John Cupitt
2b67f3e6c4 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-04-06 12:15:52 +01:00
John Cupitt
d338d0fae6 fix vips_divide() for int args 2012-04-06 12:09:53 +01:00
John Cupitt
0231cdf134 Revert "add ARGB coding"
This reverts commit 78b5ad5883.

Conflicts:

	libvips/colour/im_rad2float.c
2012-04-04 17:18:32 +01:00
John Cupitt
78b5ad5883 add ARGB coding 2012-04-02 11:12:40 +01:00
John Cupitt
d930b69161 Merge remote-tracking branch 'origin/dzsave'
Conflicts:
	ChangeLog
2012-03-26 22:12:19 +01:00
John Cupitt
a2d512af73 works! 2012-03-26 22:08:59 +01:00