Go to main content

man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2017
 
 

mlib_ImageDivShift (3MLIB)

Name

mlib_ImageDivShift - division with shifting

Synopsis

cc [ flag... ] file... –lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageDivShift(mlib_image *dst, const mlib_image *src1,
     const mlib_image *src2, mlib_s32 shift);

Description

The mlib_ImageDivShift() 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:

dst[x][y][i] = src1[x][y][i] / src2[x][y][i] * 2**shift

In the case of src2[x][y][i] = 0,

dst[x][y][i] = 0              if src1[x][y][i] = 0
dst[x][y][i] = DATA_TYPE_MAX  if src1[x][y][i] > 0
dst[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, respectively.

Parameters

The function takes the following arguments:

dst

Pointer to destination image.

src1

Pointer to first source image.

src2

Pointer to second 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 Also

mlib_ImageDivShift1_Inp(3MLIB), mlib_ImageDivShift2_Inp(3MLIB), attributes(5)