mlib_ImageColorErrorDiffusmediaLibMLibrmlib_ImageColorErrorDiffusion3x3(3MLIB)NAMEmlib_ImageColorErrorDiffusion3x3 - true color to indexed color conver‐
sion using error diffusion
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_ImageColorErrorDiffusion3x3(mlib_image *dst,
const mlib_image *src, const mlib_s32 *kernel, mlib_s32 scale,
const void *colormap);
DESCRIPTION
The mlib_ImageColorErrorDiffusion3x3() function converts a true color
image to a pseudo color image with the method of error diffusion
dithering. The source image can be an MLIB_BYTE or MLIB_SHORT image
with three or four channels. The destination must be a single-channel
MLIB_BYTE or MLIB_SHORT image.
The last parameter, colormap, is an internal data structure for inverse
color mapping. Create it by calling the mlib_ImageColorTrue2IndexInit()
function.
PARAMETERS
The function takes the following arguments:
dst Pointer to destination or destination image.
src Pointer to source or source image.
kernel Pointer to the 3x3 error-distribution kernel, in row major
order.
scale The scaling factor for kernel to convert the input integer
coefficients into floating-point coefficients:
floating-point coefficient = integer coefficient * \
2**(-scale)
colormap Internal data structure for inverse color mapping.
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_ImageColorOrderedDither8x8(3MLIB), mlib_ImageCol‐
orTrue2Index(3MLIB), mlib_ImageColorTrue2IndexFree(3MLIB), mlib_Image‐
ColorTrue2IndexInit(3MLIB), attributes(5)SunOS 5.10 2 Marmlib_ImageColorErrorDiffusion3x3(3MLIB)