Commit Graph

826 Commits

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