mlib_ImageConstDivShift_Inp(3MLIB) mediaLib Library Functions mlib_ImageConstDivShift_Inp(3MLIB)
NAME
mlib_ImageConstDivShift_Inp - division into a constant, with shifting
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageConstDivShift_Inp(mlib_image *srcdst, const mlib_s32 *c, mlib_s32 shift);
DESCRIPTION
The mlib_ImageConstDivShift_Inp() function divides each pixel in an image into a constant value on a pixel-by-pixel basis, in place. It
scales the result by a left shift and writes the result to the image on a pixel-by-pixel basis.
It uses the following equation:
srcdst[x][y][i] = c[i] / srcdst[x][y][i] * 2**shift
In the case of srcdst[x][y][i] = 0,
srcdst[x][y][i] = 0 if c[i] = 0
srcdst[x][y][i] = DATA_TYPE_MAX if c[i] > 0
srcdst[x][y][i] = DATA_TYPE_MIN if c[i] < 0
where DATA_TYPE is MLIB_U8, MLIB_S16, MLIB_U16, or MLIB_S32 for an image of type MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, or MLIB_INT, respec-
tively.
PARAMETERS
The function takes the following arguments:
srcdst Pointer to source and destination image.
c Constant into which each pixel is divided. c[i] contains the constant for channel i.
shift Left shifting factor. 0 <= shift <= 31.
RETURN VALUES
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
mlib_ImageConstDiv(3MLIB), mlib_ImageConstDiv_Fp(3MLIB), mlib_ImageConstDiv_Fp_Inp(3MLIB), mlib_ImageConstDiv_Inp(3MLIB), mlib_ImageConst-
DivShift(3MLIB), attributes(5)
SunOS 5.10 10 Nov 2004 mlib_ImageConstDivShift_Inp(3MLIB)