Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalLimit_S16_S16(mlib_s16 *dst, const mlib_s16 *src, const mlib_s16 *low, const mlib_s16 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_S16S_S16S(mlib_s16 *dst, const mlib_s16 *src, const mlib_s16 *low, const mlib_s16 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_S16(mlib_s16 *srcdst, const mlib_s16 *low, const mlib_s16 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_S16S(mlib_s16 *srcdst, const mlib_s16 *low, const mlib_s16 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_F32_F32(mlib_f32 *dst, const mlib_f32 *src, const mlib_f32 *low, const mlib_f32 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_F32S_F32S(mlib_f32 *dst, const mlib_f32 *src, const mlib_f32 *low, const mlib_f32 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_F32(mlib_f32 *srcdst, const mlib_f32 *low, const mlib_f32 *high, mlib_s32 n);
mlib_status mlib_SignalLimit_F32S(mlib_f32 *srcdst, const mlib_f32 *low, const mlib_f32 *high, mlib_s32 n);
Each of these functions performs hard limiting.
For monaural signals, the following equation is used:
dst[i] = low[0] if src[i] < low[0] dst[i] = src[i] if low[0] ≤ src[i] < high[0] dst[i] = high[0] if src[i] ≥ high[0]
where i = 0, 1, ..., (n - 1).
For stereo signals, the following equation is used:
dst[2*i] = low[0] if src[2*i] < low[0] dst[2*i] = src[2*i] if low[0] ≤ src[2*i] < high[0] dst[2*i] = high[0] if src[2*i] ≥ high[0] dst[2*i+1] = low[1] if src[2*i+1] < low[1] dst[2*i+1] = src[2*i+1] if low[1] ≤ src[2*i+1] < high[1] dst[2*i+1] = high[1] if src[2*i+1] ≥ high[1]
where i = 0, 1, ..., (n - 1).
Each of the functions takes some of the following arguments:
Destination signal array.
Source signal array.
Source and destination signal array.
Lower input limit. In the stereo version, low[0] contains the lower limit for channel 0, and low[1] contains the lower limit for channel 1.
Upper input limit. In the stereo version. high[0] contains the upper limit for channel 0, and high[1] contains the upper limit for channel 1.
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:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also