Commit Graph

960 Commits

Author SHA1 Message Date
John Cupitt e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt 7130a74d0e redo rad2float / float2rad as classes 2012-09-20 15:13:44 +01:00
John Cupitt 496b4373a4 redo im_UCS2LCh() and im_LCh2UCS() as classes 2012-09-19 14:13:37 +01:00
John Cupitt a38fa9302e redo im_Lab2XYZ() as a class 2012-09-18 14:14:08 +01:00
John Cupitt 3836faffcb Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-15 17:42:06 +01:00
John Cupitt 81b962c447 todo updates 2012-09-13 13:27:55 +01:00
John Cupitt b3a8ff3378 linecache was oversized
the linecache resizer forgot to take the strip height into account when
growing, causing mem use to be higher than necessary
2012-09-13 13:25:23 +01:00
John Cupitt 5b03646799 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	TODO
	configure.in
2012-09-06 16:29:22 +01:00
John Cupitt 0c87863222 argh still deadlocks on example.rb 2012-09-04 14:56:22 +01:00
John Cupitt 30a0b4e1bc sync 2012-08-31 17:48:35 +01:00
John Cupitt 4ef825014d extract is sequential again
a hack in seq.c will skip ahead if the very first read is not at line 0
2012-08-24 17:03:09 +01:00
John Cupitt 70bde1dd1e more tuning 2012-08-23 22:01:52 +01:00
John Cupitt 65f679c7ac add a line cache
add vips_linecache() ... like tilecache, but caches scanlines and sizes
dynamically with request size
2012-08-23 14:51:57 +01:00
John Cupitt 45e3c0bd39 fix some warnings from jpeg write
jpeg write with a non-jpeg source could produce some warnings as it
tried to update exif that wasn't there
2012-08-14 14:31:08 +01:00
John Cupitt 368d3c2b8f test for gtk-doc in bootstrap 2012-08-14 11:00:23 +01:00
John Cupitt 4cb63cf1ba update the C++ binding
and the Python one
2012-08-06 22:02:34 +01:00
John Cupitt 3276c636f7 add support for VipsInterpolate to the C++ API
quick and ugly hack, this will be replaced in vips8

necessary to get affinei and affinei_all in Python
2012-08-06 16:06:17 +01:00
John Cupitt dab22df75b fixes to deep zoom write
- shrink down to a 1x1 pixel tile, even for very long and thin images
- round image size up on shrink
- write a .dzi file with the pyramid params
- default tile size and overlap now matches the openslide writer

thanks to Benjamin Gilbert for pointing out the errors
2012-08-06 15:14:59 +01:00
John Cupitt 7ef115161d sync
finished ruby-vips testing
2012-07-20 15:04:49 +01:00
John Cupitt a71fe51d2d support "rs" mode in im_open()
vips7 compat mode now supports "rs" mode --- sequential read

ruby-vips uses this to get :sequetial=>true working
2012-07-20 13:07:49 +01:00
John Cupitt 5778dfac1a remove the version numbers from the .pc files
we used to have minor version numbers in the pkg-confiog files, eg:

pkg-config vips-7.28 --cflags

The idea was to make working with multiple installed versions (something
I do a lot at least) easier. But it was also annoying and made upgrading
harder for downstream packages. And the benefits were very marginal.
2012-07-20 10:22:43 +01:00
John Cupitt bb95b54679 oops vips7 png read was broken 2012-07-19 13:59:37 +01:00
John Cupitt 669babb177 sync 2012-07-13 13:51:31 +01:00
John Cupitt 3476e39c7e fix a leak in vips7 support
there was a ref cycle being created in file2vips ... fixed
2012-07-13 12:26:51 +01:00
John Cupitt 205f13eccb sync 2012-07-13 09:58:58 +01:00
John Cupitt 2c37e77dd8 small tiff save cleanups 2012-07-13 09:30:52 +01:00
John Cupitt 501fabccbe improvements to tiff/png load in vips7
same as we did for jpg

some work on pyramid save as well
2012-07-12 14:50:56 +01:00
John Cupitt f780e2b211 sync 2012-07-12 09:34:27 +01:00
John Cupitt 25ad2b7a53 turn off seq mode in vips7
the new sequential mode readers for tiff/jpg/png were not working well
from the vips7 command-line: they either decompressed twice, or handed
over a sequential mode image

it should now work as well as it did pre-seq.
2012-07-12 09:05:14 +01:00
John Cupitt 17b2592883 sync 2012-07-10 21:50:28 +01:00
John Cupitt 2332e0bfc3 move the vips7 loaders away from VipsForeign
the vips7 loaders were a thin layer over the new VipsForeign system

however! VipsForeign does various "useful" things, like open via disc,
and this resulted in stuff like

	vips im_jpeg2vips huge.jpg x.v

decompressing to a temp file before copying to x.v

im_jpeg2vips() and friends now call the low-level loaders directly and
avoid the extra mechanisms in VipsForeign

"nip2 huge.jpg" was loading twice as well, for the same reason
2012-07-10 14:38:38 +01:00
John Cupitt 643dc28950 turn on seq mode automatically in cli
cli operations turn on seq mode automatically when they can

vips_operation_get_flags() added: lets you attach a set of flags to an
operation

flags for now are "nocache" (replacing the old nocache system) and "seqential"

if vips_object_set_argument_from_string() from string sees "seq" flag on the
object for which it is setting the arg, it enables sequential mode

all operations which can run sequentially have been tagged

the operation printer knows about flags and can display them
2012-07-10 10:51:40 +01:00
John Cupitt af1f2b47c1 add "rs" image open mode 2012-07-09 21:35:53 +01:00
John Cupitt 911a1c7e71 move vips_operation_set_valist_optional() to obj
now a method on object, vips_object_set()
2012-07-09 14:51:37 +01:00
John Cupitt 3137ad983c sync 2012-07-09 09:03:12 +01:00
John Cupitt 89527b80eb fix odd tile height + no overlap
dzsave with zero overlap and odd height was broken

also, fix cache init
2012-07-08 10:37:35 +01:00
John Cupitt b32b54d0eb TODO update 2012-07-02 10:10:40 +01:00
John Cupitt 3694a2edc5 add sequential mode to vips7
the tiff and jpg readers let you give :seq as well
2012-06-24 09:44:50 +01:00
John Cupitt daac11b01c add "minimise" signal
on end of an image loop, send a "minimise" signal down the pipeline

tilecache listens for this signal on its output and drops the cache

helps reduce ruby memuse
2012-06-23 11:51:57 +01:00
John Cupitt 928827960a sync 2012-06-21 14:54:22 +01:00
John Cupitt 7a51b59016 some vips_shrink() tuning
tried an int coordinate path for vips_shrink(), no significant speedup
2012-06-21 13:11:35 +01:00
John Cupitt f07fb25ab5 fix write RGBA as JPG
it was saving RGBA as CMYK JPG, with comical results (thanks Tobias)
2012-06-17 22:16:20 +01:00
John Cupitt 0a74a34096 remove logging, fix shrink hint
vipsthumbnail works again now
2012-06-15 09:28:57 +01:00
John Cupitt 021ba9a01c sync 2012-06-14 09:31:05 +01:00
John Cupitt a2c37d10f0 sync 2012-06-13 09:45:32 +01:00
John Cupitt 1f69943639 Merge remote-tracking branch 'origin/master' into colour 2012-05-17 21:36:12 +01:00
John Cupitt d5bd8d0de0 improve resolution unit handling in tiff save
the deprecated tiff saver used to use pixels/mm in resolution
specification, rather than the user's suggested unit
2012-05-17 11:13:38 +01:00
John Cupitt c394f54952 sync 2012-05-16 14:51:22 +01:00
John Cupitt 40f60c4b9e Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	TODO
	libvips/colour/colour.c
2012-04-18 17:20:36 +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 3d514cc16f hackety hack 2012-04-04 09:39:09 +01:00
John Cupitt 78b5ad5883 add ARGB coding 2012-04-02 11:12:40 +01: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 792ff7f03d sync 2012-03-02 10:16:58 +00:00
John Cupitt 59c655683a relax assert() checks for foreign
load from buffer can have get_flags() but no get_flags_filename(),
remove assert test
2012-03-01 14:21:06 +00:00
John Cupitt 8344dbb808 complex ==, != was broken
argh the broken test suite was hiding some nasties
2012-03-01 14:09:52 +00:00
John Cupitt 58439e31fb fix filename display in "header" and friends 2012-02-29 13:49:48 +00:00
John Cupitt 6ab6ec410c cleanups 2012-02-28 14:17:02 +00:00
John Cupitt 6ba96b2333 fix hist normalisation
hist norm was broken due to the VipsStats width change
2012-02-28 12:05:25 +00:00
John Cupitt ef19ecc923 win32 fixes
we had a dropped file and a mode_t in a va_get() that should have been
an int
2012-02-25 17:47:40 +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 862cac1e4f avoid NaN in max/min, better double ranges 2012-02-24 13:57:50 +00:00
John Cupitt d93f772f1f fix deadlock with generate failing
and better error msg from libpng
2012-02-23 12:42:21 +00:00
John Cupitt d54c787e92 move COLLECT macros to object 2012-02-23 10:05:13 +00:00
John Cupitt 54e469ee38 sybc 2012-02-22 14:56:06 +00:00
John Cupitt a7a5a69109 ignore complex /0
also rework TODO list ready for release push
2012-02-22 14:30:09 +00:00
John Cupitt 1a5b8df9be oop buffer size issue 2012-02-20 21:33:14 +00:00
John Cupitt 9ea1387a68 add FLAGS args 2012-02-20 21:02:37 +00:00
John Cupitt 8c6e3738dd fix up ordering issues in seq mode
read order should be guaranteed now, hopefully
2012-02-20 15:03:29 +00:00
John Cupitt 8af5522a96 sequential support for the jpg reader 2012-02-19 22:17:20 +00:00
John Cupitt bbadb8d681 jpeg2vips now keeps a load struct about
so we are ready to add lazy read
2012-02-19 10:54:41 +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 ff7d02a979 start a new sinkmemory 2012-02-17 10:45:58 +00:00
John Cupitt b6c56e980c work on progressive png support 2012-02-15 17:19:42 +00:00
John Cupitt 05d31e0890 better arg parsing
oops in arg parse, better error messages
2012-02-15 16:24:10 +00:00
John Cupitt 7f94fb3597 break vips_sequential() out 2012-02-15 15:47:43 +00:00
John Cupitt 13a6c02c5c Merge remote-tracking branch 'origin/master' 2012-02-15 13:56:10 +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 07cf2be29e fix png save 2012-02-14 10:53:39 +00:00
John Cupitt 71d55c4554 compat wrapper for bool was broken
oops it was calling relational instead
2012-02-10 14:50:46 +00:00
John Cupitt 8b5b3288b4 fix im_shrink() 2012-02-10 13:17:19 +00:00
John Cupitt 313ddda174 sync 2012-02-10 11:09:27 +00:00
John Cupitt e0f31e3b4a vipsthumbnail knows about :seq mode for png
also im_open() knows about old-style embedded filename options
2012-02-08 13:33:19 +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 2fed2f3490 sync 2012-02-01 14:55:12 +00:00
John Cupitt 1068ccc4eb much faster smudge
the new smudge based on im_conv() is just too slow ... back to the old
one, with some clean-ups
2012-01-30 10:18:06 +00:00
John Cupitt 710b69e273 oops abs(double) was broken 2012-01-28 14:09:18 +00:00
John Cupitt d621cd1f38 remove old fftw2 path, reduce mem use 2012-01-28 11:27:16 +00:00
John Cupitt bf10ec7432 oop abs(complex) was broken 2012-01-27 21:24:47 +00:00
John Cupitt d1f5225e58 more robust char->enum
edvips has much safer char->enum conversion
2012-01-27 17:36:25 +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 b081f6a2fe oop we need im_setupout() after all
also fix the type hint setting for the fft functions
2012-01-27 14:25:52 +00:00
John Cupitt 95fc8190fa sync 2012-01-27 09:22:08 +00:00
John Cupitt 2b5963090f sync 2012-01-26 14:42:20 +00:00
John Cupitt 4311fa71da fix the magick loader
see
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=20017
2012-01-17 15:29:39 +00:00
John Cupitt 5fd317941d rationalise the dumpers 2012-01-16 14:54:29 +00:00
John Cupitt f98dbceb60 add VIPS_IMAGE_N_PELS()
a macro to calculate the number of pels in an image, in 64 bits
2012-01-15 11:15:12 +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 228784c52e fix a used before set warning 2012-01-14 13:45:00 +00:00
John Cupitt a5b3eb2040 amke vips_cache() a vips8 operation 2012-01-13 13:15:56 +00:00
John Cupitt 5096031371 oops matlab load compat wrapper was broken 2012-01-12 14:14:54 +00:00
John Cupitt b43f38997d small fixes 2012-01-11 15:00:37 +00:00
John Cupitt 774e2fe495 read jfif resolution
read jfif, if available, before we read exif resolution
2012-01-09 10:34:47 +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 2dec30da2c better options parser
now only gets the options from the very end of a filename, so this
works:

"this should work (I hope!!).tif[compression=jpeg]"
2012-01-07 14:10:02 +00:00
John Cupitt d5034b0485 add --vips-cache-trace
and rename cache-print as cache-dump
2012-01-06 09:36:04 +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 2d12a91173 generic vips_call() is working 2012-01-04 14:38:22 +00:00
John Cupitt a6dc0b6fea operation cache works from Python 2012-01-04 13:50:10 +00:00
John Cupitt 6f82f1ad61 make the cache more goi-friendly 2012-01-03 16:02:52 +00:00
John Cupitt acd8ce277e just the cache to fix now 2012-01-02 15:50:41 +00:00
John Cupitt 405b89b000 get goi try.py going 2012-01-02 11:06:04 +00:00
John Cupitt 9fc55c3011 fix a segv with old-style interpolate CLI args
thanks Nicolas
2012-01-01 21:54:30 +00:00
John Cupitt 0ce08a2aa3 Merge branch 'goi-merge'
Conflicts:
	TODO
2012-01-01 12:07:16 +00:00
John Cupitt 7ae919e4f4 more hacking on gio warnings
all the serious ones seem to be fixed now
2012-01-01 12:04:46 +00:00
John Cupitt 46229cb796 sync 2011-12-31 20:41:05 +00:00
John Cupitt d0ec401a12 hackery to get goi working 2011-12-31 18:22:42 +00:00
John Cupitt 0983b50905 Merge remote-tracking branch 'origin/gobject-introspection' into goi-merge
Conflicts:
	TODO
	libvips/arithmetic/im_recomb.c
	libvips/arithmetic/im_stats.c
	libvips/deprecated/im_measure.c
	libvips/include/vips/header.h
	libvips/include/vips/image.h
	libvips/include/vips/object.h
	libvips/iofuncs/header.c
	libvips/iofuncs/image.c
	libvips/iofuncs/object.c
2011-12-24 17:36:55 +00:00
John Cupitt 39e92f8f1b some work on the new Python binding 2011-12-23 15:20:54 +00:00
John Cupitt 73465109b7 sync 2011-12-22 17:48:50 +00:00
John Cupitt 6c33ec9ff2 foreign docs 2011-12-22 12:12:27 +00:00
John Cupitt 49d3542cc7 remove outchecks, again 2011-12-21 19:00:32 +00:00
John Cupitt a62f5f8832 remove wio_output 2011-12-21 12:08:29 +00:00
John Cupitt b4ae37819e rawsavefd -> rawsave_fd for consistency 2011-12-20 18:20:37 +00:00
John Cupitt 5a77fb4d1b fix a memleak in png buf write 2011-12-20 18:14:41 +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 6864739351 move matio read to new system 2011-12-20 10:10:53 +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 3015d7d7b8 move imagemagick load over to the new style 2011-12-19 08:58:04 +00:00
John Cupitt 7b4a6d07d4 fix analyze load, csv save, copy_swap 2011-12-17 11:03:08 +00:00
John Cupitt 3ee442ca6a move csv load/save to new style 2011-12-16 15:24:35 +00:00
John Cupitt fb85eff4df sync 2011-12-15 11:33:32 +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 bf88439c0a "vips list" can show any class 2011-12-14 14:13:34 +00:00
John Cupitt 94fcf5f362 added object summaries 2011-12-14 14:03:30 +00:00
John Cupitt 7886180ae6 fixes to fits load/save 2011-12-14 13:18:50 +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 5789ca9421 openexr read becomes a new-style class 2011-12-13 10:20:22 +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 968c84e478 openslide needs suffs 2011-12-12 12:08:01 +00:00
John Cupitt 18d54ea3d2 final openslide cleanups 2011-12-12 11:58:36 +00:00