mlib_VectorAve_U8(3MLIB) mediaLib Library Functions mlib_VectorAve_U8(3MLIB)NAME
mlib_VectorAve_U8, mlib_VectorAve_U8C, mlib_VectorAve_S8, mlib_Vec‐
torAve_S8C, mlib_VectorAve_S16, mlib_VectorAve_S16C, mlib_Vec‐
torAve_S32, mlib_VectorAve_S32C - vector average, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_VectorAve_U8(mlib_u8 *xz,
const mlib_u8 *y, mlib_s32 n);
mlib_status mlib_VectorAve_U8C(mlib_u8 *xz,
const mlib_u8 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S8(mlib_s8 *xz,
const mlib_s8 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S8C(mlib_s8 *xz,
const mlib_s8 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S16(mlib_s16 *xz,
const mlib_s16 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S16C(mlib_s16 *xz,
const mlib_s16 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S32(mlib_s32 *xz,
const mlib_s32 *y, mlib_s32 n);
mlib_status mlib_VectorAve_S32C(mlib_s32 *xz,
const mlib_s32 *y, mlib_s32 n);
DESCRIPTION
Each of these functions performs an in-place averaging of two vectors.
It uses the following equation:
xz[i] = (xz[i] + y[i] + 1) / 2
where i = 0, 1, ..., (n - 1) for real data; i = 0, 1, ..., (2*n - 1)
for complex data.
PARAMETERS
Each of the functions takes the following arguments:
xz Pointer to the first element of the first source and destination
vector.
y Pointer to the first element of the second source vector.
n Number of elements in the vectors.
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_VectorAve_U8_U8(3MLIB), attributes(5)SunOS 5.10 23 May 2007 mlib_VectorAve_U8(3MLIB)