TIFFSWAB(3tiff)

NAME
TIFFswab - byte- and bit-swapping routines

SYNOPSIS

    #include <tiffio.h>

const unsigned char *TIFFGetBitRevTable(int reversed)

void TIFFReverseBits(u_char *data, unsigned long nbytes)

void TIFFSwabShort(uint16_t *data)

void TIFFSwabLong(uint32_t *data)

void TIFFSwabLong8(uint64_t *lp)

void TIFFSwabFloat(float *fp)

void TIFFSwabDouble(double *dp)

void TIFFSwabArrayOfShort(uint16_t *wp, tmsize_t n)

void TIFFSwabArrayOfTriples(uint8_t *tp, tmsize_t n)

void TIFFSwabArrayOfLong(uint32_t *lp, tmsize_t n)

void TIFFSwabArrayOfLong8(uint64_t *lp, tmsize_t n)

void TIFFSwabArrayOfFloat(float *fp, tmsize_t n)

void TIFFSwabArrayOfDouble(double *dp, tmsize_t n)

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.

SEE ALSO

libtiff (3tiff)

AUTHOR
LibTIFF contributors

COPYRIGHT
1988-2025, LibTIFF contributors