Sponsor:

Your company here, and a link to your site. Click to find out more.

TIFFDeferStrileArrayWriting.3tiff - Man Page

defer strile array writing

Synopsis

#include <tiffio.h>

int TIFFDeferStrileArrayWriting(TIFF *tif)

int TIFFForceStrileArrayWriting(TIFF *tif)

Description

TIFFDeferStrileArrayWriting() is an advanced writing function that must be used in a particular sequence, and generally together with  TIFFForceStrileArrayWriting(), to achieve its intended effect. Their aim is to control when and where the StripOffsets / StripByteCounts or TileOffsets / TileByteCounts arrays are written into the file.

The purpose of this is to generate ‘cloud-optimized geotiff’ files where the first KB of the file only contain the IFD entries without the potentially large strile arrays. Those are written afterwards.

More precisely, when TIFFWriteCheck() is called, the tag entries for those arrays will be written with type = count = offset = 0 as a temporary value.

Its effect is only valid for the current directory, and before TIFFWriteDirectory() is first called, and  will be reset when changing directory.

The typical sequence of calls is:

TIFFOpen()
/* or TIFFCreateDirectory(tif) */
/* Set fields with calls to TIFFSetField(tif, ...) */
TIFFDeferStrileArrayWriting(tif)
TIFFWriteCheck(tif, ...)
TIFFWriteDirectory(tif)
/* ... potentially create other directories and come back to the above directory */
TIFFForceStrileArrayWriting(tif) /* emit the arrays at the end of file */

Returns

1 in case of success, 0 otherwise.

Diagnostics

All error messages are directed to the TIFFErrorExtR() routine. Likewise, warning messages are directed to the TIFFWarningExtR() routine.

See Also

libtiff (3tiff)

Author

LibTIFF contributors

Info

Sep 08, 2023 4.6 LibTIFF