Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalConv_S16_S16_Sat(mlib_s16 *dst, const mlib_s16 *src1, const mlib_s16 *src2, mlib_s32 m, mlib_s32 n);
mlib_status mlib_SignalConv_S16S_S16S_Sat(mlib_s16 *dst, const mlib_s16 *src1, const mlib_s16 *src2, mlib_s32 m, mlib_s32 n);
mlib_status mlib_SignalConv_F32_F32(mlib_f32 *dst, const mlib_f32 *src1, const mlib_f32 *src2, mlib_s32 m, mlib_s32 n);
mlib_status mlib_SignalConv_F32S_F32S(mlib_f32 *dst, const mlib_f32 *src1, const mlib_f32 *src2, mlib_s32 m, mlib_s32 n);
m-1 dst[i] = SUM (src1[j] * src2[i - j]) if m ≤ n j=0 n-1 dst[i] = SUM (src2[j] * src1[i - j]) if m > n j=0
where i = 0, 1, ..., (m + n - 2).
For stereo signals, the following equation is used:
m-1 dst[2*i] = SUM (src1[2*j] * src2[2*(i - j)]) j=0 m-1 dst[2*i + 1] = SUM (src1[2*j + 1] * src2[2*(i - j) + 1]) j=0
if m ≤ n, or
n-1 dst[2*i] = SUM (src2[2*j] * src1[2*(i - j)]) j=0 n-1 dst[2*i + 1] = SUM (src2[2*j + 1] * src1[2*(i - j) + 1]) j=0
if m > n; where i = 0, 1, ..., (m + n - 2).
Each of the functions takes the following arguments:
Destination signal array.
First source signal array.
Second source signal array.
Number of samples in the first source signal array.
Number of samples in the second source signal arrays.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also