Commit Graph

962 Commits

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