Commit Graph

689 Commits

Author SHA1 Message Date
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