TIFFswab - byte- and bit-swapping routines
Contents
Copyright
1988-2022, LibTIFF contributors
4.7 Apr 30, 2025 TIFFSWAB(3tiff)
Description
The following routines are used by the library to swap 16-, 32- and 64-bit data and to reverse the order
of bits in bytes.
TIFFSwabShort() and TIFFSwabLong() and TIFFSwabFloat() swap the bytes in a single 16- and 32-bit item,
respectively.
TIFFSwabLong8() and TIFFSwabDouble() swap the bytes in a single 64-bit item.
TIFFSwabArrayOfTriples() swap the first and the third byte of each triple (three bytes) within the byte
array. The second byte of each triple stays untouched.
TIFFSwabArrayOfShort() and TIFFSwabArrayOfLong(), TIFFSwabArrayOfFloat() swap the bytes in an array of
16- and 32-bit items, respectively.
TIFFSwabArrayOfLong8() and TIFFSwabArrayOfDouble() swap the bytes in an array of 64-bit items.
TIFFReverseBits() replaces each byte in data with the equivalent bit-reversed value. This operation is
performed with a lookup table, which is returned using the TIFFGetBitRevTable() function. The reversed
parameter specifies which table should be returned. Supply 1 if you want bit reversal table. Supply 0 to
get the table that do not reverse bit values. It is a lookup table that can be used as an "identity
function"; i.e. TIFFNoBitRevTable[n] == n.
Diagnostics
None.
Name
TIFFswab - byte- and bit-swapping routines
See Also
libtiff (3tiff)
Synopsis
#include <tiffio.h>
constunsignedchar*TIFFGetBitRevTable(intreversed)voidTIFFReverseBits(u_char*data,unsignedlongnbytes)voidTIFFSwabShort(uint16_t*data)voidTIFFSwabLong(uint32_t*data)voidTIFFSwabLong8(uint64_t*lp)voidTIFFSwabFloat(float*fp)voidTIFFSwabDouble(double*dp)voidTIFFSwabArrayOfShort(uint16_t*wp,tmsize_tn)voidTIFFSwabArrayOfTriples(uint8_t*tp,tmsize_tn)voidTIFFSwabArrayOfLong(uint32_t*lp,tmsize_tn)voidTIFFSwabArrayOfLong8(uint64_t*lp,tmsize_tn)voidTIFFSwabArrayOfFloat(float*fp,tmsize_tn)voidTIFFSwabArrayOfDouble(double*dp,tmsize_tn)