Commit Graph

1084 Commits

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