It was taking the initial input y-offset from the output value, which
only works for y=0 (in which case both are the same). If y > 0, we would
always stay behind the requested input offset and never ever read
anything from the input.
vfunc (vscale, lines, LINE (dest, dest_stride, i), i, width, n_elems);
}
} else {
- gint tmp_in = y;
gint s1, s2;
if (hscale->tmpwidth < width)
s2 = width * height;
if (s1 <= s2) {
+ gint tmp_in = vscale->resampler.offset[y];
+
for (i = y; i < height; i++) {
guint in, j;