TIFFDEFERSTRILEARRAYWRITING(3tiff)

NAME
TIFFDeferStrileArrayWriting - 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() <#c.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() <#c.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() <#c.TIFFErrorExtR> routine. Likewise, warning messages are directed to the TIFFWarningExtR() <#c.TIFFWarningExtR> routine.

NOTE

This functionality was introduced with libtiff 4.1.

SEE ALSO

libtiff <> (3tiff)

Author
LibTIFF contributors

Copyright
1988-2025, LibTIFF contributors