man pages section 3: Multimedia Library Functions
Updated: July 2014

## mlib_ImageMulAlpha_Inp (3MLIB)

### Name

mlib_ImageMulAlpha_Inp - alpha channel multiplication, in place

### Synopsis

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

### Description

The mlib_ImageMulAlpha_Inp() function multiplies 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.

### Parameters

The function takes the following arguments:

srcdst

Pointer to source and destination image.

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