Commit Graph

1096 Commits

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