mediaLib Library Functions mlibVectorMulShiftU8Mod(3MLIB)
NAME
mlibVectorMulShiftU8Mod, mlibVectorMulShiftU8Sat,
mlibVectorMulShiftU8CMod, mlibVectorMulShiftU8CSat,
mlibVectorMulShiftS8Mod, mlibVectorMulShiftS8Sat,
mlibVectorMulShiftS8CMod, mlibVectorMulShiftS8CSat,
mlibVectorMulShiftS16Mod, mlibVectorMulShiftS16Sat,
mlibVectorMulShiftS16CMod,
mlibVectorMulShiftS16CSat, mlibVectorMulShiftS32Mod,
mlibVectorMulShiftS32Sat, mlibVectorMulShiftS32CMod,
mlibVectorMulShiftS32CSat - vector multiplication by
scalar plus shifting, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibVectorMulShiftU8Mod(mlibu8 *xz,
const mlibu8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftU8Sat(mlibu8 *xz,
const mlibu8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftU8CMod(mlibu8 *xz,
const mlibu8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftU8CSat(mlibu8 *xz,
const mlibu8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS8Mod(mlibs8 *xz,
const mlibs8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS8Sat(mlibs8 *xz,
const mlibs8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS8CMod(mlibs8 *xz,
const mlibs8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS8CSat(mlibs8 *xz,
const mlibs8 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS16Mod(mlibs16 *xz,
const mlibs16 *c, mlibs32 n, mlibs32 shift);
SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlibVectorMulShiftU8Mod(3MLIB)
mlibstatus mlibVectorMulShiftS16Sat(mlibs16 *xz,
const mlibs16 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS16CMod(mlibs16 *xz,
const mlibs16 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS16CSat(mlibs16 *xz,
const mlibs16 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS32Mod(mlibs32 *xz,
const mlibs32 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS32Sat(mlibs32 *xz,
const mlibs32 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS32CMod(mlibs32 *xz,
const mlibs32 *c, mlibs32 n, mlibs32 shift);
mlibstatus mlibVectorMulShiftS32CSat(mlibs32 *xz,
const mlibs32 *c, mlibs32 n, mlibs32 shift);
DESCRIPTION
Each of these functions performs an in-place multiplication
of a vector by a scalar and shifts the result.
For real data, the following equation is used:
xz[i] = xz[i] * c[0] * 2**(-shift)
where i = 0, 1, ..., (n - 1).
For complex data, the following equation is used:
tmp = xz[2*i]
xz[2*i] = (tmp*c[0] - xz[2*i ] 1]*c[1]) * 2**(-shift)
xz[2*i ] 1] = (tmp*c[1] ] xz[2*i ] 1]*c[0]) * 2**(-shift)
where i = 0, 1, ..., (n - 1).
SunOS 5.11 Last change: 2 Mar 2007 2
mediaLib Library Functions mlibVectorMulShiftU8Mod(3MLIB)
PARAMETERS
Each of the functions takes the following arguments:
xz Pointer to the first element of the source and
result vector.
c Pointer to the source scalar. When the function is
used with complex data types, c[0] contains the
real part of the scalar, and c[1] contains the ima-
ginary part of the scalar.
n Number of elements in each vector.
shift Right shifting factor. The ranges of valid shift
are:
1 < shift < 8 for U8, S8, U8C, S8C types
1 < shift < 16 for S16, S16C types
1 < shift < 31 for S32, S32C types
RETURN VALUES
Each of the functions returns MLIBSUCES if successful.
Otherwise it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibVectorMulShiftU8U8Mod(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 3
|