'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_MatrixAve_U8_U8 3MLIB "23 May 2007" "SunOS 5.11" "mediaLib Library Functions" .SH 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_MatrixAve_S16C_S8C, mlib_MatrixAve_S16C_S16C, mlib_MatrixAve_S32_S16, mlib_MatrixAve_S32_S32, mlib_MatrixAve_S32C_S16C, mlib_MatrixAve_S32C_S32C \- matrix average .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_MatrixAve_U8_U8\fR(\fBmlib_u8 *\fR\fIz\fR, \fBconst mlib_u8 *\fR\fIx\fR, \fBconst mlib_u8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_U8C_U8C\fR(\fBmlib_u8 *\fR\fIz\fR, \fBconst mlib_u8 *\fR\fIx\fR, \fBconst mlib_u8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S8_S8\fR(\fBmlib_s8 *\fR\fIz\fR, \fBconst mlib_s8 *\fR\fIx\fR, \fBconst mlib_s8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S8C_S8C\fR(\fBmlib_s8 *\fR\fIz\fR, \fBconst mlib_s8 *\fR\fIx\fR, \fBconst mlib_s8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16_U8\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_u8 *\fR\fIx\fR, \fBconst mlib_u8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16_S8\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_s8 *\fR\fIx\fR, \fBconst mlib_s8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16_S16\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16C_U8C\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_u8 *\fR\fIx\fR, \fBconst mlib_u8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16C_S8C\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_s8 *\fR\fIx\fR, \fBconst mlib_s8 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S16C_S16C\fR(\fBmlib_s16 *\fR\fIz\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S32_S16\fR(\fBmlib_s32 *\fR\fIz\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S32_S32\fR(\fBmlib_s32 *\fR\fIz\fR, \fBconst mlib_s32 *\fR\fIx\fR, \fBconst mlib_s32 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S32C_S16C\fR(\fBmlib_s32 *\fR\fIz\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_MatrixAve_S32C_S32C\fR(\fBmlib_s32 *\fR\fIz\fR, \fBconst mlib_s32 *\fR\fIx\fR, \fBconst mlib_s32 *\fR\fIy\fR, \fBmlib_s32\fR \fIm\fR, \fBmlib_s32\fR \fIn\fR); .fi .SH DESCRIPTION .sp .LP 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. .sp .LP It uses the following equation: .sp .in +2 .nf z[i] = (x[i] + y[i] + 1) / 2 .fi .in -2 .sp .LP where \fBi = 0, 1, ..., (m*n - 1)\fR for real data; \fBi = 0, 1, ..., (m*n*2 - 1)\fR for complex data. .SH PARAMETERS .sp .LP Each of the functions takes the following arguments: .sp .ne 2 .mk .na \fB\fIz\fR\fR .ad .RS 5n .rt Pointer to the destination matrix. .RE .sp .ne 2 .mk .na \fB\fIx\fR\fR .ad .RS 5n .rt Pointer to the first source matrix. .RE .sp .ne 2 .mk .na \fB\fIy\fR\fR .ad .RS 5n .rt Pointer to the second source matrix. .RE .sp .ne 2 .mk .na \fB\fIm\fR\fR .ad .RS 5n .rt Number of rows in the matrices. .RE .sp .ne 2 .mk .na \fB\fIn\fR\fR .ad .RS 5n .rt Number of columns in the matrices. .RE .SH RETURN VALUES .sp .LP Each of the functions returns \fBMLIB_SUCCESS\fR if successful. Otherwise it returns \fBMLIB_FAILURE\fR. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe .TE .SH SEE ALSO .sp .LP \fBmlib_MatrixAve_U8\fR(3MLIB), \fBattributes\fR(5)