HYPER is not correctly implemented
@matthiasc
Submitted by Matthias Clasen
Description
From gdk-pixbuf/pixops/README:
-
ART_FILTER_HYPER is not correctly implemented. It is currently implemented as a filter that is derived by doing linear interpolation on the source image and then averaging that with a box filter.
It should be defined as followed (see art_filterlevel.h)
"HYPER is the highest quality reconstruction function. It is derived from the hyperbolic filters in Wolberg's "Digital Image Warping," and is formally defined as the hyperbolic-filter sampling the ideal
hyperbolic-filter interpolated image (the filter is designed to be idempotent for 1:1 pixel mapping). It is the slowest and highest quality."
The current HYPER is probably as slow, but lower quality. Also, there are some subtle errors in the calculation current HYPER that show up as dark stripes if you scale a constant-color image.
Version: git master