Commit Graph

434 Commits

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