mediaLib Library Functions mlib_ImageLookUp(3MLIB)
NAME
mlib_ImageLookUp - table lookup
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlib_status mlib_ImageLookUp(mlib_image *dst, const mlib_image *src,
const void **table);DESCRIPTION
The mlib_ImageLookUp() function maps the source image to the
destination image by using the user-specified lookup table.
The source and destination images must have the same width and height. The source image can be a single channel image or can have the same number of channels as the destination image. One of the following equations is used accordingly: dst[x][y][i] = table[i][src[x][y][0]] dst[x][y][i] = table[i][src[x][y][i]] The source and destination images can have different data types. See the following table for available variations of the table lookup function on image types: Type [*] BYTE SHORT USHORT INT FLOAT DOUBLE_______________________________________________________________________________________
MLIB_BIT Y
MLIB_BYTE Y Y Y Y Y Y
_______________________________________________________________________________________
MLIB_SHORT Y Y Y Y Y Y
_______________________________________________________________________________________
MLIB_USHORT Y Y Y Y Y Y
_______________________________________________________________________________________
MLIB_INT Y Y Y Y Y Y
[*] Each row represents a source data type. Each column represents a destination data type.PARAMETERS
The function takes the following arguments:SunOS 5.11 Last change: 12 Sep 2007 1
mediaLib Library Functions mlib_ImageLookUp(3MLIB)
dst Pointer to destination image. src Pointer to source image. table Pointer to lookup table. The data type of the lookup table is the same as the destination image.The number of entries in the lookup table is deter-
mined by the type of the input image. The format of the lookup table is: table[channel][index]The MLIB_BIT type entries are indexed from 0 to 1.
The MLIB_BYTE type entries are indexed from 0 to
255. The MLIB_SHORT type entries are indexed from
-32768 to -1, then from 0 to 32767. The MLIB_USHORT
type entries are indexed from 0 to 65535. TheMLIB_INT type entries are indexed from -2147483648
to -1, and then from 0 to 2147483647.
If a table covering the full range of input data type is not available or not realistic, which ismostly true for doing table lookup with an MLIB_INT
input image, a smaller table can be used. In this case, the pointer to the table has to be adjustedas if it is pointing to the element for the smal-
lest value of the input data type. For example, touse a table covering input data range of [-65536,
65535], the pointer needs to be adjusted as fol-
lows:table_16_32[0] += MLIB_S32_MIN + 65536;
This might cause a pointer arithmetic overflow in32-bit mode, but probably works if the overflow is
handled as a wrap-around. If possible, function
mlib_ImageLookUp2() should be used instead.
RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise
it returns MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 12 Sep 2007 2
mediaLib Library Functions mlib_ImageLookUp(3MLIB)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
mlib_ImageLookUp_Inp(3MLIB), mlib_ImageLookUp2(3MLIB),
mlib_ImageLookUpMask(3MLIB), attributes(5)
SunOS 5.11 Last change: 12 Sep 2007 3