diff options
Diffstat (limited to 'converter/pbm')
-rw-r--r-- | converter/pbm/mrftopbm.c | 11 | ||||
-rw-r--r-- | converter/pbm/pbmtomrf.c | 10 |
2 files changed, 13 insertions, 8 deletions
diff --git a/converter/pbm/mrftopbm.c b/converter/pbm/mrftopbm.c index 9cf93d47..b7534115 100644 --- a/converter/pbm/mrftopbm.c +++ b/converter/pbm/mrftopbm.c @@ -62,10 +62,13 @@ doSquare(FILE * const in, } } else { /* not all one color, so recurse. */ - doSquare(in, image, ox, oy, w, size >> 1); - doSquare(in, image, ox+size, oy, w, size >> 1); - doSquare(in, image, ox, oy+size,w, size >> 1); - doSquare(in, image, ox+size, oy+size,w, size >> 1); + + int halfsize = size >> 1; + + doSquare(in, image, ox, oy, w, halfsize); + doSquare(in, image, ox+halfsize, oy, w, halfsize); + doSquare(in, image, ox, oy+halfsize, w, halfsize); + doSquare(in, image, ox+halfsize, oy+halfsize, w, halfsize); } } diff --git a/converter/pbm/pbmtomrf.c b/converter/pbm/pbmtomrf.c index 186e95f5..c93c88aa 100644 --- a/converter/pbm/pbmtomrf.c +++ b/converter/pbm/pbmtomrf.c @@ -83,11 +83,13 @@ doSquare(unsigned char * const image, /* otherwise, if our square is greater than 1x1, we need to recurse. */ if(size > 1) { + int halfsize = size >> 1; + bit_output(0); /* not all same */ - doSquare(image, ox, oy, w, size>>1); - doSquare(image, ox+size, oy, w, size>>1); - doSquare(image, ox, oy+size, w, size>>1); - doSquare(image, ox+size, oy+size, w, size>>1); + doSquare(image, ox, oy, w, halfsize); + doSquare(image, ox+halfsize, oy, w, halfsize); + doSquare(image, ox, oy+halfsize, w, halfsize); + doSquare(image, ox+halfsize, oy+halfsize, w, halfsize); } } |