If I understand this right, I also think the "simple" test is all that is needed. The only interesting matrixes are 1:1 scale with integer translations. There are exactly eight arrangements of the upper-left corner: with ±1 in location 0,0 and 1,1, and with ±1 in locations 0,1 and 1,0. I think this is what the simple existing test is indicating.

It is true that bilinear scaling will reduce to point sampling for scales of 1/N with appropriate translations. However I very very much recommend against trying to optimize this:

1. The translation will have to be various fractions (don't forget that the centers of pixels are at .5 coordinates!!!).

2. All these scales look BAD with bilinear filtering. You guys have to realize that scales less than one REQUIRE more than 2 pixels of input for each output pixel. There is NO WAY AROUND THIS, stop pretending otherwise!

3. I would expect the optimization will be far faster if it can assume the source pixels it is copying are 1 apart.
_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to