Lines Matching refs:tif

32 int TIFFFillStrip(TIFF* tif, uint32 strip);
33 int TIFFFillTile(TIFF* tif, uint32 tile);
34 static int TIFFStartStrip(TIFF* tif, uint32 strip);
35 static int TIFFStartTile(TIFF* tif, uint32 tile);
38 TIFFReadRawStrip1(TIFF* tif, uint32 strip, void* buf, tmsize_t size,const char* module);
40 TIFFReadRawTile1(TIFF* tif, uint32 tile, void* buf, tmsize_t size, const char* module);
53 static int TIFFReadAndRealloc( TIFF* tif, tmsize_t size, in TIFFReadAndRealloc() argument
69 uint64 filesize = TIFFGetFileSize(tif); in TIFFReadAndRealloc()
72 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
91 already_read + to_read + rawdata_offset > tif->tif_rawdatasize ) in TIFFReadAndRealloc()
97 if (already_read + to_read + rawdata_offset > tif->tif_rawdatasize) { in TIFFReadAndRealloc()
99 assert((tif->tif_flags & TIFF_MYBUFFER) != 0); in TIFFReadAndRealloc()
100 tif->tif_rawdatasize = (tmsize_t)TIFFroundup_64( in TIFFReadAndRealloc()
102 if (tif->tif_rawdatasize==0) { in TIFFReadAndRealloc()
103 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
108 tif->tif_rawdata, tif->tif_rawdatasize); in TIFFReadAndRealloc()
111 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
113 (unsigned long) tif->tif_row); in TIFFReadAndRealloc()
114 _TIFFfree(tif->tif_rawdata); in TIFFReadAndRealloc()
115 tif->tif_rawdata = 0; in TIFFReadAndRealloc()
116 tif->tif_rawdatasize = 0; in TIFFReadAndRealloc()
119 tif->tif_rawdata = new_rawdata; in TIFFReadAndRealloc()
121 if( tif->tif_rawdata == NULL ) in TIFFReadAndRealloc()
127 bytes_read = TIFFReadFile(tif, in TIFFReadAndRealloc()
128 tif->tif_rawdata + rawdata_offset + already_read, to_read); in TIFFReadAndRealloc()
131 memset( tif->tif_rawdata + rawdata_offset + already_read, 0, in TIFFReadAndRealloc()
132 tif->tif_rawdatasize - rawdata_offset - already_read ); in TIFFReadAndRealloc()
136 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
139 (unsigned long) tif->tif_row, in TIFFReadAndRealloc()
145 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
148 (unsigned long) tif->tif_row, in TIFFReadAndRealloc()
149 (unsigned long) tif->tif_col, in TIFFReadAndRealloc()
157 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
160 (unsigned long) tif->tif_row, in TIFFReadAndRealloc()
166 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadAndRealloc()
169 (unsigned long) tif->tif_row, in TIFFReadAndRealloc()
170 (unsigned long) tif->tif_col, in TIFFReadAndRealloc()
184 TIFFFillStripPartial( TIFF *tif, int strip, tmsize_t read_ahead, int restart ) in TIFFFillStripPartial() argument
187 register TIFFDirectory *td = &tif->tif_dir; in TIFFFillStripPartial()
208 if (read_ahead_mod > tif->tif_rawdatasize) { in TIFFFillStripPartial()
211 tif->tif_curstrip = NOSTRIP; in TIFFFillStripPartial()
212 if ((tif->tif_flags & TIFF_MYBUFFER) == 0) { in TIFFFillStripPartial()
213 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStripPartial()
222 tif->tif_rawdataloaded = 0; in TIFFFillStripPartial()
223 tif->tif_rawdataoff = 0; in TIFFFillStripPartial()
230 if( tif->tif_rawdataloaded > 0 ) in TIFFFillStripPartial()
231 unused_data = tif->tif_rawdataloaded - (tif->tif_rawcp - tif->tif_rawdata); in TIFFFillStripPartial()
237 assert((tif->tif_flags&TIFF_BUFFERMMAP)==0); in TIFFFillStripPartial()
238 memmove( tif->tif_rawdata, tif->tif_rawcp, unused_data ); in TIFFFillStripPartial()
244 read_offset = TIFFGetStrileOffset(tif, strip) in TIFFFillStripPartial()
245 + tif->tif_rawdataoff + tif->tif_rawdataloaded; in TIFFFillStripPartial()
247 if (!SeekOK(tif, read_offset)) { in TIFFFillStripPartial()
248 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStripPartial()
250 (unsigned long) tif->tif_row, (unsigned long) strip); in TIFFFillStripPartial()
257 if( read_ahead_mod > tif->tif_rawdatasize ) in TIFFFillStripPartial()
260 to_read = tif->tif_rawdatasize - unused_data; in TIFFFillStripPartial()
261 if( (uint64) to_read > TIFFGetStrileByteCount(tif, strip) in TIFFFillStripPartial()
262 - tif->tif_rawdataoff - tif->tif_rawdataloaded ) in TIFFFillStripPartial()
264 to_read = (tmsize_t) TIFFGetStrileByteCount(tif, strip) in TIFFFillStripPartial()
265 - tif->tif_rawdataoff - tif->tif_rawdataloaded; in TIFFFillStripPartial()
268 assert((tif->tif_flags&TIFF_BUFFERMMAP)==0); in TIFFFillStripPartial()
269 if( !TIFFReadAndRealloc( tif, to_read, unused_data, in TIFFFillStripPartial()
277 tif->tif_rawdataoff = tif->tif_rawdataoff + tif->tif_rawdataloaded - unused_data ; in TIFFFillStripPartial()
278 tif->tif_rawdataloaded = unused_data + to_read; in TIFFFillStripPartial()
280 tif->tif_rawcc = tif->tif_rawdataloaded; in TIFFFillStripPartial()
281 tif->tif_rawcp = tif->tif_rawdata; in TIFFFillStripPartial()
283 if (!isFillOrder(tif, td->td_fillorder) && in TIFFFillStripPartial()
284 (tif->tif_flags & TIFF_NOBITREV) == 0) { in TIFFFillStripPartial()
285 assert((tif->tif_flags&TIFF_BUFFERMMAP)==0); in TIFFFillStripPartial()
286 TIFFReverseBits(tif->tif_rawdata + unused_data, to_read ); in TIFFFillStripPartial()
302 if( tif->tif_dir.td_compression==COMPRESSION_JPEG && in TIFFFillStripPartial()
303 (uint64)tif->tif_rawcc < TIFFGetStrileByteCount(tif, strip) ) in TIFFFillStripPartial()
305 if( TIFFJPEGIsFullStripRequired(tif) ) in TIFFFillStripPartial()
307 return TIFFFillStrip(tif, strip); in TIFFFillStripPartial()
312 return TIFFStartStrip(tif, strip); in TIFFFillStripPartial()
329 TIFFSeek(TIFF* tif, uint32 row, uint16 sample ) in TIFFSeek() argument
331 register TIFFDirectory *td = &tif->tif_dir; in TIFFSeek()
340 TIFFErrorExt(tif->tif_clientdata, tif->tif_name, in TIFFSeek()
348 TIFFErrorExt(tif->tif_clientdata, tif->tif_name, in TIFFSeek()
362 whole_strip = TIFFGetStrileByteCount(tif, strip) < 10 in TIFFSeek()
363 || isMapped(tif); in TIFFSeek()
380 if( tif->tif_scanlinesize < TIFF_TMSIZE_T_MAX / 16 && in TIFFSeek()
381 tif->tif_scanlinesize * 16 < TIFF_TMSIZE_T_MAX - 5000 ) in TIFFSeek()
383 read_ahead = tif->tif_scanlinesize * 16 + 5000; in TIFFSeek()
387 read_ahead = tif->tif_scanlinesize; in TIFFSeek()
395 if (strip != tif->tif_curstrip) { /* different strip, refill */ in TIFFSeek()
399 if (!TIFFFillStrip(tif, strip)) in TIFFSeek()
404 if( !TIFFFillStripPartial(tif,strip,read_ahead,1) ) in TIFFSeek()
414 if( ((tif->tif_rawdata + tif->tif_rawdataloaded) - tif->tif_rawcp) < read_ahead in TIFFSeek()
415 … && (uint64) tif->tif_rawdataoff+tif->tif_rawdataloaded < TIFFGetStrileByteCount(tif, strip) ) in TIFFSeek()
417 if( !TIFFFillStripPartial(tif,strip,read_ahead,0) ) in TIFFSeek()
422 if (row < tif->tif_row) { in TIFFSeek()
432 if( tif->tif_rawdataoff != 0 ) in TIFFSeek()
434 if( !TIFFFillStripPartial(tif,strip,read_ahead,1) ) in TIFFSeek()
439 if (!TIFFStartStrip(tif, strip)) in TIFFSeek()
444 if (row != tif->tif_row) { in TIFFSeek()
451 if (!(*tif->tif_seek)(tif, row - tif->tif_row)) in TIFFSeek()
453 tif->tif_row = row; in TIFFSeek()
460 TIFFReadScanline(TIFF* tif, void* buf, uint32 row, uint16 sample) in TIFFReadScanline() argument
464 if (!TIFFCheckRead(tif, 0)) in TIFFReadScanline()
466 if( (e = TIFFSeek(tif, row, sample)) != 0) { in TIFFReadScanline()
470 e = (*tif->tif_decoderow) in TIFFReadScanline()
471 (tif, (uint8*) buf, tif->tif_scanlinesize, sample); in TIFFReadScanline()
474 tif->tif_row = row + 1; in TIFFReadScanline()
477 (*tif->tif_postdecode)(tif, (uint8*) buf, in TIFFReadScanline()
478 tif->tif_scanlinesize); in TIFFReadScanline()
488 static tmsize_t TIFFReadEncodedStripGetStripSize(TIFF* tif, uint32 strip, uint16* pplane) in TIFFReadEncodedStripGetStripSize() argument
491 TIFFDirectory *td = &tif->tif_dir; in TIFFReadEncodedStripGetStripSize()
497 if (!TIFFCheckRead(tif,0)) in TIFFReadEncodedStripGetStripSize()
501 TIFFErrorExt(tif->tif_clientdata,module, in TIFFReadEncodedStripGetStripSize()
516 stripsize=TIFFVStripSize(tif,rows); in TIFFReadEncodedStripGetStripSize()
527 TIFFReadEncodedStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size) in TIFFReadEncodedStrip() argument
530 TIFFDirectory *td = &tif->tif_dir; in TIFFReadEncodedStrip()
534 stripsize=TIFFReadEncodedStripGetStripSize(tif, strip, &plane); in TIFFReadEncodedStrip()
541 !isMapped(tif) && in TIFFReadEncodedStrip()
542 ((tif->tif_flags&TIFF_NOREADRAW)==0) ) in TIFFReadEncodedStrip()
544 if (TIFFReadRawStrip1(tif, strip, buf, stripsize, module) != stripsize) in TIFFReadEncodedStrip()
547 if (!isFillOrder(tif, td->td_fillorder) && in TIFFReadEncodedStrip()
548 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFReadEncodedStrip()
551 (*tif->tif_postdecode)(tif,buf,stripsize); in TIFFReadEncodedStrip()
557 if (!TIFFFillStrip(tif,strip)) in TIFFReadEncodedStrip()
559 if ((*tif->tif_decodestrip)(tif,buf,stripsize,plane)<=0) in TIFFReadEncodedStrip()
561 (*tif->tif_postdecode)(tif,buf,stripsize); in TIFFReadEncodedStrip()
572 _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32 strip, in _TIFFReadEncodedStripAndAllocBuffer() argument
581 return TIFFReadEncodedStrip(tif, strip, *buf, size_to_read); in _TIFFReadEncodedStripAndAllocBuffer()
584 this_stripsize=TIFFReadEncodedStripGetStripSize(tif, strip, &plane); in _TIFFReadEncodedStripAndAllocBuffer()
590 if (!TIFFFillStrip(tif,strip)) in _TIFFReadEncodedStripAndAllocBuffer()
595 TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "No space for strip buffer"); in _TIFFReadEncodedStripAndAllocBuffer()
600 if ((*tif->tif_decodestrip)(tif,*buf,this_stripsize,plane)<=0) in _TIFFReadEncodedStripAndAllocBuffer()
602 (*tif->tif_postdecode)(tif,*buf,this_stripsize); in _TIFFReadEncodedStripAndAllocBuffer()
609 TIFFReadRawStrip1(TIFF* tif, uint32 strip, void* buf, tmsize_t size, in TIFFReadRawStrip1() argument
612 assert((tif->tif_flags&TIFF_NOREADRAW)==0); in TIFFReadRawStrip1()
613 if (!isMapped(tif)) { in TIFFReadRawStrip1()
616 if (!SeekOK(tif, TIFFGetStrileOffset(tif, strip))) { in TIFFReadRawStrip1()
617 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip1()
619 (unsigned long) tif->tif_row, (unsigned long) strip); in TIFFReadRawStrip1()
622 cc = TIFFReadFile(tif, buf, size); in TIFFReadRawStrip1()
625 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip1()
627 (unsigned long) tif->tif_row, in TIFFReadRawStrip1()
631 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip1()
633 (unsigned long) tif->tif_row, in TIFFReadRawStrip1()
642 if ((TIFFGetStrileOffset(tif, strip) > (uint64)TIFF_TMSIZE_T_MAX)|| in TIFFReadRawStrip1()
643 ((ma=(tmsize_t)TIFFGetStrileOffset(tif, strip))>tif->tif_size)) in TIFFReadRawStrip1()
654 if (mb>tif->tif_size) in TIFFReadRawStrip1()
655 n=tif->tif_size-ma; in TIFFReadRawStrip1()
661 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip1()
663 (unsigned long) tif->tif_row, in TIFFReadRawStrip1()
668 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip1()
670 (unsigned long) tif->tif_row, in TIFFReadRawStrip1()
677 _TIFFmemcpy(buf, tif->tif_base + ma, in TIFFReadRawStrip1()
684 TIFFReadRawStripOrTile2(TIFF* tif, uint32 strip_or_tile, int is_strip, in TIFFReadRawStripOrTile2() argument
687 assert( !isMapped(tif) ); in TIFFReadRawStripOrTile2()
688 assert((tif->tif_flags&TIFF_NOREADRAW)==0); in TIFFReadRawStripOrTile2()
690 if (!SeekOK(tif, TIFFGetStrileOffset(tif, strip_or_tile))) { in TIFFReadRawStripOrTile2()
693 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStripOrTile2()
695 (unsigned long) tif->tif_row, in TIFFReadRawStripOrTile2()
700 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStripOrTile2()
702 (unsigned long) tif->tif_row, in TIFFReadRawStripOrTile2()
703 (unsigned long) tif->tif_col, in TIFFReadRawStripOrTile2()
709 if( !TIFFReadAndRealloc( tif, size, 0, is_strip, in TIFFReadRawStripOrTile2()
722 TIFFReadRawStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size) in TIFFReadRawStrip() argument
725 TIFFDirectory *td = &tif->tif_dir; in TIFFReadRawStrip()
729 if (!TIFFCheckRead(tif, 0)) in TIFFReadRawStrip()
732 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip()
738 if (tif->tif_flags&TIFF_NOREADRAW) in TIFFReadRawStrip()
740 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawStrip()
744 bytecount64 = TIFFGetStrileByteCount(tif, strip); in TIFFReadRawStrip()
748 bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount64, module); in TIFFReadRawStrip()
752 return (TIFFReadRawStrip1(tif, strip, buf, bytecountm, module)); in TIFFReadRawStrip()
766 TIFFFillStrip(TIFF* tif, uint32 strip) in TIFFFillStrip() argument
769 TIFFDirectory *td = &tif->tif_dir; in TIFFFillStrip()
771 if ((tif->tif_flags&TIFF_NOREADRAW)==0) in TIFFFillStrip()
773 uint64 bytecount = TIFFGetStrileByteCount(tif, strip); in TIFFFillStrip()
776 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
781 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
796 tmsize_t stripsize = TIFFStripSize(tif); in TIFFFillStrip()
804 TIFFWarningExt(tif->tif_clientdata, module, in TIFFFillStrip()
810 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
821 if (isMapped(tif)) { in TIFFFillStrip()
831 if (bytecount > (uint64)tif->tif_size || in TIFFFillStrip()
832 TIFFGetStrileOffset(tif, strip) > (uint64)tif->tif_size - bytecount) { in TIFFFillStrip()
839 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
844 (unsigned __int64) NoSantizeSubUInt64(tif->tif_size, TIFFGetStrileOffset(tif, strip)), in TIFFFillStrip()
847 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
852 (unsigned long long) NoSantizeSubUInt64(tif->tif_size, TIFFGetStrileOffset(tif, strip)), in TIFFFillStrip()
855 tif->tif_curstrip = NOSTRIP; in TIFFFillStrip()
860 if (isMapped(tif) && in TIFFFillStrip()
861 (isFillOrder(tif, td->td_fillorder) in TIFFFillStrip()
862 || (tif->tif_flags & TIFF_NOBITREV))) { in TIFFFillStrip()
874 if ((tif->tif_flags & TIFF_MYBUFFER) && tif->tif_rawdata) { in TIFFFillStrip()
875 _TIFFfree(tif->tif_rawdata); in TIFFFillStrip()
876 tif->tif_rawdata = NULL; in TIFFFillStrip()
877 tif->tif_rawdatasize = 0; in TIFFFillStrip()
879 tif->tif_flags &= ~TIFF_MYBUFFER; in TIFFFillStrip()
880 tif->tif_rawdatasize = (tmsize_t)bytecount; in TIFFFillStrip()
881 tif->tif_rawdata = tif->tif_base + (tmsize_t)TIFFGetStrileOffset(tif, strip); in TIFFFillStrip()
882 tif->tif_rawdataoff = 0; in TIFFFillStrip()
883 tif->tif_rawdataloaded = (tmsize_t) bytecount; in TIFFFillStrip()
891 tif->tif_flags |= TIFF_BUFFERMMAP; in TIFFFillStrip()
902 TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow"); in TIFFFillStrip()
905 if (bytecountm > tif->tif_rawdatasize) { in TIFFFillStrip()
906 tif->tif_curstrip = NOSTRIP; in TIFFFillStrip()
907 if ((tif->tif_flags & TIFF_MYBUFFER) == 0) { in TIFFFillStrip()
908 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillStrip()
914 if (tif->tif_flags&TIFF_BUFFERMMAP) { in TIFFFillStrip()
915 tif->tif_curstrip = NOSTRIP; in TIFFFillStrip()
916 tif->tif_rawdata = NULL; in TIFFFillStrip()
917 tif->tif_rawdatasize = 0; in TIFFFillStrip()
918 tif->tif_flags &= ~TIFF_BUFFERMMAP; in TIFFFillStrip()
921 if( isMapped(tif) ) in TIFFFillStrip()
923 if (bytecountm > tif->tif_rawdatasize && in TIFFFillStrip()
924 !TIFFReadBufferSetup(tif, 0, bytecountm)) in TIFFFillStrip()
928 if (TIFFReadRawStrip1(tif, strip, tif->tif_rawdata, in TIFFFillStrip()
936 if (TIFFReadRawStripOrTile2(tif, strip, 1, in TIFFFillStrip()
944 tif->tif_rawdataoff = 0; in TIFFFillStrip()
945 tif->tif_rawdataloaded = bytecountm; in TIFFFillStrip()
947 if (!isFillOrder(tif, td->td_fillorder) && in TIFFFillStrip()
948 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFFillStrip()
949 TIFFReverseBits(tif->tif_rawdata, bytecountm); in TIFFFillStrip()
952 return (TIFFStartStrip(tif, strip)); in TIFFFillStrip()
965 TIFFReadTile(TIFF* tif, void* buf, uint32 x, uint32 y, uint32 z, uint16 s) in TIFFReadTile() argument
967 if (!TIFFCheckRead(tif, 1) || !TIFFCheckTile(tif, x, y, z, s)) in TIFFReadTile()
969 return (TIFFReadEncodedTile(tif, in TIFFReadTile()
970 TIFFComputeTile(tif, x, y, z, s), buf, (tmsize_t)(-1))); in TIFFReadTile()
978 TIFFReadEncodedTile(TIFF* tif, uint32 tile, void* buf, tmsize_t size) in TIFFReadEncodedTile() argument
981 TIFFDirectory *td = &tif->tif_dir; in TIFFReadEncodedTile()
982 tmsize_t tilesize = tif->tif_tilesize; in TIFFReadEncodedTile()
984 if (!TIFFCheckRead(tif, 1)) in TIFFReadEncodedTile()
987 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadEncodedTile()
996 !isMapped(tif) && in TIFFReadEncodedTile()
997 ((tif->tif_flags&TIFF_NOREADRAW)==0) ) in TIFFReadEncodedTile()
999 if (TIFFReadRawTile1(tif, tile, buf, tilesize, module) != tilesize) in TIFFReadEncodedTile()
1002 if (!isFillOrder(tif, td->td_fillorder) && in TIFFReadEncodedTile()
1003 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFReadEncodedTile()
1006 (*tif->tif_postdecode)(tif,buf,tilesize); in TIFFReadEncodedTile()
1014 if (TIFFFillTile(tif, tile) && (*tif->tif_decodetile)(tif, in TIFFReadEncodedTile()
1016 (*tif->tif_postdecode)(tif, (uint8*) buf, size); in TIFFReadEncodedTile()
1029 _TIFFReadTileAndAllocBuffer(TIFF* tif, in _TIFFReadTileAndAllocBuffer() argument
1033 if (!TIFFCheckRead(tif, 1) || !TIFFCheckTile(tif, x, y, z, s)) in _TIFFReadTileAndAllocBuffer()
1035 return (_TIFFReadEncodedTileAndAllocBuffer(tif, in _TIFFReadTileAndAllocBuffer()
1036 TIFFComputeTile(tif, x, y, z, s), in _TIFFReadTileAndAllocBuffer()
1048 _TIFFReadEncodedTileAndAllocBuffer(TIFF* tif, uint32 tile, in _TIFFReadEncodedTileAndAllocBuffer() argument
1053 TIFFDirectory *td = &tif->tif_dir; in _TIFFReadEncodedTileAndAllocBuffer()
1054 tmsize_t tilesize = tif->tif_tilesize; in _TIFFReadEncodedTileAndAllocBuffer()
1058 return TIFFReadEncodedTile(tif, tile, *buf, size_to_read); in _TIFFReadEncodedTileAndAllocBuffer()
1061 if (!TIFFCheckRead(tif, 1)) in _TIFFReadEncodedTileAndAllocBuffer()
1064 TIFFErrorExt(tif->tif_clientdata, module, in _TIFFReadEncodedTileAndAllocBuffer()
1070 if (!TIFFFillTile(tif,tile)) in _TIFFReadEncodedTileAndAllocBuffer()
1075 TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), in _TIFFReadEncodedTileAndAllocBuffer()
1085 if( (*tif->tif_decodetile)(tif, in _TIFFReadEncodedTileAndAllocBuffer()
1087 (*tif->tif_postdecode)(tif, (uint8*) *buf, size_to_read); in _TIFFReadEncodedTileAndAllocBuffer()
1094 TIFFReadRawTile1(TIFF* tif, uint32 tile, void* buf, tmsize_t size, const char* module) in TIFFReadRawTile1() argument
1096 assert((tif->tif_flags&TIFF_NOREADRAW)==0); in TIFFReadRawTile1()
1097 if (!isMapped(tif)) { in TIFFReadRawTile1()
1100 if (!SeekOK(tif, TIFFGetStrileOffset(tif, tile))) { in TIFFReadRawTile1()
1101 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile1()
1103 (unsigned long) tif->tif_row, in TIFFReadRawTile1()
1104 (unsigned long) tif->tif_col, in TIFFReadRawTile1()
1108 cc = TIFFReadFile(tif, buf, size); in TIFFReadRawTile1()
1111 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile1()
1113 (unsigned long) tif->tif_row, in TIFFReadRawTile1()
1114 (unsigned long) tif->tif_col, in TIFFReadRawTile1()
1118 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile1()
1120 (unsigned long) tif->tif_row, in TIFFReadRawTile1()
1121 (unsigned long) tif->tif_col, in TIFFReadRawTile1()
1130 ma=(tmsize_t)TIFFGetStrileOffset(tif, tile); in TIFFReadRawTile1()
1132 if ((TIFFGetStrileOffset(tif, tile) > (uint64)TIFF_TMSIZE_T_MAX)||(ma>tif->tif_size)) in TIFFReadRawTile1()
1134 else if ((mb<ma)||(mb<size)||(mb>tif->tif_size)) in TIFFReadRawTile1()
1135 n=tif->tif_size-ma; in TIFFReadRawTile1()
1140 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile1()
1142 (unsigned long) tif->tif_row, in TIFFReadRawTile1()
1143 (unsigned long) tif->tif_col, in TIFFReadRawTile1()
1148 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile1()
1150 (unsigned long) tif->tif_row, in TIFFReadRawTile1()
1151 (unsigned long) tif->tif_col, in TIFFReadRawTile1()
1158 _TIFFmemcpy(buf, tif->tif_base + ma, size); in TIFFReadRawTile1()
1167 TIFFReadRawTile(TIFF* tif, uint32 tile, void* buf, tmsize_t size) in TIFFReadRawTile() argument
1170 TIFFDirectory *td = &tif->tif_dir; in TIFFReadRawTile()
1174 if (!TIFFCheckRead(tif, 1)) in TIFFReadRawTile()
1177 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile()
1182 if (tif->tif_flags&TIFF_NOREADRAW) in TIFFReadRawTile()
1184 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadRawTile()
1188 bytecount64 = TIFFGetStrileByteCount(tif, tile); in TIFFReadRawTile()
1192 bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount64, module); in TIFFReadRawTile()
1196 return (TIFFReadRawTile1(tif, tile, buf, bytecountm, module)); in TIFFReadRawTile()
1204 TIFFFillTile(TIFF* tif, uint32 tile) in TIFFFillTile() argument
1207 TIFFDirectory *td = &tif->tif_dir; in TIFFFillTile()
1209 if ((tif->tif_flags&TIFF_NOREADRAW)==0) in TIFFFillTile()
1211 uint64 bytecount = TIFFGetStrileByteCount(tif, tile); in TIFFFillTile()
1214 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillTile()
1219 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillTile()
1234 tmsize_t stripsize = TIFFTileSize(tif); in TIFFFillTile()
1242 TIFFWarningExt(tif->tif_clientdata, module, in TIFFFillTile()
1248 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillTile()
1259 if (isMapped(tif)) { in TIFFFillTile()
1269 if (bytecount > (uint64)tif->tif_size || in TIFFFillTile()
1270 TIFFGetStrileOffset(tif, tile) > (uint64)tif->tif_size - bytecount) { in TIFFFillTile()
1271 tif->tif_curtile = NOTILE; in TIFFFillTile()
1276 if (isMapped(tif) && in TIFFFillTile()
1277 (isFillOrder(tif, td->td_fillorder) in TIFFFillTile()
1278 || (tif->tif_flags & TIFF_NOBITREV))) { in TIFFFillTile()
1290 if ((tif->tif_flags & TIFF_MYBUFFER) && tif->tif_rawdata) { in TIFFFillTile()
1291 _TIFFfree(tif->tif_rawdata); in TIFFFillTile()
1292 tif->tif_rawdata = NULL; in TIFFFillTile()
1293 tif->tif_rawdatasize = 0; in TIFFFillTile()
1295 tif->tif_flags &= ~TIFF_MYBUFFER; in TIFFFillTile()
1297 tif->tif_rawdatasize = (tmsize_t)bytecount; in TIFFFillTile()
1298 tif->tif_rawdata = in TIFFFillTile()
1299 tif->tif_base + (tmsize_t)TIFFGetStrileOffset(tif, tile); in TIFFFillTile()
1300 tif->tif_rawdataoff = 0; in TIFFFillTile()
1301 tif->tif_rawdataloaded = (tmsize_t) bytecount; in TIFFFillTile()
1302 tif->tif_flags |= TIFF_BUFFERMMAP; in TIFFFillTile()
1313 TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow"); in TIFFFillTile()
1316 if (bytecountm > tif->tif_rawdatasize) { in TIFFFillTile()
1317 tif->tif_curtile = NOTILE; in TIFFFillTile()
1318 if ((tif->tif_flags & TIFF_MYBUFFER) == 0) { in TIFFFillTile()
1319 TIFFErrorExt(tif->tif_clientdata, module, in TIFFFillTile()
1325 if (tif->tif_flags&TIFF_BUFFERMMAP) { in TIFFFillTile()
1326 tif->tif_curtile = NOTILE; in TIFFFillTile()
1327 tif->tif_rawdata = NULL; in TIFFFillTile()
1328 tif->tif_rawdatasize = 0; in TIFFFillTile()
1329 tif->tif_flags &= ~TIFF_BUFFERMMAP; in TIFFFillTile()
1332 if( isMapped(tif) ) in TIFFFillTile()
1334 if (bytecountm > tif->tif_rawdatasize && in TIFFFillTile()
1335 !TIFFReadBufferSetup(tif, 0, bytecountm)) in TIFFFillTile()
1339 if (TIFFReadRawTile1(tif, tile, tif->tif_rawdata, in TIFFFillTile()
1347 if (TIFFReadRawStripOrTile2(tif, tile, 0, in TIFFFillTile()
1355 tif->tif_rawdataoff = 0; in TIFFFillTile()
1356 tif->tif_rawdataloaded = bytecountm; in TIFFFillTile()
1358 if (tif->tif_rawdata != NULL && in TIFFFillTile()
1359 !isFillOrder(tif, td->td_fillorder) && in TIFFFillTile()
1360 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFFillTile()
1361 TIFFReverseBits(tif->tif_rawdata, in TIFFFillTile()
1362 tif->tif_rawdataloaded); in TIFFFillTile()
1365 return (TIFFStartTile(tif, tile)); in TIFFFillTile()
1378 TIFFReadBufferSetup(TIFF* tif, void* bp, tmsize_t size) in TIFFReadBufferSetup() argument
1382 assert((tif->tif_flags&TIFF_NOREADRAW)==0); in TIFFReadBufferSetup()
1383 tif->tif_flags &= ~TIFF_BUFFERMMAP; in TIFFReadBufferSetup()
1385 if (tif->tif_rawdata) { in TIFFReadBufferSetup()
1386 if (tif->tif_flags & TIFF_MYBUFFER) in TIFFReadBufferSetup()
1387 _TIFFfree(tif->tif_rawdata); in TIFFReadBufferSetup()
1388 tif->tif_rawdata = NULL; in TIFFReadBufferSetup()
1389 tif->tif_rawdatasize = 0; in TIFFReadBufferSetup()
1392 tif->tif_rawdatasize = size; in TIFFReadBufferSetup()
1393 tif->tif_rawdata = (uint8*) bp; in TIFFReadBufferSetup()
1394 tif->tif_flags &= ~TIFF_MYBUFFER; in TIFFReadBufferSetup()
1396 tif->tif_rawdatasize = (tmsize_t)TIFFroundup_64((uint64)size, 1024); in TIFFReadBufferSetup()
1397 if (tif->tif_rawdatasize==0) { in TIFFReadBufferSetup()
1398 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadBufferSetup()
1404 tif->tif_rawdata = (uint8*) _TIFFcalloc(1, tif->tif_rawdatasize); in TIFFReadBufferSetup()
1405 tif->tif_flags |= TIFF_MYBUFFER; in TIFFReadBufferSetup()
1407 if (tif->tif_rawdata == NULL) { in TIFFReadBufferSetup()
1408 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadBufferSetup()
1410 (unsigned long) tif->tif_row); in TIFFReadBufferSetup()
1411 tif->tif_rawdatasize = 0; in TIFFReadBufferSetup()
1422 TIFFStartStrip(TIFF* tif, uint32 strip) in TIFFStartStrip() argument
1424 TIFFDirectory *td = &tif->tif_dir; in TIFFStartStrip()
1426 if ((tif->tif_flags & TIFF_CODERSETUP) == 0) { in TIFFStartStrip()
1427 if (!(*tif->tif_setupdecode)(tif)) in TIFFStartStrip()
1429 tif->tif_flags |= TIFF_CODERSETUP; in TIFFStartStrip()
1431 tif->tif_curstrip = strip; in TIFFStartStrip()
1432 tif->tif_row = (strip % td->td_stripsperimage) * td->td_rowsperstrip; in TIFFStartStrip()
1433 tif->tif_flags &= ~TIFF_BUF4WRITE; in TIFFStartStrip()
1435 if (tif->tif_flags&TIFF_NOREADRAW) in TIFFStartStrip()
1437 tif->tif_rawcp = NULL; in TIFFStartStrip()
1438 tif->tif_rawcc = 0; in TIFFStartStrip()
1442 tif->tif_rawcp = tif->tif_rawdata; in TIFFStartStrip()
1443 if( tif->tif_rawdataloaded > 0 ) in TIFFStartStrip()
1444 tif->tif_rawcc = tif->tif_rawdataloaded; in TIFFStartStrip()
1446 tif->tif_rawcc = (tmsize_t)TIFFGetStrileByteCount(tif, strip); in TIFFStartStrip()
1448 return ((*tif->tif_predecode)(tif, in TIFFStartStrip()
1457 TIFFStartTile(TIFF* tif, uint32 tile) in TIFFStartTile() argument
1460 TIFFDirectory *td = &tif->tif_dir; in TIFFStartTile()
1463 if ((tif->tif_flags & TIFF_CODERSETUP) == 0) { in TIFFStartTile()
1464 if (!(*tif->tif_setupdecode)(tif)) in TIFFStartTile()
1466 tif->tif_flags |= TIFF_CODERSETUP; in TIFFStartTile()
1468 tif->tif_curtile = tile; in TIFFStartTile()
1471 TIFFErrorExt(tif->tif_clientdata,module,"Zero tiles"); in TIFFStartTile()
1474 tif->tif_row = (tile % howmany32) * td->td_tilelength; in TIFFStartTile()
1477 TIFFErrorExt(tif->tif_clientdata,module,"Zero tiles"); in TIFFStartTile()
1480 tif->tif_col = (tile % howmany32) * td->td_tilewidth; in TIFFStartTile()
1481 tif->tif_flags &= ~TIFF_BUF4WRITE; in TIFFStartTile()
1482 if (tif->tif_flags&TIFF_NOREADRAW) in TIFFStartTile()
1484 tif->tif_rawcp = NULL; in TIFFStartTile()
1485 tif->tif_rawcc = 0; in TIFFStartTile()
1489 tif->tif_rawcp = tif->tif_rawdata; in TIFFStartTile()
1490 if( tif->tif_rawdataloaded > 0 ) in TIFFStartTile()
1491 tif->tif_rawcc = tif->tif_rawdataloaded; in TIFFStartTile()
1493 tif->tif_rawcc = (tmsize_t)TIFFGetStrileByteCount(tif, tile); in TIFFStartTile()
1495 return ((*tif->tif_predecode)(tif, in TIFFStartTile()
1500 TIFFCheckRead(TIFF* tif, int tiles) in TIFFCheckRead() argument
1502 if (tif->tif_mode == O_WRONLY) { in TIFFCheckRead()
1503 TIFFErrorExt(tif->tif_clientdata, tif->tif_name, "File not open for reading"); in TIFFCheckRead()
1506 if (tiles ^ isTiled(tif)) { in TIFFCheckRead()
1507 TIFFErrorExt(tif->tif_clientdata, tif->tif_name, tiles ? in TIFFCheckRead()
1524 int TIFFReadFromUserBuffer(TIFF* tif, uint32 strile, in TIFFReadFromUserBuffer() argument
1529 TIFFDirectory *td = &tif->tif_dir; in TIFFReadFromUserBuffer()
1531 uint32 old_tif_flags = tif->tif_flags; in TIFFReadFromUserBuffer()
1532 tmsize_t old_rawdatasize = tif->tif_rawdatasize; in TIFFReadFromUserBuffer()
1533 void* old_rawdata = tif->tif_rawdata; in TIFFReadFromUserBuffer()
1535 if (tif->tif_mode == O_WRONLY) { in TIFFReadFromUserBuffer()
1536 TIFFErrorExt(tif->tif_clientdata, tif->tif_name, "File not open for reading"); in TIFFReadFromUserBuffer()
1539 if (tif->tif_flags&TIFF_NOREADRAW) in TIFFReadFromUserBuffer()
1541 TIFFErrorExt(tif->tif_clientdata, module, in TIFFReadFromUserBuffer()
1546 tif->tif_flags &= ~TIFF_MYBUFFER; in TIFFReadFromUserBuffer()
1547 tif->tif_flags |= TIFF_BUFFERMMAP; in TIFFReadFromUserBuffer()
1548 tif->tif_rawdatasize = insize; in TIFFReadFromUserBuffer()
1549 tif->tif_rawdata = inbuf; in TIFFReadFromUserBuffer()
1550 tif->tif_rawdataoff = 0; in TIFFReadFromUserBuffer()
1551 tif->tif_rawdataloaded = insize; in TIFFReadFromUserBuffer()
1553 if (!isFillOrder(tif, td->td_fillorder) && in TIFFReadFromUserBuffer()
1554 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFReadFromUserBuffer()
1559 if( TIFFIsTiled(tif) ) in TIFFReadFromUserBuffer()
1561 if( !TIFFStartTile(tif, strile) || in TIFFReadFromUserBuffer()
1562 !(*tif->tif_decodetile)(tif, (uint8*) outbuf, outsize, in TIFFReadFromUserBuffer()
1575 if( !TIFFStartStrip(tif, strile) || in TIFFReadFromUserBuffer()
1576 !(*tif->tif_decodestrip)(tif, (uint8*) outbuf, outsize, in TIFFReadFromUserBuffer()
1584 (*tif->tif_postdecode)(tif, (uint8*) outbuf, outsize); in TIFFReadFromUserBuffer()
1587 if (!isFillOrder(tif, td->td_fillorder) && in TIFFReadFromUserBuffer()
1588 (tif->tif_flags & TIFF_NOBITREV) == 0) in TIFFReadFromUserBuffer()
1593 tif->tif_flags = old_tif_flags; in TIFFReadFromUserBuffer()
1594 tif->tif_rawdatasize = old_rawdatasize; in TIFFReadFromUserBuffer()
1595 tif->tif_rawdata = old_rawdata; in TIFFReadFromUserBuffer()
1596 tif->tif_rawdataoff = 0; in TIFFReadFromUserBuffer()
1597 tif->tif_rawdataloaded = 0; in TIFFReadFromUserBuffer()
1603 _TIFFNoPostDecode(TIFF* tif, uint8* buf, tmsize_t cc) in _TIFFNoPostDecode() argument
1605 (void) tif; (void) buf; (void) cc; in _TIFFNoPostDecode()
1609 _TIFFSwab16BitData(TIFF* tif, uint8* buf, tmsize_t cc) in _TIFFSwab16BitData() argument
1611 (void) tif; in _TIFFSwab16BitData()
1617 _TIFFSwab24BitData(TIFF* tif, uint8* buf, tmsize_t cc) in _TIFFSwab24BitData() argument
1619 (void) tif; in _TIFFSwab24BitData()
1625 _TIFFSwab32BitData(TIFF* tif, uint8* buf, tmsize_t cc) in _TIFFSwab32BitData() argument
1627 (void) tif; in _TIFFSwab32BitData()
1633 _TIFFSwab64BitData(TIFF* tif, uint8* buf, tmsize_t cc) in _TIFFSwab64BitData() argument
1635 (void) tif; in _TIFFSwab64BitData()