Commit Graph

923 Commits

Author SHA1 Message Date
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
John Cupitt d6e8abce9b added "persistent" option to tilecache
sometimes you need to keep pixels between evaluations
2013-04-25 17:43:15 +01:00
John Cupitt 891051abbe Merge remote-tracking branch 'origin/7.32'
Conflicts:
	ChangeLog
	configure.ac
	po/vips7.32.pot
2013-04-16 17:01:37 +01:00
John Cupitt 4c5772fe5f rename vips7.po as vips7.32.po
helps Debian, where they need to be able to install versions in parallel
2013-04-16 14:30:28 +01:00
John Cupitt 5e30107d75 Merge remote-tracking branch 'origin/7.32' 2013-04-08 13:17:31 +01:00
John Cupitt f0cbe27bb2 Merge remote-tracking branch 'origin/7.32' into 7.32
Conflicts:
	ChangeLog
2013-04-08 13:17:10 +01:00
John Cupitt 0c6da0c330 fix demand hints for shrink
"vips shrink" was broken due to wonky demand hints, thanks Jan
2013-04-08 13:08:24 +01:00
John Cupitt 9a73a0ea5c Merge remote-tracking branch 'origin/7.32' 2013-03-22 09:14:43 +00:00
John Cupitt 4ebe588da6 fix compile without jpeg
im_jpeg2vips.c failed to compile if jpeglib.h was missing, thanks
Alessandro
2013-03-22 09:12:06 +00:00
John Cupitt 3612dce45a Merge branch '7.32' 2013-03-17 15:24:25 +00:00
John Cupitt 831f8cb700 Merge remote-tracking branch 'origin/7.32' into 7.32
Conflicts:
	ChangeLog
2013-03-17 15:24:13 +00:00
John Cupitt f5188ee3f6 better arg without value handling
this was segv-ing:

vips tiffsave v26722.tif v26722.pyr.tif --tile -tile-width 256

(only one hypen before tile-width)

thanks Ruven
2013-03-17 15:19:37 +00:00
John Cupitt 4bcc380b93 Merge remote-tracking branch 'origin/7.32'
Conflicts:
	ChangeLog
2013-03-15 12:17:09 +00:00
John Cupitt 9cb1403b9b better error msg on unknown action
$ vips fred --n

would confusingly complain about unknown option --n, rather than the
unknown acrion "fred"
2013-03-15 12:15:35 +00:00
John Cupitt 386d73770e oops date 2013-03-12 12:07:52 +00:00
John Cupitt 042d093df2 bump version for next cycle 2013-03-12 12:06:59 +00:00
John Cupitt 0f633da128 configure cleanup, version bump
configure.ac had some left-over debugging code
2013-03-12 08:56:25 +00:00
John Cupitt 9795913bf5 sync 2013-03-07 11:23:17 +00:00
John Cupitt 58040423d2 fix --without-lcms
oops! thanks speckins
2013-03-06 17:33:25 +00:00
John Cupitt 8269a79801 vipsthumbnail sizes cache better
the vipsthumbnail cache could be too small on many-cpu machines, size it
more intelligently
2013-03-01 09:44:19 +00:00
John Cupitt 2d085f753b record the image loader
and display in header too
2013-02-27 12:51:26 +00:00
John Cupitt ad2156a6d2 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.ac
	po/vips7.pot
2013-02-27 12:10:53 +00:00
John Cupitt b1b1d8ae39 fix png write bug, bump version 2013-02-27 12:09:10 +00:00
John Cupitt 25a7b760d0 neater "header" output 2013-02-26 13:32:40 +00:00
John Cupitt 3837497613 threaded tilecache could deadlock
in threaded mode, tilecache could deadlock if the downstream pixel
source raised an error

senario:

	- thread1 starts working on tile A and flags it as a CALC
	  (calculation in progress)

	- thread2 needs tile A, sees it is being worked on, and blocks
	  until computation is done

	- thread1 hits an error ... it correctly remarks the tile as
	  PEND (calculation pending), but does not broadcast a wake-up
	  signal

	- thread2 stays blocked!

threads now broadcast a wakeup on tile error as well as on tile success

Thanks to Todd Patrick
2013-02-21 17:26:58 +00:00
John Cupitt b3c16b69a1 version number bump
bump version for new stable cycle
2013-01-22 14:04:55 +00:00
John Cupitt 9fb16c23fc add --centre option to dzsave
with --centre turned on, in google maps mode dzsave will centre tiles
rather than placing them at the top-left

also, make sure blank.png is set to @background
2013-01-21 14:48:14 +00:00
John Cupitt 1ae19e896f Merge remote-tracking branch 'origin/7.30'
Conflicts:
	libvips/conversion/sequential.c
	libvips/conversion/tilecache.c
	libvips/deprecated/im_tile_cache.c
	libvips/deprecated/vips7compat.c
	po/vips7.pot
2013-01-15 13:47:48 +00:00
John Cupitt a431f5e021 clean up after fix
threaded tile cache seems a good solution --- clean up and get ready to
merge back into master
2013-01-14 17:35:05 +00:00
John Cupitt 8ab2f3eeb6 backport threaded tile cache 2013-01-14 14:51:51 +00:00
John Cupitt ac405862ba argh 2013-01-11 14:51:12 +00:00
John Cupitt fbfaac319a Merge remote-tracking branch 'origin/master' into corner 2013-01-02 10:18:53 +00:00
John Cupitt c43924f716 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.in
2012-12-31 14:40:30 +00:00
John Cupitt ee2b1f71ce better option parsing for "vips"
The vips driver program was parsing options in a single pass. This
failed if an option came in two parts, for example:

	vips --plugin x.plg list

the argument to --plug would be picked up as the action for "vips",
since actions were selected before option parsing

Now we parse in two passes: the first pass picks up options for vips
itself and for the libvips library, then we select the action, then we
parse again, including any options created by the action
2012-12-31 14:10:54 +00:00
John Cupitt 7fb57a4ea7 Merge remote-tracking branch 'origin/master' into corner
Conflicts:
	ChangeLog
2012-12-19 11:18:30 +00:00
John Cupitt 8b67d53e56 make VipsArea threadsafe
google maps output needs threaded create / destroy of VipsArea (used to
hold the background colour). We need a lock on VipsArea::count.

Fixes https://github.com/jcupitt/libvips/issues/46

Thanks fuho
2012-12-19 09:58:35 +00:00
John Cupitt e6eb08173f can now displace affine input space
so hopefully that means you can change corner vs. centre convention
easily
2012-12-18 13:08:18 +00:00
John Cupitt 4c82d45463 redo im_affine as a class 2012-12-14 12:33:47 +00:00
John Cupitt 43d69e74e7 use corner convention everywhere
all interpolators use corner convention
2012-12-13 14:10:52 +00:00
John Cupitt c341f0d134 add scRGB functions 2012-12-11 15:25:28 +00:00
John Cupitt 3dc10831c1 added vips_bandbool() 2012-12-07 11:17:09 +00:00
John Cupitt 1de6c6bcc6 add binary complex ops
cross_phase is the only one atm
2012-12-06 14:52:51 +00:00
John Cupitt a83da34355 more deprecations
im_point*() and im_linreg() this time
2012-12-06 14:10:43 +00:00
John Cupitt 81158d5b34 clean up notes 2012-12-05 21:52:37 +00:00
John Cupitt a4433f1b9f vips_min() done too 2012-12-05 14:40:01 +00:00
John Cupitt 1e332d2f29 vips_max() returns arrays for position and value
int array type too for x/y position arrays
2012-12-05 13:11:29 +00:00
John Cupitt 6f22c00df4 NN now rounds down rather than to nearest
nearest-neighbour interpolation now strictly rounds down rather than
rounding to nearest

round to nearest caused strange half-pixels along top/left image edges
during enlargement, and extra 1.5 sized pixels everywhere else

instead we should fix the thing that round to nearest was supposed to fix by
adding an extra pair of params to the affine transform which displace in
input space (dx/dy displace in output space)
2012-11-30 21:35:12 +00:00
John Cupitt c3ef2be4ab preserve jpeg ipct data
now copies over ipct data from app13, thanks Gary
2012-11-21 21:33:50 +00:00
John Cupitt fcc33020bd better exif handling
- track ifd numbers for each item of exif
- be more careful about which ones we update
- don't update xres/yres in vips_shrink()
2012-11-16 10:03:31 +00:00
John Cupitt 9abb7a1fd1 Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	configure.in
	libvips/conversion/tilecache.c
	po/vips7.pot
2012-11-14 14:52:27 +00:00
John Cupitt efcc53859a capture tiff warnings during startup
We were not capturing warnings from libtiff until we used libtiff
ourselves. Other libraries whcih we call, such as ImageMagick, could use
libtiff and generate an uncaptured warning.

On Windows these warnings each produced a popup.
2012-11-14 14:44:21 +00:00
John Cupitt 4ab937a8b6 fix library versioning mixup
thanks benjamin
2012-11-14 09:59:30 +00:00
John Cupitt 767bfc3b7f allow absolute file names in vipsthumbnail -o
thanks fuho
2012-11-13 20:09:30 +00:00
John Cupitt fdaad16407 better --help output for vips driver prog
now lists possible actions
2012-11-13 12:51:58 +00:00
John Cupitt b03d48e24b make linecache 50% larger
thanks ferryfax, see:

https://github.com/jcupitt/libvips/issues/36
2012-11-12 14:17:21 +00:00
John Cupitt e0b2919f16 add 16-bit sRGB export 2012-11-06 13:53:37 +00:00
John Cupitt bf11e2ff55 added vips_colourspace_issupported() 2012-11-02 13:13:13 +00:00
John Cupitt d282cb1111 Merge remote-tracking branch 'origin/master' 2012-11-02 11:30:27 +00:00
John Cupitt e12da1c32f sync 2012-11-02 11:30:17 +00:00
John Cupitt 09789ebdfd add @depth option to dzsave
so you can ask for a 1 layer pyramid
2012-11-01 18:11:46 +00:00
John Cupitt 4c5dd969bc rename colour_convert as colourspace
also rework im_icc_ac2rc
2012-11-01 14:59:20 +00:00
John Cupitt f5790be152 rename UCS as CMC 2012-11-01 10:21:55 +00:00
John Cupitt 63a06e5f81 faster and more accurate sRGB <-> XYZ
just use one table, since all colour channels are the same now
have more points in the float -> int direction, fewer in int -> float
faster out of range detection
2012-11-01 08:53:54 +00:00
John Cupitt a2d4c15049 move dE00 to a class 2012-10-31 11:22:28 +00:00
John Cupitt de3298d69e redo dEUCS as a class 2012-10-31 11:04:10 +00:00
John Cupitt db0c05434f dE_from_lab() as a class 2012-10-25 23:07:09 +01:00
John Cupitt 40604e776a Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	libvips/colour/im_icc_transform.c
2012-10-25 08:58:17 +01:00
John Cupitt 013dd225f6 update g_cond_*() usage 2012-10-23 12:55:38 +01:00
John Cupitt 8a4d4a6778 Merge remote-tracking branch 'origin/7.30' 2012-10-23 11:45:24 +01:00
John Cupitt 2f1149716f increase dzsave max tile size 2012-10-23 10:57:34 +01:00
John Cupitt fad78f8555 rework gthread usage
glib-2.32 deprecated g_mutex_new() ... use a compat function to hide
this change

also remove the --without-threads configure flag, gthread is now
compulsory, so there was no longer any point
2012-10-22 22:08:53 +01:00
John Cupitt f8a160de44 Merge remote-tracking branch 'origin/master' into colour
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-10-21 12:24:08 +01:00
John Cupitt abf7274754 Merge branch 'master' of github.com:jcupitt/libvips 2012-10-19 09:38:21 +01:00
John Cupitt 51d2f8149f oops left over bit 2012-10-19 08:41:36 +01:00
John Cupitt f76ad26a38 Merge remote-tracking branch 'origin/7.30' 2012-10-18 11:19:00 +01:00
John Cupitt 56f5955a24 vipsCC required the wrong version of vips
vipsCC.pc.in was asking for vips-7.30.pc, but of course we now call it
vips.pc

thanks Alessandro
2012-10-18 11:16:42 +01:00
John Cupitt 2f6aceb32a revert to sharing an openslide handle
openslide master now has locking around tiff access
2012-10-12 14:20:02 +01:00
John Cupitt 92366883cd Merge remote-tracking branch 'origin/master' into parallel-read
Conflicts:
	ChangeLog
2012-10-11 12:48:08 +01:00
John Cupitt ab1d4ac6b8 look for tile-width and tile-height properties
get tile geo from openslide
2012-10-11 12:47:17 +01:00
John Cupitt 2f65b07abb add a @background option to embed and dzsave
you can now set the background colour for edge tiles in dzsave and embed, eg.:

vips dzsave k2.jpg x --background "1 2 3"
2012-10-10 13:22:30 +01:00
John Cupitt d0b1740fd1 various small bugfixes
now works
2012-10-09 14:37:46 +01:00
John Cupitt 6e6a2a455a Merge remote-tracking branch 'origin/7.30'
Conflicts:
	ChangeLog
	libvips/foreign/dzsave.c
2012-10-03 14:45:53 +01:00
John Cupitt dee1aac7b1 dzsave can write zoomify and google maps
use "layout" to pick the directory layout, deepzoom / zoomify / google
all allowed
2012-10-03 14:26:59 +01:00
John Cupitt aec36aa5a7 Merge remote-tracking branch 'origin/7.30' 2012-10-03 09:40:03 +01:00
John Cupitt 4050c47281 fix .dzi format string
dzsave left the save options attached to the Format string in the .dzi
file

also, version bump
2012-10-02 13:11:43 +01:00
John Cupitt 0e5e34e1ea sdzsave fix
if dzsave was running a scanline at a time and height was odd, the final
set of tiles were not being written -- thanks Martin
2012-10-01 14:08:59 +01:00
John Cupitt c1dcc3e509 fix a compile fail if no libtiff
compilation failed if libtiff-dev was not found, thanks Martin
2012-09-28 13:30:28 +01:00
John Cupitt d56943f2c2 add vips_colour_convert()
generic thing to change colourspace
2012-09-26 21:53:02 +01:00
John Cupitt e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt f8dddf23a9 remove disp stuff, just sRGB now
all the old monitor calibration stuff is gone, we only support sRGB now

im_Lab2disp() etc. have become vips_Lab2sRGB() etc.

compatibility macros keep old code compiling
2012-09-24 11:23:32 +01:00
John Cupitt 2ce7bc9618 started moving disp funcs 2012-09-21 14:47:50 +01:00
John Cupitt 5fff90bc95 redo LabQ2LabS / LabS2LabQ as classes 2012-09-21 11:55:31 +01:00
John Cupitt 969e355701 LabS <-> Lab as classes 2012-09-20 21:53:47 +01:00
John Cupitt 7130a74d0e redo rad2float / float2rad as classes 2012-09-20 15:13:44 +01:00
John Cupitt 7b665c24df redo im_Yxy2XYZ() and im_XYZ2Yxy() as classes 2012-09-20 09:49:05 +01:00
John Cupitt e688bf29b6 redo im_XYZ2Lab() as a class 2012-09-20 09:18:52 +01:00
John Cupitt 496b4373a4 redo im_UCS2LCh() and im_LCh2UCS() as classes 2012-09-19 14:13:37 +01:00
John Cupitt 8abbcc4e77 redo im_LCh2Lab() as a class 2012-09-19 12:01:02 +01:00
John Cupitt 91e52a1ee2 redo im_Lab2LCh() as a class 2012-09-18 14:52:21 +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 ca011455f9 Merge remote-tracking branch 'origin/7.30' 2012-09-13 13:26:40 +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 8deb09eea9 Merge remote-tracking branch 'origin/7.30' 2012-09-05 21:20:58 +01:00
John Cupitt 7a0441d455 delay rather than stall ahead threads
avoid deadlocks by only slowing down threads which run ahead of the read
point
2012-09-05 14:56:13 +01:00
John Cupitt 0c87863222 argh still deadlocks on example.rb 2012-09-04 14:56:22 +01:00
John Cupitt 822f1bbdd9 hackety hack
make a base class for colorimetric operations
2012-08-31 17:27:30 +01:00
John Cupitt e4044a2c96 Merge remote-tracking branch 'origin/7.30' 2012-08-31 15:41:23 +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 39b05f5172 tuning, sort out demand hints
and disable extract_area seq mode
2012-08-24 12:46:10 +01:00
John Cupitt b183d32b15 use a hash table for tilecache
now we can have large numbers of tiles, use a hash table for tile lookup
2012-08-23 16:08:08 +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 f5f0dda551 experiment with thread stalling 2012-08-21 16:18:25 +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 88c3f7ab7d fix compiler warnings
some compiler warnings appeared in a production build (assert()s
commented out, -Wall, and -O2)

thanks to Dmitry Roshchin for the report
2012-08-14 12:43:54 +01:00
John Cupitt 31f3f8681a Merge remote-tracking branch 'origin/7.30' 2012-08-14 11:03:12 +01:00
John Cupitt 368d3c2b8f test for gtk-doc in bootstrap 2012-08-14 11:00:23 +01:00
John Cupitt 1abac4018a better enum arg error message
you now get something like:

$ vips tiffsave k2.jpg x.tif --compression poop
tiffsave: enum 'VipsForeignTiffCompression' has no member 'poop', should be one of: none, jpeg, deflate, packbits, ccittfax4, lzw
2012-08-10 13:54:42 +01:00
John Cupitt 463058c149 note and use res unit on jpg load/save
previously, jpeg save always used pixels/inch and jpeg load converted to
vips pixels/mm

now on jpg load the image's res unit is recorded in
VIPS_META_RESOLUTION_UNIT, and on jpg save the res unit is set from
VIPS_META_RESOLUTION_UNIT (or defaults to inches).

you can now copy a cm-preferring tiff to a jpg and the unit is preserved
2012-08-07 14:10:19 +01:00
John Cupitt 757e93364c Merge remote-tracking branch 'origin/7.30' 2012-08-07 13:50:43 +01:00
John Cupitt 8214d15982 more improvements to dzsave
now writes x_files and x.dzi, as per spec (thanks Benjamin)

deprecate tile_width and tile_height, just have tile_size now
2012-08-07 13:29:03 +01:00
John Cupitt a9c7a36670 be more cautious enabling tiff ycbcr
we were turning on ycbcr for all jpeg tiffs and relying on the jpeg
compressor to only use it when possible ... now just turn on ycbcr for
8-bit RGB images
2012-08-07 12:17:25 +01:00
John Cupitt 4cb63cf1ba update the C++ binding
and the Python one
2012-08-06 22:02:34 +01:00
John Cupitt 6a6f33af1f Merge remote-tracking branch 'origin/7.30' 2012-08-06 15:22:56 +01:00
John Cupitt 9cffb5f939 Merge remote-tracking branch 'origin/master'
Conflicts:
	ChangeLog
	configure.in
2012-08-06 15:22:25 +01:00
John Cupitt 392b59e261 version bump 2012-08-06 15:14:31 +01:00
John Cupitt 3033fea933 add --vips-fatal flag
--vips-fatal causes an abort() on the first warning or error, handy for
debugging
2012-07-21 17:01:17 +01:00
John Cupitt 133ee84794 fix --without-magick etc.
the vips7 compat readers like im_exr2vips() were not guarded with ifdefs
in case their read library was missing
2012-07-20 17:18:49 +01:00
John Cupitt 7df7bb85bb add --vips-version cmdline arg
print version of libvips that a program is running against
2012-07-20 13:34:05 +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 41be00d5dd version bump for new stable 2012-07-20 10:32:20 +01:00
John Cupitt 17f6489c0e Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	libvips/deprecated/im_csv2vips.c
2012-07-18 10:39:29 +01:00
John Cupitt 4af1dabb5a don't cache write operations
we want writes to happen every time, in case the file has been deleted
by someone
2012-07-18 10:13:03 +01:00
John Cupitt c51204e0f0 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	libvips/deprecated/im_csv2vips.c
2012-07-17 12:16:47 +01:00
John Cupitt 467a78f32b save as ppm from vips7 with options was broken
it wrote a file with the options still in the name
2012-07-17 10:00:59 +01:00
John Cupitt 5363aace39 wopconst was wrong
struct offset astray meant that wopconst didn't work
2012-07-17 09:46:16 +01:00
John Cupitt 73f8263286 sequential can now skip ahead
vips_sequential() no longer bans all non-seq access, it just bans
rewinding --- if you ask for something some way ahead, it reads and
throws away pixels

this means VipsExtract and VipsInsert can now be seq: they will read and
throw away any stuff they don't need
2012-07-14 12:13:58 +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 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 87e37e83e2 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/generate.c
	libvips/iofuncs/init.c
	po/vips7.pot
2012-07-09 14:09:25 +01:00
John Cupitt 8582e40307 improve use from many threads
lock around the operation cache and the upstrea/downstream link system
so vips works when used from many threads: you can now create an image
in one thread and process it in another
2012-07-09 13:47:09 +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 4cfae3c4d0 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/image.c
	po/vips7.pot
2012-07-05 16:40:33 +01:00
John Cupitt 34f25dabd5 fix tmp file handling on Windows
it wasnt working, breaking handling of non-vips files over 100mb on
Windows
2012-07-05 09:54:59 +01:00
John Cupitt a94ce8957e Merge remote-tracking branch 'origin/7.28' 2012-07-01 11:08:02 +01:00
John Cupitt ec53b1af74 remove refs to bicubic in docs 2012-07-01 11:06:42 +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 49fbfdd454 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-06-23 10:32:36 +01:00
John Cupitt 2427b2896c slightly more memory debugging output
regions now say if they have attached memory, images say what type (eg.
partial etc) they are
2012-06-23 10:30:48 +01:00
John Cupitt 213b44894e Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/cache.c
2012-06-21 13:32:47 +01:00
John Cupitt 5243f334e1 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-06-21 09:23:42 +01:00
John Cupitt 9bb9f59091 fixes to help centos5 2012-06-20 22:10:10 +01:00
John Cupitt 8b290ac58e changelog update 2012-06-20 09:06:54 +01:00
John Cupitt 4aa24358d8 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	tools/vipsthumbnail.c
2012-06-19 17:24:43 +01:00
John Cupitt 2f897315ad fix a crash with corrupted jpg files
three was a double-free crash with a scrambled jpg file, thanks Grigoriy
2012-06-19 08:52:06 +01:00
John Cupitt 70b14c2f1d add vips_flatten()
... background arg not quite working
2012-06-18 14:49:39 +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 fdd3b0a387 remove im_rightshift_size()
there's a deprecated wrapper now
2012-06-15 18:21:25 +01:00
John Cupitt 0e9b2e3168 Merge remote-tracking branch 'origin/7.28' 2012-06-09 10:37:30 +01:00
John Cupitt 7a79b1fb6b remove G_DEFINE_BOXED_TYPE() use
was glib-2.26+ only argh, thanks Jake
2012-06-09 10:31:01 +01:00
John Cupitt 2dde7ce256 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/foreign/vips2tiff.c
	po/vips7.pot
2012-06-08 19:37:03 +01:00
John Cupitt 75a68100bd fix a crash in the tiff reader
some tiffs have HUGE values for RowsPerStrip ... clip these down to
avoid confusing later bits of vips

also, a better error msg for non-contig images
2012-06-07 13:54:05 +01:00
John Cupitt 1ee48e4cd6 add nocache flag, use for sequential file ops
stop it caching sequential file read (eg. sequential tiff read), since
you can only read sequentially once
2012-06-06 19:33:11 +01:00
John Cupitt fc3d4192d7 tiff loader always offers thinstrip
the tiff loader now always offers thinstrip ... later stages can then
pick any demand style they like (thanks Diuming)
2012-06-03 11:44:03 +01:00
John Cupitt f65f9088f6 make jpeg pyr write work with tiff4
there was a problem with sizing tiles in chrominance subsample mode
2012-06-02 17:42:42 +01:00
John Cupitt 3de5ec9078 Merge remote-tracking branch 'origin/7.28'
Conflicts:
	libvips/iofuncs/object.c
2012-06-01 14:22:10 +01:00
John Cupitt 2cf57c123d much faster vips_argument_map()
improve the way we handle looping over args, gets us back to 7.26 speed
for example workspaces
2012-06-01 14:20:20 +01:00
John Cupitt 31eaeb5ad9 Merge remote-tracking branch 'origin/7.28' 2012-05-25 08:59:36 +01:00
John Cupitt faa2f820c6 use TIFF_CFLAGS
the new pkg-config tiff4 tester outputs TOFF_CFLAGS ... use it (thanks
Jay)
2012-05-25 08:58:40 +01:00
John Cupitt f19a9d9d6b Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-05-17 14:08:57 +01:00
John Cupitt 5cbb049ec2 version bump 2012-05-17 11:16:46 +01:00
John Cupitt bb1dcb97ee Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
2012-05-06 12:28:02 +01:00
John Cupitt 2bb7902ace add libtiff-4 test 2012-05-06 11:55:59 +01:00
John Cupitt f3dd9da50a Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
2012-04-19 21:39:25 +01:00
John Cupitt 2352ac1220 fix blend mode for ifthenelse
and a small blend speedup
2012-04-19 21:38:04 +01:00
John Cupitt 8e019730ba Merge remote-tracking branch 'origin/7.28'
Conflicts:
	ChangeLog
	configure.in
	po/vips7.pot
2012-04-17 21:22:35 +01:00
John Cupitt abe43f3068 up max buf size
allows larger defs in nip2
2012-04-17 21:16:05 +01:00
John Cupitt 04c7f97cf4 prepare for release 2012-04-17 11:28:40 +01:00
John Cupitt d3f9d0fd7d Merge remote-tracking branch 'origin/7.28' 2012-04-12 10:24:11 +01:00
John Cupitt 0290eb009d more accurate progress reporting
computation progress used to be done incrementally based on the number
of tiles allocated. This did not take account of half tiles at image
edges, so you could sometimes see "110% complete"

it's now calculated based on the absolute number of pixels processed, so
it should always report 100% at the end.
2012-04-12 10:01:17 +01:00
John Cupitt b47ad26f50 make vips8 cache smaller 2012-04-12 08:41:40 +01:00
John Cupitt 668bf1759b Merge remote-tracking branch 'origin/7.28' 2012-04-11 12:53:33 +01:00
John Cupitt 3540e3ef09 support :level,associated in the vips7 openslide
the vips7 stub for openslide now supports :level,associated mode
options, eg:

$ header CMU-2.svs
CMU-2.svs: 19500x7615 uchar, 4 bands, rgb VipsImage (0x236a060)
$ header CMU-2.svs:2
CMU-2.svs:2: 4875x1903 uchar, 4 bands, rgb VipsImage (0x244c060)
$ header CMU-2.svs:,label
CMU-2.svs:,label: 387x463 uchar, 4 bands, rgb VipsImage (0xa2d060)
$ header CMU-2.svs:2,label
CMU-2.svs:2,label: 387x463 uchar, 4 bands, rgb VipsImage (0x1b23060)
2012-04-11 12:48:41 +01:00
John Cupitt 5ab6e2d1aa Merge remote-tracking branch 'origin/7.28' 2012-04-10 16:53:03 +01:00
John Cupitt 7af1fb34d7 cast to unsigned int did not remove <0
previously cast to uint did nothing (since the positive range of uint is
greater than int), now it changes <0 values to 0
2012-04-10 14:26:41 +01:00
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