mediaLib Library Functions mlibMatrixMulShiftU8Mod(3MLIB)
NAME
mlibMatrixMulShiftU8Mod, mlibMatrixMulShiftU8Sat,
mlibMatrixMulShiftU8CMod, mlibMatrixMulShiftU8CSat,
mlibMatrixMulShiftS8Mod, mlibMatrixMulShiftS8Sat,
mlibMatrixMulShiftS8CMod, mlibMatrixMulShiftS8CSat,
mlibMatrixMulShiftS16Mod, mlibMatrixMulShiftS16Sat,
mlibMatrixMulShiftS16CMod,
mlibMatrixMulShiftS16CSat, mlibMatrixMulShiftS32Mod,
mlibMatrixMulShiftS32Sat, mlibMatrixMulShiftS32CMod,
mlibMatrixMulShiftS32CSat - matrix multiplication by
scalar plus shifting, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibMatrixMulShiftU8Mod(mlibu8 *xz,
const mlibu8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftU8Sat(mlibu8 *xz,
const mlibu8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftU8CMod(mlibu8 *xz,
const mlibu8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftU8CSat(mlibu8 *xz,
const mlibu8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS8Mod(mlibs8 *xz,
const mlibs8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS8Sat(mlibs8 *xz,
const mlibs8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS8CMod(mlibs8 *xz,
const mlibs8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS8CSat(mlibs8 *xz,
const mlibs8 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS16Mod(mlibs16 *xz,
const mlibs16 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlibMatrixMulShiftU8Mod(3MLIB)
mlibstatus mlibMatrixMulShiftS16Sat(mlibs16 *xz,
const mlibs16 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS16CMod(mlibs16 *xz,
const mlibs16 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS16CSat(mlibs16 *xz,
const mlibs16 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS32Mod(mlibs32 *xz,
const mlibs32 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS32Sat(mlibs32 *xz,
const mlibs32 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS32CMod(mlibs32 *xz,
const mlibs32 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
mlibstatus mlibMatrixMulShiftS32CSat(mlibs32 *xz,
const mlibs32 *c, mlibs32 m, mlibs32 n, mlibs32 shift);
DESCRIPTION
Each of these functions performs an in-place multiplication
of a matrix with a scalar and shifts the result.
For real data, the following equation is used:
xz[i] = c[0]*xz[i]*2**(-shift)
where i = 0, 1, ..., (m*n - 1).
For complex data, the following equation is used:
tmp = xz[2*i]
xz[2*i] = (c[0]*tmp - c[1]*xz[2*i ] 1])*2**(-shift)
xz[2*i ] 1] = (c[1]*tmp ] c[0]*xz[2*i ] 1])*2**(-shift)
where i = 0, 1, ..., (m*n - 1).
SunOS 5.11 Last change: 2 Mar 2007 2
mediaLib Library Functions mlibMatrixMulShiftU8Mod(3MLIB)
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
PARAMETERS
Each of the functions takes the following arguments:
xz Pointer to the source and destination matrix.
c Pointer to the source scalar. When the function is
used with complex data types, c[0] contains the
scalar for the real part, and c[1] contains the
scalar for the imaginary part.
m Number of rows in each matrix.
n Number of columns in each matrix.
shift Right shifting factor.
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
mlibMatrixMulShiftU8U8Mod(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 3
|