Commit Graph

962 Commits

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