mediaLib Library Functions mlibImageLookUp(3MLIB)
NAME
mlibImageLookUp - table lookup
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibImageLookUp(mlibimage *dst, const mlibimage *src,
const void **table);
DESCRIPTION
The mlibImageLookUp() 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
MLIBIT Y
MLIBYTE Y Y Y Y Y Y
MLIBSHORT Y Y Y Y Y Y
MLIBUSHORT Y Y Y Y Y Y
MLIBINT 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 mlibImageLookUp(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 MLIBIT type entries are indexed from 0 to 1.
The MLIBYTE type entries are indexed from 0 to
255. The MLIBSHORT type entries are indexed from
-32768 to -1, then from 0 to 32767. The MLIBUSHORT
type entries are indexed from 0 to 65535. The
MLIBINT 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 is
mostly true for doing table lookup with an MLIBINT
input image, a smaller table can be used. In this
case, the pointer to the table has to be adjusted
as if it is pointing to the element for the smal-
lest value of the input data type. For example, to
use a table covering input data range of [-65536,
65535], the pointer needs to be adjusted as fol-
lows:
table1632[0] ]= MLIBS32MIN ] 65536;
This might cause a pointer arithmetic overflow in
32-bit mode, but probably works if the overflow is
handled as a wrap-around. If possible, function
mlibImageLookUp2() should be used instead.
RETURN VALUES
The function returns MLIBSUCES if successful. Otherwise
it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 12 Sep 2007 2
mediaLib Library Functions mlibImageLookUp(3MLIB)
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibImageLookUpInp(3MLIB), mlibImageLookUp2(3MLIB),
mlibImageLookUpMask(3MLIB), attributes(5)
SunOS 5.11 Last change: 12 Sep 2007 3
|