mlib_ImageDivShift2_Inp(3MmediaLib Library Functmlib_ImageDivShift2_Inp(3MLIB)NAMEmlib_ImageDivShift2_Inp - division with shifting, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageDivShift2_Inp(mlib_image *src2dst,
const mlib_image *src1, mlib_s32 shift);
DESCRIPTION
The mlib_ImageDivShift2_Inp() function divides the second source image
into the first source image on a pixel-by-pixel basis. It scales the
result by a left shift and writes the result to the destination image
on a pixel-by-pixel basis.
It uses the following equation:
src2dst[x][y][i] = src1[x][y][i] / src2dst[x][y][i] * 2**shift
In the case of src2dst[x][y][i] = 0,
src2dst[x][y][i] = 0 if src1[x][y][i] = 0
src2dst[x][y][i] = DATA_TYPE_MAX if src1[x][y][i] > 0
src2dst[x][y][i] = DATA_TYPE_MIN if src1[x][y][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:
src2dst Pointer to second source and destination image.
src1 Pointer to first source image.
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 │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmlib_ImageDivShift(3MLIB), mlib_ImageDivShift1_Inp(3MLIB),
attributes(5)SunOS 5.10 2 Mar 2007 mlib_ImageDivShift2_Inp(3MLIB)