buffer: fix incorrect interpoaltion format in linear/cubic samplers box filtering
Add a GeglSampler::interpolate() function, which subclasses should implement if they use the generic box-filter algorithm. This function is similar to GeglSampler::get(), except that it always performs point sampling (and therefore doesn't take a scale matrix), and, in particular, should return its result using the sampler's premultiplied interpolation format, rather than its output format. Use interpolate(), instead of get(), in _gegl_sampler_box_get(), to avoid erroneously performing box filtering using the sampler's output format. Implement interpolate() in the linear and cubic samplers.
Showing with 258 additions and 202 deletions