gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/cxform.cpp


From: Zou Lunkai
Subject: [Gnash-commit] gnash ChangeLog server/cxform.cpp
Date: Fri, 16 May 2008 07:15:42 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Zou Lunkai <zoulunkai>  08/05/16 07:15:41

Modified files:
        .              : ChangeLog 
        server         : cxform.cpp 

Log message:
        * server/cxform.cpp: use read_u8() instead of read_bit(), parser 
optimize.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6612&r2=1.6613
http://cvs.savannah.gnu.org/viewcvs/gnash/server/cxform.cpp?cvsroot=gnash&r1=1.11&r2=1.12

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6612
retrieving revision 1.6613
diff -u -b -r1.6612 -r1.6613
--- ChangeLog   16 May 2008 07:03:14 -0000      1.6612
+++ ChangeLog   16 May 2008 07:15:37 -0000      1.6613
@@ -1,3 +1,7 @@
+2008-05-16 Zou Lunkai <address@hidden>
+       
+       * server/cxform.cpp: use read_u8() instead of read_bit(), parser 
optimize.
+       
 2008-05-16 Benjamin Wolsey <address@hidden>
 
        * server/asobj/Global.cpp: handle versions higher than SWF9.

Index: server/cxform.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/cxform.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/cxform.cpp   5 Mar 2008 03:55:59 -0000       1.11
+++ server/cxform.cpp   16 May 2008 07:15:41 -0000      1.12
@@ -88,12 +88,18 @@
        in.align();
 
        in.ensureBits(6);
-       bool    has_add = in.read_bit();
-       bool    has_mult = in.read_bit();
-       int     nbits = in.read_uint(4);
+    int  field =  in.read_uint(6);
+       bool has_add  =  field & (1 << 5);
+       bool has_mult =  field & (1 << 4);
+       int      nbits = field & 0x0f;
 
        int reads = has_mult + has_add; // 0, 1 or 2
-       if ( reads ) in.ensureBits(nbits*reads*3);
+       if ( reads ) {
+        in.ensureBits(nbits*reads*3);
+    }
+    else {
+        return;
+    }
 
        if (has_mult) {
                m_[0][0] = in.read_sint(nbits) / 255.0f;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]