[Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.30,1.31
Max Horn
fingolfin at users.sourceforge.net
Sun Jun 22 10:30:02 CEST 2003
Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1:/tmp/cvs-serv2067
Modified Files:
scaler.cpp
Log Message:
undoing this optimization: despite my initial sureness about this being correct - I was wrong :-) just plug in 0xFFFFFFFF to see it (roughly spoken, we can loose the uppermost bits if we shift after the addition instead of before it)
Index: scaler.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/scaler.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- scaler.cpp 22 Jun 2003 15:06:48 -0000 1.30
+++ scaler.cpp 22 Jun 2003 17:29:55 -0000 1.31
@@ -96,17 +96,17 @@
}
static inline uint32 INTERPOLATE(uint32 A, uint32 B) {
- if (A != B) {
- return (((A & colorMask) + (B & colorMask)) >> 1) + (A & B & lowPixelMask);
+ if (A != B) {
+ return (((A & colorMask) >> 1) + ((B & colorMask) >> 1) + (A & B & lowPixelMask));
} else
return A;
}
static inline uint32 Q_INTERPOLATE(uint32 A, uint32 B, uint32 C, uint32 D) {
- register uint32 x = ((A & qcolorMask) + (B & qcolorMask) + (C & qcolorMask) + (D & qcolorMask))>>2;
- register uint32 y = (A & qlowpixelMask) + (B & qlowpixelMask) + (C & qlowpixelMask) + (D & qlowpixelMask);
+ register uint32 x = ((A & qcolorMask) >> 2) + ((B & qcolorMask) >> 2) + ((C & qcolorMask) >> 2) + ((D & qcolorMask) >> 2);
+ register uint32 y = ((A & qlowpixelMask) + (B & qlowpixelMask) + (C & qlowpixelMask) + (D & qlowpixelMask)) >> 2;
- y = (y >> 2) & qlowpixelMask;
+ y &= qlowpixelMask;
return x + y;
}
More information about the Scummvm-git-logs
mailing list