man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_VectorAve_S16 (3MLIB)

Name

mlib_VectorAve_U8, mlib_VectorAve_U8C, mlib_VectorAve_S8, mlib_VectorAve_S8C, mlib_VectorAve_S16, mlib_VectorAve_S16C, mlib_VectorAve_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 also

mlib_VectorAve_U8_U8(3MLIB), attributes(5)