* libtiff/tif_lzw.c: update dec_bitsleft at beginning of LZWDecode(),
and update tif_rawcc at end of LZWDecode(). This is needed to properly work with the latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT mode.
This commit is contained in:
parent
352c653057
commit
3f72698b8a
@ -1,3 +1,10 @@
|
||||
2017-05-17 Even Rouault <even.rouault at spatialys.com>
|
||||
|
||||
* libtiff/tif_lzw.c: update dec_bitsleft at beginning of LZWDecode(),
|
||||
and update tif_rawcc at end of LZWDecode(). This is needed to properly
|
||||
work with the latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT
|
||||
mode.
|
||||
|
||||
2017-05-14 Even Rouault <even.rouault at spatialys.com>
|
||||
|
||||
* libtiff/tif_luv.c: LogL16InitState(): avoid excessive memory
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $Id: tif_lzw.c,v 1.54 2017-02-18 18:46:00 erouault Exp $ */
|
||||
/* $Id: tif_lzw.c,v 1.55 2017-05-17 09:38:58 erouault Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988-1997 Sam Leffler
|
||||
@ -318,7 +318,7 @@ LZWPreDecode(TIFF* tif, uint16 s)
|
||||
sp->dec_restart = 0;
|
||||
sp->dec_nbitsmask = MAXCODE(BITS_MIN);
|
||||
#ifdef LZW_CHECKEOS
|
||||
sp->dec_bitsleft = ((uint64)tif->tif_rawcc) << 3;
|
||||
sp->dec_bitsleft = 0;
|
||||
#endif
|
||||
sp->dec_free_entp = sp->dec_codetab + CODE_FIRST;
|
||||
/*
|
||||
@ -425,6 +425,9 @@ LZWDecode(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
|
||||
}
|
||||
|
||||
bp = (unsigned char *)tif->tif_rawcp;
|
||||
#ifdef LZW_CHECKEOS
|
||||
sp->dec_bitsleft = (((uint64)tif->tif_rawcc) << 3);
|
||||
#endif
|
||||
nbits = sp->lzw_nbits;
|
||||
nextdata = sp->lzw_nextdata;
|
||||
nextbits = sp->lzw_nextbits;
|
||||
@ -549,6 +552,7 @@ LZWDecode(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
|
||||
}
|
||||
}
|
||||
|
||||
tif->tif_rawcc -= (tmsize_t)( (uint8*) bp - tif->tif_rawcp );
|
||||
tif->tif_rawcp = (uint8*) bp;
|
||||
sp->lzw_nbits = (unsigned short) nbits;
|
||||
sp->lzw_nextdata = nextdata;
|
||||
|
Loading…
Reference in New Issue
Block a user