TIFFDeferStrileArrayWriting(3tiff)

TIFFDeferStrileArrayWriting3tiff

Defer strile array writing

Usage

#include <tiffio.h>
int TIFFDeferStrileArrayWriting(TIFF *tif)
int TIFFForceStrileArrayWriting(TIFF *tif)

Overview

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.

Note

This functionality was introduced with libtiff 4.1.

Releases

2 releases since Debian 12 (Bookworm); the text changed 1 time.

  1. 12
  2. 13

Author

LibTIFF contributors

From libtiff-dev 4.7.0-3+deb13u3 in Debian 13 (Trixie). Parsed by carta from the page's man source.