[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/matrix.cpp
From: |
Zou Lunkai |
Subject: |
[Gnash-commit] gnash ChangeLog server/matrix.cpp |
Date: |
Fri, 20 Jun 2008 03:43:40 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Zou Lunkai <zoulunkai> 08/06/20 03:43:40
Modified files:
. : ChangeLog
server : matrix.cpp
Log message:
* server/matrix.cpp: invert(), fix overflows, should also fix regression
bug#23621.
reintroduce more floats for matrix calculation, hard to avoid during
matrix invertion. It's possible to implement a full integer version, but the
code would be much more unreadable.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6991&r2=1.6992
http://cvs.savannah.gnu.org/viewcvs/gnash/server/matrix.cpp?cvsroot=gnash&r1=1.37&r2=1.38
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6991
retrieving revision 1.6992
diff -u -b -r1.6991 -r1.6992
--- ChangeLog 19 Jun 2008 23:24:02 -0000 1.6991
+++ ChangeLog 20 Jun 2008 03:43:39 -0000 1.6992
@@ -1,3 +1,8 @@
+2008-06-20 Zou Lunkai <address@hidden>
+
+ * server/matrix.cpp: invert(), fix overflows, should also fix regression
+ bug#23621.
+
2008-06-19 Sandro Santilli <address@hidden>
* server/asobj/SoundFfmpeg.cpp: any new loadSound call replaces
Index: server/matrix.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/matrix.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- server/matrix.cpp 13 Jun 2008 09:13:05 -0000 1.37
+++ server/matrix.cpp 20 Jun 2008 03:43:40 -0000 1.38
@@ -245,14 +245,12 @@
else
{
double d = 65536.0 * 65536.0 / det;
-
- boost::int32_t d_fixed = DoubleToFixed16(d);
boost::int32_t t0, t4;
- t0 = Fixed16Mul(sy, d_fixed);
- sy = Fixed16Mul(sx, d_fixed);
- shy = Fixed16Mul(-shy, d_fixed);
- shx = Fixed16Mul(-shx, d_fixed);
+ t0 = (boost::int32_t)(sy * d);
+ sy = (boost::int32_t)(sx * d);
+ shy = (boost::int32_t)(-shy * d);
+ shx = (boost::int32_t)(-shx * d);
t4 = - ( Fixed16Mul(tx, t0) + Fixed16Mul(ty, shy) );
ty = - ( Fixed16Mul(tx, shx)+ Fixed16Mul(ty, sy) );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/matrix.cpp,
Zou Lunkai <=