elle
Has anyone else noticed this too, or is this a bug in my version?
No, it seems to me it should be perfectly smooth at "any" scale(1, 2, 3, 3.5,-5.5, 15, 25 tested) because it is always upscaling a "same fraction" proportional part of the sourcepixels, and smoothly maps it across all of the destpixels. Look at it this way: We are calculating a different _part_ of the 4 source-sub-pixels at EVERY destpixel. So as long as you got enough resolution(precicion), you should see a supersmooth image, that actually seems to not degrade much in quality, at even significant scale. If there is precision errors, or other stuff, you may see banding-like behaviour or "waves" moving over the image, or even pixelating. I had all of those until I got it right.
But note also I use an "integerlerp" and a lookup so my implementation is not the same. But that shouldn't give me any advantages. For the subpixel tu, tv I use floats.