Method

VipsImagelinecache

Declaration [src]

int
vips_linecache (
  VipsImage* in,
  VipsImage** out,
  ...
)

Description [src]

Optional arguments:

  • access: hint expected access pattern VipsAccess
  • tile_height: height of tiles in cache
  • threaded: allow many threads

This operation behaves rather like vips_copy() between images in and out, except that it keeps a cache of computed scanlines.

The number of lines cached is enough for a small amount of non-local access.

Each cache tile is made with a single call to vips_region_prepare().

When the cache fills, a tile is chosen for reuse. If access is

VIPS_ACCESS_RANDOM, then the least-recently-used tile is reused. If

access is #VIPS_ACCESS_SEQUENTIAL, then the top-most tile is reused. access defaults to #VIPS_ACCESS_RANDOM.

tile_height can be used to set the size of the strips that vips_linecache() uses. The default is 1 (a single scanline).

Normally, only a single thread at once is allowed to calculate tiles. If you set threaded to TRUE, vips_linecache() will allow many threads to calculate tiles at once and share the cache between them.

See also: vips_cache(), vips_tilecache().

This method is not directly available to language bindings.

Parameters

out VipsImage
 

Output image.

 The argument will be set by the function.
 The instance takes ownership of the data, and is responsible for freeing it.
...
 

NULL-terminated list of optional named arguments.

Return value

Returns: int
 

0 on success, -1 on error.