Commit Graph

614 Commits

Author SHA1 Message Date
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 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 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 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 2f1149716f increase dzsave max tile size 2012-10-23 10:57:34 +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 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 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 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 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 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 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 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 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