Commit Graph

625 Commits

Author SHA1 Message Date
John Cupitt 57cf9011e7 fix openslide read
previously it returned Cairo-style pre-multiplied argb, now it always
unpacks to png-style rgba for you

there was no real use for the coded form and it was annoying to have to
call im_argb2rgba() explicitly
2012-04-09 18:03:17 +01:00
John Cupitt 63be2e1a08 fix warning for unused vips7 gvalue arg
this fixes this warning:

$ vips im_copy_set_meta
GLib-GObject-CRITICAL **: g_value_unset: assertion `G_IS_VALUE (value)'
failed
2012-04-08 10:13:10 +01:00
John Cupitt 2b67f3e6c4 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-04-06 12:15:52 +01:00
John Cupitt d338d0fae6 fix vips_divide() for int args 2012-04-06 12:09:53 +01:00
John Cupitt 0231cdf134 Revert "add ARGB coding"
This reverts commit 78b5ad5883.

Conflicts:

	libvips/colour/im_rad2float.c
2012-04-04 17:18:32 +01:00
John Cupitt 78b5ad5883 add ARGB coding 2012-04-02 11:12:40 +01:00
John Cupitt d930b69161 Merge remote-tracking branch 'origin/dzsave'
Conflicts:
	ChangeLog
2012-03-26 22:12:19 +01:00
John Cupitt a2d512af73 works! 2012-03-26 22:08:59 +01:00
John Cupitt ffb34c943c nearest0neighbor now rounds to nearest
before it just truncated x/y downs, now it rounds to nearest ... this
removes a 0.5 shift compared to the other interpolators

thanks Nicolas
2012-03-26 09:35:22 +01:00
John Cupitt ea19e964be sort out changelog 2012-03-19 11:47:00 +00:00
John Cupitt 3f850b5f8b Merge remote-tracking branch 'origin/master'
Conflicts:
	ChangeLog
2012-03-19 11:42:31 +00:00
John Cupitt d8000bb1b5 tiffsave xres/yres args broken
the declarations for xres/yres tiff args were all wrong
2012-03-17 17:57:46 +00:00
John Cupitt 2e7f4b2900 sanity-check PNG read line size 2012-03-15 12:53:38 +00:00
John Cupitt 78ddd55611 version bump 2012-03-15 09:54:16 +00:00
John Cupitt 922bbf0cfe version bump 2012-03-13 14:26:24 +00:00
John Cupitt 4595413e0d add ICC profile read/write for png 2012-03-13 14:22:13 +00:00
John Cupitt 3297400952 disable debug in production builds
by default all debug (including assert and cast checks) is disabled in
production builds
2012-03-02 14:19:32 +00:00
John Cupitt 5771be4186 xres/yres become double
we had them as float before to make load/save easier, but that means we
need lots of hacks to make properties work correctly

instead, convert to/from float on read/write and have them as double
internally
2012-03-02 12:54:50 +00:00
John Cupitt 58439e31fb fix filename display in "header" and friends 2012-02-29 13:49:48 +00:00
John Cupitt 9fc3c381ba require openslide 3.2.5 or greater
3.2.4 and earlier have a horrible performance problem
2012-02-24 14:31:12 +00:00
John Cupitt 8af5522a96 sequential support for the jpg reader 2012-02-19 22:17:20 +00:00
John Cupitt fa03bfb4cd tiff reader supports new sequential mode
good speedup for large tiffs

$ time ~/vips-7.26/bin/vips-7.26 vips im_copy wtc.tif x.v
real	0m12.728s
user	0m0.220s
sys	0m1.032s

$ time vips copy wtc.tif[sequential] x.v
real	0m4.328s
user	0m0.584s
sys	0m0.764s

new one was compiled with DEBUG, hence (partly) larger user time
2012-02-18 13:17:21 +00:00
John Cupitt 3dcd3729a0 fix interlaced png read
also remove old sinkmemory
2012-02-17 17:59:09 +00:00
John Cupitt 7f94fb3597 break vips_sequential() out 2012-02-15 15:47:43 +00:00
John Cupitt aee2999259 generic sequential read mode
moved sequential read stuff into VipsForeignLoad
2012-02-15 13:55:34 +00:00
John Cupitt 24e86ae458 better im_shrink()
faster, lower memuse, simpler
2012-02-10 10:00:39 +00:00
John Cupitt b52785eef7 add a sequential read mode to pngload
helpful for thumbnailing
2012-02-07 14:30:54 +00:00
John Cupitt b51faee8ca support many-returns ops in Python
add various %apply rules to move values returned via args into the result
2012-02-06 14:54:54 +00:00
John Cupitt d38e7bea57 fix delayed write to foreign via "w"
also added vips_foreign_find_save_options()/
vips_foreign_find_load_options()
2012-02-02 15:08:57 +00:00
John Cupitt ef2d7024bd version number bump
starting to stabilise 7.28, hopefully
2012-01-30 11:27:28 +00:00
John Cupitt d621cd1f38 remove old fftw2 path, reduce mem use 2012-01-28 11:27:16 +00:00
John Cupitt 7330c244a4 remove the fft fallbacks
libvips had a set of fallback fft routines in case fftw was not
detected at configure time ... but they were terrible

remove them! we are fftw-only now
2012-01-27 14:48:28 +00:00
John Cupitt 56bab17678 Merge remote-tracking branch 'origin/7.26'
Conflicts:
	ChangeLog
	TODO
	configure.in
	libvips/deprecated/dispatch_types.c
	libvips/foreign/tiff2vips.c
	libvips/include/vips/image.h
	libvips/iofuncs/header.c
	libvips/iofuncs/operation.c
	po/vips7.pot
2012-01-14 14:00:41 +00:00
John Cupitt b210d34192 interpolation CLI args were broken
thanks to speckins, broken since 7.26.4, embarassingly

I've added another test to make check to stop this happening again
2012-01-14 11:19:50 +00:00
John Cupitt a5b3eb2040 amke vips_cache() a vips8 operation 2012-01-13 13:15:56 +00:00
John Cupitt ae46447f5e silently truncate long strings in arg handling
we were assert()ing out before
2012-01-08 13:57:43 +00:00
John Cupitt c190c8e660 new Python binding
just a test thing for now, but seems to work OK

some small tweaks to help gobject-introspction
2012-01-05 13:26:25 +00:00
John Cupitt 405b89b000 get goi try.py going 2012-01-02 11:06:04 +00:00
John Cupitt 49d3542cc7 remove outchecks, again 2011-12-21 19:00:32 +00:00
John Cupitt 14734596a1 move VipsFormat to deprecated 2011-12-20 15:29:33 +00:00
John Cupitt 3e45e2cd6b move rad over to the new thing 2011-12-20 14:57:05 +00:00
John Cupitt 70bde4a90d move ppm read/write to new-style 2011-12-20 09:37:07 +00:00
John Cupitt 0377920764 mvoe png load/save over 2011-12-19 21:40:08 +00:00
John Cupitt 8653913654 add new-style raw load/save 2011-12-15 10:59:05 +00:00
John Cupitt 65ed140ae3 move im_raw2vips() to a class 2011-12-14 22:51:14 +00:00
John Cupitt 25e42d1625 fix up new-style analyze load 2011-12-14 18:02:46 +00:00
John Cupitt 0137186205 move fits read/write to new-style 2011-12-13 17:50:55 +00:00
John Cupitt a2ed2edb5d fix --without-tiff etc. 2011-12-13 13:19:20 +00:00
John Cupitt 5bc26b0b65 clean up options in image filenames
allow new-style options everywhere with the addition and use of
vips_foreign_write_options() and friends everywhere
2011-12-12 14:51:41 +00:00
John Cupitt 05fbb6b3bc fix up openslideload
there was a problem with the tile cache ... plus some small tidies
2011-12-12 11:34:28 +00:00
John Cupitt 7fe4843250 Merge remote-tracking branch 'origin/master' into format-hacking
also, start adding openslide.c to foreign

Conflicts:
	ChangeLog
	TODO
	libvips/iofuncs/image.c
2011-12-11 15:54:08 +00:00
John Cupitt e34b6b92e9 small cleanups
minor changed to openslide.c, use PEL everywhere as the pixel pointer
type
2011-12-09 14:30:45 +00:00
John Cupitt a43241a4e7 fix pixel addressing on 32-bit platforms
there was a size_t where there should have been a guint64, causing
addressing problems on very large images on 32-bit platforms (like
win32)

looks like this had been broken since March 2011
2011-12-08 21:38:07 +00:00
John Cupitt 7adddf7074 remove optional args to vips_call*()
Optional args to vips_call*() were broken. This is fixed correctly in
master. These are not actually used in 7.26, so we just comment the broken
code out.
2011-12-08 10:48:47 +00:00
John Cupitt 3e3c66fc32 lazy read from tiled tiff was broken 2011-12-05 22:00:01 +00:00
John Cupitt 5e037e4c68 foreign uses the cache 2011-12-02 13:15:05 +00:00
John Cupitt 878edcf4ea copy swap uses glib byte order macros
2x faster byte swapping by using the glib byte swap macros
2011-12-01 18:47:36 +00:00
John Cupitt dd14948652 new-style jpeg save works 2011-11-25 14:34:17 +00:00
John Cupitt 173576259e move im_ri2c() to a class 2011-11-21 14:51:34 +00:00
John Cupitt 0addd7fb6d c2real(), c2imag() -> classes 2011-11-21 14:38:11 +00:00
John Cupitt f944742c2a bandmean as a class
also moved recomb over to conversion, other small fixes
2011-11-20 09:56:02 +00:00
John Cupitt 187212768d add class for complex ops
and it does conj as well
2011-11-19 11:24:04 +00:00
John Cupitt 2f7de7f8d0 redone ifthenelse/blend as classes
relational/ can now go, woo
2011-11-15 21:49:49 +00:00
John Cupitt a31c7d8caf added math2, various 2ary math ops 2011-11-13 17:45:27 +00:00
John Cupitt 5b133145a7 move im_shift*( to a class, remove bool package 2011-11-12 17:18:13 +00:00
John Cupitt 2d30264840 redo boolean as a class 2011-11-12 14:11:46 +00:00
John Cupitt 3c608233e5 moved remainder over to a class 2011-11-12 13:29:32 +00:00
John Cupitt 827e5311c1 finish unaryconst, move relational to it 2011-11-11 21:54:45 +00:00
John Cupitt 26ae049d91 redo binary relational as a class 2011-11-11 13:45:12 +00:00
John Cupitt cc85f3dfe7 try to stop vips-n-xxx.v files being left in tmp
On Windows, set _O_TEMPORARY. On *nix, unlink after rewind.
2011-11-10 17:48:09 +00:00
John Cupitt 786eca0d3e use atexit() to call vips_shutdown() 2011-11-10 14:10:24 +00:00
John Cupitt 8fe50220d5 move mask/ to deprecated, add VipsRound 2011-11-10 13:53:58 +00:00
John Cupitt f79bb525f5 rewrite im_recomb() as a class 2011-11-09 14:48:38 +00:00
John Cupitt 62859facd4 VipsStats tracks minpos/maxpos
plus some small bugfixes
2011-11-08 21:50:19 +00:00
John Cupitt 1129d897ca turn default disc thresh back to 100mb
only make temp disc files for very large (>100mb) images since they are
so often left lying around
2011-11-08 19:32:26 +00:00
John Cupitt ff2e7b26de im_stats() redone as a class 2011-11-08 18:18:42 +00:00
John Cupitt c80a19747f im_multiply() redone, fixes to max/min 2011-11-07 09:42:44 +00:00
John Cupitt e5b5bed428 im_divide() -> VipsDivide 2011-11-06 22:24:42 +00:00
John Cupitt 1fd1559bb5 redo im_deviate() as a class 2011-11-06 17:59:07 +00:00
John Cupitt 77d386cdaf redo im_max()/im_maxpos() as classes 2011-11-06 17:00:44 +00:00
John Cupitt 18a969c2f8 redo im_sign() as a class 2011-11-06 12:57:13 +00:00
John Cupitt 11d0a28ccb redo im_abs as a class 2011-11-06 11:54:52 +00:00
John Cupitt 5a5c3a527e use "rd" mode more often 2011-11-05 14:55:41 +00:00
John Cupitt 8e7d7063b2 change SMALLTILE down to 128x128
512x512 was just too big for large images
2011-11-05 14:20:36 +00:00
John Cupitt b668879856 remove the old vips7 trig operations 2011-11-04 18:28:22 +00:00
John Cupitt 7352d51053 redo im_rot*() as a class 2011-11-04 14:45:56 +00:00
John Cupitt 86fa10d474 new exif tag format
jpeg2vips now attaches exif in a way that can be modified by client
programs
2011-11-03 10:50:58 +00:00
John Cupitt 52c8678b23 flush on too many open files
start to drop cached operations when there are too many files open

also, CLI args to control the cache limit, and more informative
--vips-leak messages
2011-11-02 14:51:39 +00:00
John Cupitt 550b914fa6 remove vipspool
vips_object_local_array() is much better ... get embed using this as
well
2011-11-01 14:45:56 +00:00
John Cupitt 3e72edf1b5 rewrite im_black() as a class 2011-10-31 14:49:39 +00:00
John Cupitt 735749a4a2 add VipsLinear
remove im_lintra*(), redone as a class
2011-10-31 14:25:27 +00:00
John Cupitt b4531ff24b add unary and invert
add a base class for unary operators, try it out with VipsInvert
2011-10-30 21:45:18 +00:00
John Cupitt 2da5560992 bandjoin done and dusted 2011-10-28 14:12:39 +01:00
John Cupitt c027528b82 im_clip2fmt() redone as a class
plus some rationalisation of member names
2011-10-27 12:10:24 +01:00
John Cupitt 014763a845 rewrite im_replicate() as a class 2011-10-26 16:51:27 +01:00
John Cupitt 7e6f885ea1 redo im_extract*() as a class 2011-10-26 15:09:01 +01:00
John Cupitt b969ce2aa5 im_*join() redone as a class 2011-10-26 13:26:20 +01:00
John Cupitt 2c4cbedc70 insert.c compiles
and we have VipsArea as a public struct for array arguments
2011-10-22 13:10:47 +01:00
John Cupitt 02d8f0925f sybnc 2011-10-20 14:56:13 +01:00
John Cupitt df7059bc4a Merge remote-tracking branch 'origin/7.26'
Conflicts:
	ChangeLog
	configure.in
	libvips/iofuncs/header.c
2011-10-18 14:40:04 +01:00
John Cupitt b15f07e3ac update exif orientation on jpeg write
test the value of the 'exif-Orientation' tag and update exif on jpeg
write
2011-10-18 14:29:35 +01:00
John Cupitt ac377c143b im_dlip*() redone as a class
VipsFlip replaces  im_fliphor() and im_flipver().
2011-10-17 07:15:51 +01:00
John Cupitt 62baa5dfbc remove old im_embed()
switched to the new class-based one
2011-10-16 18:02:23 +01:00
John Cupitt 8dfb3056ac added VipsEmbed
added VipsEmbed class, new macros for arg boilerplate, new priority
thing for arg ordering
2011-10-16 14:48:47 +01:00
John Cupitt fba3d000a3 handle offset correctly in convsep
separable convolutions didn't handle offset correctly, thanks Nicolas
2011-10-15 13:12:46 +01:00
John Cupitt d25e94d0d2 squash compiler warnings
and rename vips_image_write_filename() to vips_image_write_to_file() to
be more consistent
2011-10-15 12:22:57 +01:00
John Cupitt 65e79de8f9 NOCACHE was not being set on OS X
mmap() on OS X caches too much and we were not turning it off correctly
2011-10-15 06:35:16 +01:00
John Cupitt 22a585c45b Merge remote-tracking branch 'origin/7.26'
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2011-10-12 12:09:08 +01:00
John Cupitt 8a8bb8fcf4 jpeg read/write copies XMP data
im_jpeg2vips() and im_vips2jpeg() now know about XMP metadata and copy
it over
2011-10-12 11:45:27 +01:00
John Cupitt 122c390c7b vips_class_map_all() was broken 2011-10-11 21:09:39 +01:00
John Cupitt ffe4483030 vips_class_map_concrete_all() needed a compat macro 2011-10-11 18:22:08 +01:00
John Cupitt 66126c1076 hackery to move to vips_copy()
half-way through moving over to the new vips_copy()
2011-10-11 17:47:06 +01:00
John Cupitt 35ff0fa7c4 im_openout() compat was wrong
The compatibility macro for im_openout() was wrong, causing ruby-vips to
break.
2011-10-11 14:45:43 +01:00
John Cupitt c0610db15d more VipsImage props
expose more fields of VipsImage as props
2011-09-30 13:59:05 +01:00
John Cupitt 952199e92a add VipsCopy
add a basic VipsCopy operation, also demand_hint is now void
2011-09-29 13:34:14 +01:00
John Cupitt 0f46696f16 add --vips-leak
add --vips-leak flag for exit
2011-09-24 10:27:21 +01:00
John Cupitt 13e354e869 add vips_shutdown()
vips_shutdown() flushes caches, closes plugins and does a leak check
2011-09-24 10:17:32 +01:00
John Cupitt 2003b5b524 csv read knows about quoted strings
you can "enclose strings in \", and" it shouldn't get confused
2011-09-23 22:01:32 +01:00
John Cupitt ae8faf6597 remove dmalloc support
we never used it and valgrind etc. is better anyway
2011-09-23 17:12:47 +01:00
John Cupitt 9c84b0dfd9 add vips_tracked_malloc()
new malloc()/free() pair do tracked allocations ... use g_new()/g_free()
everywhere else
2011-09-21 14:50:32 +01:00
John Cupitt 4b2c8587b2 vips_malloc() size tracking
vips_malloc() now tracks allocation size and can report total mem use.
It seems to trigger quite a few nip2 bugs though, I guess we are
g_free()ing the result in places (or vice versa).

======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x2aae8e011a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x2aae8e0158e3]
/home/john/vips/lib/libvips.so.15(vips_free+0xc2)[0x2aae88f7717e]
/home/john/GIT/nip2/src/nip2[0x4c9ce2]
/home/john/GIT/nip2/src/nip2(path_map_exact+0x63)[0x4ca127]
/home/john/GIT/nip2/src/nip2[0x4b5381]
2011-09-19 16:44:51 +01:00
John Cupitt df599f2f55 better vips_init() fallback
the vips_init() fallback was not working well ... new, better one gets
called more often
2011-09-12 12:28:01 +01:00
John Cupitt 5d1accfc83 fallback vips_init()
call vips_init() for the user if they forget
2011-09-09 17:14:27 +01:00
John Cupitt e99f6cc49e fix up VipsPool
vipspool working, test program in ~/try, passes valgrind
2011-09-06 10:37:00 +01:00
John Cupitt b5cadc1815 move C API back to int operations
always return results through params
2011-09-05 21:28:35 +01:00
John Cupitt ad016c53a2 C API supports optional output args
you can do stuff like

	int x;
	vips_min( fred, &min, "x", &x, NULL );

to get the x pos of the minimum
2011-09-05 18:16:32 +01:00
John Cupitt 4ce3346a4f VipsMin stops early if it can
if VipsMin sees a minimum value (eg. 0 for uchar) it'll stop searching
early
2011-09-05 14:10:56 +01:00
John Cupitt 6f125a6f31 enable YCbCr compresison for jpeg in tiff write
if we're writing RGB jpeg in tiff, enable YCbCR chrominance subsampling
for a 3x improvement in compression
2011-09-05 10:53:17 +01:00
John Cupitt 7fe104fee6 support optional output args in the cli
the cli interface now supports optional output args ... C API next
2011-09-04 10:10:39 +01:00
John Cupitt 07eb155462 allow optional output args
optional output args in C API startup ... need to fix up C API shutdown,
plus CLI, see TODO notes
2011-08-31 11:37:12 +01:00
John Cupitt 2909cb93a4 add a 'stop' param to generate
generate now has a 'stop' param, set this to indicate early successful
termination

this will be used by VipsMin and friends to stop scanning early for
conditions like seen a 0 in a uchar image while searching for min
2011-08-29 14:29:33 +01:00
John Cupitt ac3ce8b010 add VIPS_ARGUMENT_APPEND
to give more control over arg ordering, fixes a problem in avg
2011-08-28 12:46:50 +01:00
John Cupitt 7a392d4789 im_avg() is a class 2011-08-26 10:15:39 +01:00
John Cupitt ae016dd408 turn im_subtract() into a class 2011-08-23 20:56:35 +01:00
John Cupitt 7111ff2433 version bump for next cycle
s Please enter the commit message for your changes. Lines starting
2011-08-21 18:06:19 +01:00
John Cupitt 11eb90cdb3 itest for C++ compiler
automatically disable C++ support if no compiler found
2011-08-16 13:26:57 +01:00
John Cupitt 1cfa33e4fb better termination handling
setting and detecting ->kill is now treated more like a message ... you
can now cancel calculation in nip2 without breaking calculation
2011-08-15 16:24:46 +01:00
John Cupitt 1e21963f83 don't use G_VALUE_COLLECT_INIT 2011-08-15 13:59:47 +01:00
John Cupitt f000d93042 fix --without-cfitsio
oops, was broken, thanks Mike
2011-08-11 09:35:02 +01:00
John Cupitt b748961743 im_benchmark.c had some debugging left in
oops, im_benchmark.c had some work commenetd out, hence the fast run
times
2011-08-10 10:17:36 +01:00
John Cupitt 764ce559f8 better benchmark prog
the benchmark program (benchmark/benchmarkn.sh) runs each test three
times and just reports the fastest run

it also detects the number of CPUs you have and automatically loops the
right number of times

additionally, tiles now default to 512x512, so it explicitly sets tiles
back to 64x64 to make comparisons with earlier versions easier
2011-08-03 11:25:31 +01:00
John Cupitt a848adc7b3 add im_concurrency_get() to operation db
to help benchmarkn.sh loop appropriately automatically
2011-08-03 11:17:57 +01:00
John Cupitt 8790e552b6 fix a race in xyz to lab
the table build had a race condition
2011-08-03 10:12:45 +01:00
John Cupitt 122c697349 vips7compat missed old enum names
oops, ==0 missing from a strcmp()
2011-07-28 16:52:29 +01:00
John Cupitt e7dbd89938 bump version again, doc fixes 2011-07-26 22:37:03 +01:00
John Cupitt b0e7c727fa version bump
version bump for release, get make dist working again
2011-07-26 09:59:53 +01:00
John Cupitt 1b5803af2e new man pages
restored and updated man.1 pages
2011-07-26 09:27:06 +01:00
John Cupitt a9dc321afd add wrap7
add a thing to wrap vips7 functions as vips8 classes

in and in use, but not yet working
2011-07-15 14:37:20 +01:00
John Cupitt 2ee4fefa46 better temp files for im_vips2tiff() pyramids
im_vips2tiff() used to keep intermediate files in the same directory as
the destination file ... instead, make temp files using im__temp_name(),
see im_system_image().
2011-07-12 15:27:22 +01:00
John Cupitt 0f20f9152b icc import/export cast inputs 2011-07-12 14:56:58 +01:00