Commit Graph

673 Commits

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