cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalDownSample_S16_S16(mlib_s16 *dst, const mlib_s16 *src, mlib_s32 factor, mlib_s32 phase, mlib_s32 n);
mlib_status mlib_SignalDownSample_S16S_S16S(mlib_s16 *dst, const mlib_s16 *src, mlib_s32 factor, mlib_s32 phase, mlib_s32 n);
mlib_status mlib_SignalDownSample_F32_F32(mlib_f32 *dst, const mlib_f32 *src, mlib_s32 factor, mlib_s32 phase, mlib_s32 n);
mlib_status mlib_SignalDownSample_F32S_F32S(mlib_f32 *dst, const mlib_f32 *src, mlib_s32 factor, mlib_s32 phase, mlib_s32 n);
Each of these functions performs downsampling.
For monaural signals, the following equation is used:
dst[i] = src[i*factor + phase]
where i = 0, 1, ..., (n - 1 - phase)/factor.
For stereo signals, the following equation is used:
dst[2*i] = src[2*(i*factor + phase)] dst[2*i + 1] = src[2*(i*factor + phase) + 1]
where i = 0, 1, ..., (n - 1 - phase)/factor.
Each of the functions takes the following arguments:
Output signal array.
Input signal array.
Factor by which to downsample. factor ≥ 1.
Parameter that determines relative position of an output value, within the input signal. 0 ≤ phase < factor.
Number of samples in the input signal array.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|