#include <sent/stddefs.h>
#include <sent/adin.h>
関数 | |
void | init_count_zc_e (ZEROCROSS *zc, int length) |
Allocate buffers for zerocross counting. | |
void | reset_count_zc_e (ZEROCROSS *zc, int c_trigger, int c_length, int c_offset) |
Initialize all parameters and buffers for zero-cross counting. | |
void | free_count_zc_e (ZEROCROSS *zc) |
End procedure: free all buffers. | |
int | count_zc_e (ZEROCROSS *zc, SP16 *buf, int step) |
Adding buf[0. | |
void | zc_copy_buffer (ZEROCROSS *zc, SP16 *newbuf, int *len) |
Flush samples in the current cycle buffer. |
与えられたバッファ長内の零交差数をカウントします. 同時に, 呼ばれたバッファを順次バッファ長分だけ古いものに入れ替えます. このため入力はバッファ長分だけ遅延することになります.
zc-e.c で定義されています。
void init_count_zc_e | ( | ZEROCROSS * | zc, | |
int | length | |||
) |
Allocate buffers for zerocross counting.
zc | [i/o] zerocross work area | |
length | [in] Cycle buffer size = Number of samples to hold |
void reset_count_zc_e | ( | ZEROCROSS * | zc, | |
int | c_trigger, | |||
int | c_length, | |||
int | c_offset | |||
) |
Initialize all parameters and buffers for zero-cross counting.
zc | [i/o] zerocross work area | |
c_trigger | [in] Tgigger level threshold | |
c_length | [in] Cycle buffer size = Number of samples to hold | |
c_offset | [in] Static DC offset of input data |
参照元 adin_cut().
void free_count_zc_e | ( | ZEROCROSS * | zc | ) |
End procedure: free all buffers.
zc | [i/o] zerocross work area |
Adding buf[0.
.step-1] to the cycle buffer and update the count of zero cross. Also swap them with the oldest ones in the cycle buffer. Also get the maximum level in the cycle buffer.
zc | [i/o] zerocross work area | |
buf | [I/O] new samples, will be swapped by old samples when returned. | |
step | [in] length of above. |