2009/5/12 Øyvind Kolås <islewind@xxxxxxxxx>: > - Add abyss policies to be used by resamplers, allowing configuring the > behavior of affine transforms and warping image operations. An efficient way to do this is to remove the rule that buffers need to have fixed-size, non-overlapping tiles. If you remove this restriction, then an image, rather than having to have it's own set of tiles, can instead just have a pointer to the tiles on another image. This lets you efficiently implement operations that keep most pixels unchanged but which make some small change to an edge (for example). You can then implement abyss policies by writing an operation that enlarges an image in a certain way: for example by extending the edges out by 10 pixels and filling with a solid color. For most of the image, the operation can just use a tile from the original image at effectively no cost. It's only tiles which include part of an edge that need a copy and paint. The resampler is then given the enlarged image to work on, and need only generate pixels where the interpolation stencil is completely filled. In effect, the abyss code runs per-edge-tile rather than per-image-pixel and the cost almost vanishes. Anyway: you get a very flexible abyss system which has almost no memory or CPU cost. You can use the same system to implement zero-copy crop and paste operators, of course. John _______________________________________________ Gegl-developer mailing list Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer