Commit Graph

1973 Commits

Author SHA1 Message Date
John Cupitt
51d2f8149f oops left over bit 2012-10-19 08:41:36 +01:00
John Cupitt
d629e0cba7 merge parallel-read work 2012-10-17 00:19:24 +01:00
John Cupitt
039ea63bba oops 2012-10-16 23:47:45 +01:00
John Cupitt
78fb2dd75b Merge remote-tracking branch 'origin/master' into parallel-read
Conflicts:
	libvips/foreign/openslide2vips.c
2012-10-16 23:46:01 +01:00
John Cupitt
bf945dcdc5 fix assert in openslide read
one of the asserts was broken
2012-10-15 13:36:08 +01:00
John Cupitt
a3ad07ac90 test files 2012-10-15 09:49:53 +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
3e1b30dbf9 TODO update 2012-10-09 11:11:05 +01:00
John Cupitt
199c182103 ove the thread thing to tilecache 2012-10-08 22:33:38 +01:00
John Cupitt
8a8ce4fd44 add a threaded tile cache
seems to work!
2012-10-08 15:27:52 +01:00
John Cupitt
4e0a433c24 openslide2vips uses multiple parallel osr reads
open a separate openside_t for every read thread to try to get some
parallelism in decode

works, but no faster overall, since we don't ensure that each osr tile
is only fetched once --- threads need to synchronise and not overlap

we need:

- some way to get tile geometry from osr

- a threaded tilecache aligned to the osr tile boundaries

the tilecache needs to have locks and semaphores on every tile,
something like:

class tilecache:
  def generate(region):
    # lock all tiles we need, make a list of the ones that need
    # calculating
    work = []
    for tile in region:
      tile.lock()
      if tile.nodata():
        work.append(tile)
	tile.set(:in-progress)

    # calculate all empty tiles we need
    for tile in work:
      tile.calculate()
      tile.set(:data)

    # some tiles may be being made by another thread,
    # wait for them to be done
    for tile in region:
      if tile.in-progress:
        tile.wait()

    # should all have data now, paste to output and unlock
    for tile in region:
      tile.paste(output)
      tile.unlock()

    return output
2012-10-05 09:12:54 +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
f569abb00a Merge pull request #29 from bgilbert/readme-add-leica
README: add Leica to OpenSlide-supported formats
2012-09-22 02:21:39 -07:00
Benjamin Gilbert
54834e9433 README: add Leica to OpenSlide-supported formats 2012-09-21 17:05:01 -04:00
John Cupitt
684df1d36a Merge pull request #28 from bgilbert/openslide-3.3
Fixes and improvements for OpenSlide 3.3
2012-09-20 02:55:05 -07:00
Benjamin Gilbert
c98d65434b bump minimum OpenSlide version to 3.3.0
- Avoid deprecated API

- Drop unneeded g_log handler
2012-09-20 03:11:49 -04:00
Benjamin Gilbert
6e74234ba7 add Leica filename suffix
newly-supported in OpenSlide 3.3.0.
2012-09-20 02:59:00 -04:00
Benjamin Gilbert
5e08757301 fix openslide_open error reporting for OpenSlide 3.3.0 2012-09-20 02:57:24 -04:00
John Cupitt
bb53c952c4 Merge remote-tracking branch 'origin/7.30' 2012-09-17 14:22:46 +01:00
John Cupitt
26f2105e5b make everything LGPL2.1+
some files were incorrectly tagged as GPL, thanks Dmitry
2012-09-17 11:52:32 +01:00
John Cupitt
81b962c447 todo updates 2012-09-13 13:27:55 +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
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
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
89065b391a sequential needs a strip size param
strip tiff can only read in strip-sized chunks
2012-08-24 16:06:29 +01:00
John Cupitt
ee576d79b9 back to stalling again 2012-08-24 14:25:25 +01:00
John Cupitt
4bb3eba029 try reading ahead to cache rather than stalling 2012-08-24 13:55:08 +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
70bde1dd1e more tuning 2012-08-23 22:01:52 +01:00
John Cupitt
8653b23810 better handling of jpeg warnings 2012-08-23 21:44:14 +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
fa5677abd7 works! 2012-08-23 13:49:21 +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
76fd928d29 more struggles with gtk-doc 2012-08-14 11:20:29 +01:00