Commit Graph

619 Commits

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