mlib_MatrixAve_U8_U8(3MLIBmediaLib Library Functionmlib_MatrixAve_U8_U8(3MLIB)NAME
mlib_MatrixAve_U8_U8, mlib_MatrixAve_U8C_U8C, mlib_MatrixAve_S8_S8,
mlib_MatrixAve_S8C_S8C, mlib_MatrixAve_S16_U8, mlib_MatrixAve_S16_S8,
mlib_MatrixAve_S16_S16, mlib_MatrixAve_S16C_U8C, mlib_Matrix‐
Ave_S16C_S8C, mlib_MatrixAve_S16C_S16C, mlib_MatrixAve_S32_S16,
mlib_MatrixAve_S32_S32, mlib_MatrixAve_S32C_S16C, mlib_Matrix‐
Ave_S32C_S32C - matrix average
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_MatrixAve_U8_U8(mlib_u8 *z, const mlib_u8 *x,
const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_U8C_U8C(mlib_u8 *z, const mlib_u8 *x,
const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S8_S8(mlib_s8 *z, const mlib_s8 *x,
const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S8C_S8C(mlib_s8 *z, const mlib_s8 *x,
const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16_U8(mlib_s16 *z, const mlib_u8 *x,
const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16_S8(mlib_s16 *z, const mlib_s8 *x,
const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16_S16(mlib_s16 *z, const mlib_s16 *x,
const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16C_U8C(mlib_s16 *z, const mlib_u8 *x,
const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16C_S8C(mlib_s16 *z, const mlib_s8 *x,
const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S16C_S16C(mlib_s16 *z,
const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S32_S16(mlib_s32 *z, const mlib_s16 *x,
const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S32_S32(mlib_s32 *z, const mlib_s32 *x,
const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S32C_S16C(mlib_s32 *z,
const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixAve_S32C_S32C(mlib_s32 *z, const mlib_s32 *x,
const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
DESCRIPTION
Each of these functions computes the average of the first source matrix
and the second source matrix and writes the output to the destination
matrix.
It uses the following equation:
z[i] = (x[i] + y[i] + 1) / 2
where i = 0, 1, ..., (m*n - 1) for real data; i = 0, 1, ..., (m*n*2 -
1) for complex data.
PARAMETERS
Each of the functions takes the following arguments:
z Pointer to the destination matrix.
x Pointer to the first source matrix.
y Pointer to the second source matrix.
m Number of rows in the matrices.
n Number of columns in the matrices.
RETURN VALUES
Each of the functions 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_MatrixAve_U8(3MLIB), attributes(5)SunOS 5.11 23 May 2007 mlib_MatrixAve_U8_U8(3MLIB)