'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_SignalConvertShift_U8_S8_Sat 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions" .SH NAME mlib_SignalConvertShift_U8_S8_Sat, mlib_SignalConvertShift_U8_S16_Sat, mlib_SignalConvertShift_U8_S32_Sat, mlib_SignalConvertShift_U8_F32_Sat, mlib_SignalConvertShift_U8S_S8S_Sat, mlib_SignalConvertShift_U8S_S16S_Sat, mlib_SignalConvertShift_U8S_S32S_Sat, mlib_SignalConvertShift_U8S_F32S_Sat, mlib_SignalConvertShift_S8_U8_Sat, mlib_SignalConvertShift_S8_S16_Sat, mlib_SignalConvertShift_S8_S32_Sat, mlib_SignalConvertShift_S8_F32_Sat, mlib_SignalConvertShift_S8S_U8S_Sat, mlib_SignalConvertShift_S8S_S16S_Sat, mlib_SignalConvertShift_S8S_S32S_Sat, mlib_SignalConvertShift_S8S_F32S_Sat, mlib_SignalConvertShift_S16_U8_Sat, mlib_SignalConvertShift_S16_S8_Sat, mlib_SignalConvertShift_S16_S32_Sat, mlib_SignalConvertShift_S16_F32_Sat, mlib_SignalConvertShift_S16S_U8S_Sat, mlib_SignalConvertShift_S16S_S8S_Sat, mlib_SignalConvertShift_S16S_S32S_Sat, mlib_SignalConvertShift_S16S_F32S_Sat, mlib_SignalConvertShift_S32_U8_Sat, mlib_SignalConvertShift_S32_S8_Sat, mlib_SignalConvertShift_S32_S16_Sat, mlib_SignalConvertShift_S32_F32_Sat, mlib_SignalConvertShift_S32S_U8S_Sat, mlib_SignalConvertShift_S32S_S8S_Sat, mlib_SignalConvertShift_S32S_S16S_Sat, mlib_SignalConvertShift_S32S_F32S_Sat \- data type convert with shifting .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_SignalConvertShift_U8_S8_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8_S16_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8_S32_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8_F32_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8S_S8S_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8S_S16S_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8S_S32S_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_U8S_F32S_Sat\fR(\fBmlib_u8 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8_U8_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8_S16_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8_S32_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8_F32_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8S_U8S_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8S_S16S_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8S_S32S_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S8S_F32S_Sat\fR(\fBmlib_s8 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16_U8_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16_S8_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16_S32_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16_F32_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16S_U8S_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16S_S8S_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16S_S32S_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_s32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S16S_F32S_Sat\fR(\fBmlib_s16 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32_U8_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32_S8_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32_S16_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32_F32_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32S_U8S_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_u8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32S_S8S_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_s8 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32S_S16S_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_s16 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_SignalConvertShift_S32S_F32S_Sat\fR(\fBmlib_s32 *\fR\fIdst\fR, \fBconst mlib_f32 *\fR\fIsrc\fR, \fBmlib_s32\fR \fIshift\fR, \fBmlib_s32\fR \fIn\fR); .fi .SH DESCRIPTION .sp .LP Each of these functions performs data type convert with shifting. .sp .LP The following equation is used: .sp .in +2 .nf dst[i] = saturate(src[i] * 2**shift) .fi .in -2 .sp .LP See the following tables for available variations of this group of data type convert functions. .sp .sp .TS tab(); cw(1.1i) cw(1.1i) cw(1.1i) cw(1.1i) cw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) . Type [*]U8S8S16S32 _ U8YYY S8YYY _ S16YYY _ S32YYY _ F32YYYY .TE .sp .sp .TS tab(); cw(1.1i) cw(1.1i) cw(1.1i) cw(1.1i) cw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) lw(1.1i) . Type [*]U8SS8SS16SS32S _ U8SYYY _ S8SYYY _ S16SYYY _ S32SYYY _ F32SYYYY .TE .sp .LP [*] Each row represents a source data type. Each column represents a destination data type. .SH PARAMETERS .sp .LP Each of the functions takes the following arguments: .sp .ne 2 .mk .na \fB\fIdst\fR\fR .ad .RS 9n .rt Destination signal array. .RE .sp .ne 2 .mk .na \fB\fIsrc\fR\fR .ad .RS 9n .rt Source signal array. .RE .sp .ne 2 .mk .na \fB\fIshift\fR\fR .ad .RS 9n .rt Left shifting factor. .RE .sp .ne 2 .mk .na \fB\fIn\fR\fR .ad .RS 9n .rt Number of samples in the source signal arrays. .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_SignalConvertShift_F32_U8\fR(3MLIB), \fBattributes\fR(5)