# mlib_imagedivalpha_inp(3mlib) [sunos man page]

```mlib_ImageDivAlpha_Inp(3MLIB)				    mediaLib Library Functions				     mlib_ImageDivAlpha_Inp(3MLIB)

NAME
mlib_ImageDivAlpha_Inp - alpha channel division, in place

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

DESCRIPTION
The mlib_ImageDivAlpha_Inp() function divides color channels by the alpha channel on a pixel-by-pixel basis, in place.

For the MLIB_BYTE image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-8))

For the MLIB_SHORT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-15))

For the MLIB_USHORT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-16))

For the MLIB_INT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-31))

where c and a are the indices for the color channels and the alpha channel, respectively, so c != a.

In the case of srcdst[x][y][a] = 0,

srcdst[x][y][c] = 0		if srcdst[x][y][c] = 0
srcdst[x][y][c] = DATA_TYPE_MAX	if srcdst[x][y][c] > 0
srcdst[x][y][c] = DATA_TYPE_MIN	if srcdst[x][y][c] < 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.

cmask	       Channel mask to indicate the alpha channel. Each bit of the mask represents a channel in the image. The channel correspond-
ing to the 1 bit of cmask is the alpha channel.

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			   |
+-----------------------------+-----------------------------+

mlib_ImageDivAlpha(3MLIB), mlib_ImageDivAlpha_Fp(3MLIB), mlib_ImageDivAlpha_Fp_Inp(3MLIB), attributes(5)

SunOS 5.10							    10 Nov 2004 				     mlib_ImageDivAlpha_Inp(3MLIB)```

## Check Out this Related Man Page

```mlib_ImageDivAlpha_Inp(3MLIB)				    mediaLib Library Functions				     mlib_ImageDivAlpha_Inp(3MLIB)

NAME
mlib_ImageDivAlpha_Inp - alpha channel division, in place

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

DESCRIPTION
The mlib_ImageDivAlpha_Inp() function divides color channels by the alpha channel on a pixel-by-pixel basis, in place.

For the MLIB_BYTE image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-8))

For the MLIB_SHORT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-15))

For the MLIB_USHORT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-16))

For the MLIB_INT image, it uses the following equation:

srcdst[x][y][c] = srcdst[x][y][c] / (srcdst[x][y][a] * 2**(-31))

where c and a are the indices for the color channels and the alpha channel, respectively, so c != a.

In the case of srcdst[x][y][a] = 0,

srcdst[x][y][c] = 0		  if srcdst[x][y][c] = 0
srcdst[x][y][c] = DATA_TYPE_MAX  if srcdst[x][y][c] > 0
srcdst[x][y][c] = DATA_TYPE_MIN  if srcdst[x][y][c] < 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.

cmask	 Channel mask to indicate the alpha channel. Each bit of the mask represents a channel in the image. The channel corresponding	to
the 1 bit of cmask is the alpha channel.

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			   |
+-----------------------------+-----------------------------+