diff --git a/src/jbig.c b/src/jbig.c index 37afb50..c3c501b 100644 --- a/src/jbig.c +++ b/src/jbig.c @@ -209,6 +209,17 @@ _procline(int line, char *a, char *b, char *c) /* The encoder must be erroneous */ uint16_t cx = 0; + if (line > 0) { + cx += (_ret[_width_padded * (_height - line)] & 0x20) << 2; + cx += _ret[_width_padded * (_height - line)] & 0x40; + cx += (_ret[_width_padded * (_height - line)] & 0x80) >> 2; + } + + if (line > 1) { + cx += (_ret[_width_padded * (_height - line + 1)] & 0x40) >> 4; + cx += (_ret[_width_padded * (_height - line + 1)] & 0x80) >> 6; + } + for (int i = 0; i < _width; i++) { _decode(cx);