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