rounding in pixops
@matthiasc
Submitted by Matthias Clasen
Description
there seems to be some inconsistency in the rounding behaviour of the pixops functions:
scale_line_22_33 has
dest[0] = (r + 0x8000) >> 16;
dest[1] = (g + 0x8000) >> 16;
dest[2] = (b + 0x8000) >> 16;
while scale_line has
dest[0] = (r + 0xffff) >> 16;
dest[1] = (g + 0xffff) >> 16;
dest[2] = (b + 0xffff) >> 16;
and scale_pixel has
dest[0] = (r + 0xffffff) >> 24;
dest[1] = (g + 0xffffff) >> 24;
dest[2] = (b + 0xffffff) >> 24;
what gives ?
Version: git master
Edited by Emmanuele Bassi