cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalEmphasize_S16_S16_Sat(mlib_s16 *dst, const mlib_s16 *src, void *filter, mlib_s32 n);
mlib_status mlib_SignalEmphasize_S16S_S16S_Sat(mlib_s16 *dst, const mlib_s16 *src, void *filter, mlib_s32 n);
mlib_status mlib_SignalEmphasize_F32_F32(mlib_f32 *dst, const mlib_f32 *src, void *filter, mlib_s32 n);
mlib_status mlib_SignalEmphasize_F32S_F32S(mlib_f32 *dst, const mlib_f32 *src, void *filter, mlib_s32 n);
Each of these functions applies the preemphasizer to one signal packet and updates the filter states.
For monaural signals, the following equation is used:
dst[i] = src[i] - alpha*src[i - 1]
where i = 0, 1, ..., (n - 1); src[-1] = 0.
For stereo signals, the following equation is used:
dst[2*i] = src[2*i] - alpha*src[2*(i - 1)] dst[2*i + 1] = src[2*i + 1] - alpha*src[2*(i - 1) + 1]
where i = 0, 1, ..., (n - 1); src[-2] = src[-1] = 0.
Each of the functions takes the following arguments:
Destination signal array.
Source signal array.
Internal filter structure.
Number of samples in the source 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:
|
mlib_SignalEmphasizeFree_S16_S16(3MLIB), mlib_SignalEmphasizeInit_S16_S16(3MLIB), attributes(5)