Browse Source

More bit friendly decodeIAID and decodeInteger

p01 11 years ago
parent
commit
02a5f9435a
  1. 6
      src/core/jbig2.js

6
src/core/jbig2.js

@ -105,7 +105,7 @@ var Jbig2Image = (function Jbig2ImageClosure() {
offset = 340; offset = 340;
break; break;
default: default:
v = v * 2 + bit; v = ((v << 1) | bit) >>> 0;
if (--toRead === 0) { if (--toRead === 0) {
state = 0; state = 0;
} }
@ -124,12 +124,12 @@ var Jbig2Image = (function Jbig2ImageClosure() {
var prev = 1; var prev = 1;
for (var i = 0; i < codeLength; i++) { for (var i = 0; i < codeLength; i++) {
var bit = decoder.readBit(contexts, prev); var bit = decoder.readBit(contexts, prev);
prev = (prev * 2) + bit; prev = (prev << 1) | bit;
} }
if (codeLength < 31) { if (codeLength < 31) {
return prev & ((1 << codeLength) - 1); return prev & ((1 << codeLength) - 1);
} }
return prev - Math.pow(2, codeLength); return prev & 0x7FFFFFFF;
} }
// 7.3 Segment types // 7.3 Segment types

Loading…
Cancel
Save