man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_SignalConv_S16_S16_Sat (3MLIB)

Name

mlib_SignalConv_S16_S16_Sat, mlib_SignalConv_S16S_S16S_Sat, mlib_SignalConv_F32_F32, mlib_SignalConv_F32S_F32S - signal convolution

Synopsis

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);

Description

Each of these functions performs convolution.

For monaural signals, the following equation is used:

         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).

Parameters

Each of the functions takes the following arguments:

dst

Destination signal array.

src1

First source signal array.

src2

Second source signal array.

m

Number of samples in the first source signal array.

n

Number of samples in the second source signal arrays.

Return Values

Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

attributes(5)