jbig2dec

Ralph Giles <[email protected]> Wed, 03 Jul 2002 07:56:17 -0700
Newsgroups gmane.comp.printing.ghostscript.jbig2dec.cvs
Message-ID <[email protected]>
Update of /cvsroot/jbig2dec/jbig2dec
In directory usw-pr-cvs1:/tmp/cvs-serv28500

Modified Files:
	jbig2_image.c 
Log Message:
Compositors now producing reasonable-looking output.


Index: jbig2_image.c
===================================================================
RCS file: /cvsroot/jbig2dec/jbig2dec/jbig2_image.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- jbig2_image.c	3 Jul 2002 00:55:44 -0000	1.10
+++ jbig2_image.c	3 Jul 2002 14:56:15 -0000	1.11
@@ -116,18 +116,21 @@
         for (row = 0; row < h; row++) {
             s = src->data + row*src_stride;
             d = dst->data + (y + row)*dst_stride + leftword;
-            *d |= (*s & mask) << rightbits;
+            *d |= (*s & mask) << leftbits;
         }
     } else {
+        mask = 0;
+        for (i = 0; i < 32 - leftbits; i++)
+            mask = mask << 1 | 1;
         for (row = 0; row < h; row++) {
             s = src->data + row*src_stride;
             d = dst->data + (y + row)*dst_stride + leftword;
-            *d++ |= (*s & mask) << shift;
+            *d++ |= (*s & mask) << leftbits;
             for(word = leftword; word < rightword; word++) {
-                *d |= (*s++ & ~mask) >> (32 - shift);
-                *d++ |= (*s & mask) << shift;
+                *d |= (*s++ & ~mask) >> (32 - leftbits);
+                *d++ |= (*s & mask) << leftbits;
             }
-            *d |= (*s & highmask) >> (32 - shift);
+            *d |= (*++s & highmask) << (32 - rightbits);
         }
     }