The following routines are provided for client-control of the I/O buffers used by the library.
Applications need never use these routines; they are provided only for "intelligent clients" that wish to
optimize memory usage and/or eliminate potential copy operations that can occur when working with images
that have data stored without compression.
TIFFReadBufferSetup() sets up the data buffer used to read raw (encoded) data from a file. If the
specified pointer is NULL (zero), then a buffer of the appropriate size is allocated. Otherwise the
caller must guarantee that the buffer is large enough to hold any individual strip of raw data.
TIFFReadBufferSetup() returns a non-zero value if the setup was successful and zero otherwise.
TIFFWriteBufferSetup() sets up the data buffer used to write raw (encoded) data to a file. If the
specified size is -1, then the buffer size is selected to hold a complete tile or strip, or at least 8
kilobytes, whichever is greater. If the specified buffer is NULL (zero), then a buffer of the appropriate
size is dynamically allocated. TIFFWriteBufferSetup() returns a non-zero value if the setup was
successful and zero otherwise.