#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 |
参照元 adin_setup_param(), と reset_count_zc_e().
| 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 | ) |
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. |
参照元 adin_cut().
Flush samples in the current cycle buffer.
| zc | [i/o] zerocross work area | |
| newbuf | [out] the samples in teh cycle buffer will be written here. | |
| len | [out] length of above. |
参照元 adin_cut().
1.5.4