experiment with removal of seq stall

This commit is contained in:
John Cupitt 2017-02-21 09:44:21 +00:00
parent 6691e07d72
commit c6eb9ee0f2
5 changed files with 20 additions and 6 deletions

14
TODO
View File

@ -39,6 +39,20 @@
sinkmemory will need to have something added
so ... just swap vips_sequentiial for vips_linecache, look at adding
interlocks to sinkmemory, test, possibly increase margins
what will do skipahead now? we have to build this into linecache ... or maybe
leave seq there and just strip out the stalling and sync code
make tiff2vips track and verify y_pos
foreign operations affected
tiff2vips.c
jpeg2vips.c
radiance.c
vipspng.c
- vips linecache has access there twice!

View File

@ -552,7 +552,7 @@ read_jpeg_generate( VipsRegion *or,
g_assert( r->height == VIPS_MIN( 8, or->im->Ysize - r->top ) );
/* And check that y_pos is correct. It should be, since we are inside
* a vips_sequential().
* a vips_linecache().
*/
if( r->top != jpeg->y_pos ) {
VIPS_GATE_STOP( "read_jpeg_generate: work" );
@ -674,7 +674,7 @@ read_jpeg_image( ReadJpeg *jpeg, VipsImage *out )
if( vips_image_generate( t[0],
NULL, read_jpeg_generate, NULL,
jpeg, NULL ) ||
vips_sequential( t[0], &t[1],
vips_linecache( t[0], &t[1],
"tile_height", 8,
"access", jpeg->readbehind ?
VIPS_ACCESS_SEQUENTIAL :

View File

@ -1155,7 +1155,7 @@ vips__rad_load( const char *filename, VipsImage *out, gboolean readbehind )
if( vips_image_generate( t[0],
NULL, rad2vips_generate, NULL,
read, NULL ) ||
vips_sequential( t[0], &t[1],
vips_linecache( t[0], &t[1],
"tile_height", 8,
"access", readbehind ?
VIPS_ACCESS_SEQUENTIAL :

View File

@ -1924,7 +1924,7 @@ rtiff_read_stripwise( Rtiff *rtiff, VipsImage *out )
vips_image_generate( t[0],
NULL, rtiff_stripwise_generate, NULL,
rtiff, NULL ) ||
vips_sequential( t[0], &t[1],
vips_linecache( t[0], &t[1],
"tile_height", rtiff->header.rows_per_strip,
"access", rtiff->readbehind ?
VIPS_ACCESS_SEQUENTIAL :

View File

@ -497,7 +497,7 @@ png2vips_generate( VipsRegion *or,
g_assert( r->height == VIPS_MIN( 8, or->im->Ysize - r->top ) );
/* And check that y_pos is correct. It should be, since we are inside
* a vips_sequential().
* a vips_linecache().
*/
if( r->top != read->y_pos ) {
vips_error( "vipspng",
@ -590,7 +590,7 @@ png2vips_image( Read *read, VipsImage *out )
vips_image_generate( t[0],
NULL, png2vips_generate, NULL,
read, NULL ) ||
vips_sequential( t[0], &t[1],
vips_linecache( t[0], &t[1],
"tile_height", 8,
"access", read->readbehind ?
VIPS_ACCESS_SEQUENTIAL :