#include <sent/stddefs.h>
Include dependency graph for zc-e.c:
Go to the source code of this file.
Defines | |
#define | UNDEF 2 |
Undefined mark used for sign. | |
#define | POSITIVE 1 |
Positive mark used for sign. | |
#define | NEGATIVE -1 |
Negative mark used for sign. | |
Functions | |
void | init_count_zc_e (int c_trigger, int c_length, int c_offset) |
void | end_count_zc_e () |
int | count_zc_e (SP16 *buf, int step) |
int | count_zc_e_level (SP16 *buf, int step, int *levelp) |
void | zc_copy_buffer (SP16 *newbuf, int *len) |
Variables | |
static int | trigger |
Level threshold. | |
static int | length |
Cycle buffer size = number of samples to hold. | |
static int | offset |
Static data DC offset. | |
static int * | is_zc |
Zero-crossing point flag list. | |
static SP16 * | data |
Data cycle buffer. | |
static int | zero_cross |
Total zerocross num in data. | |
static int | sign |
Current sign of sample for zerocross counting. | |
static int | is_trig |
Triggering sign. | |
static int | top |
Current pointer of buffer. | |
static int | valid_len |
Valid samples in buffer (for short input). |
Definition in file zc-e.c.
void init_count_zc_e | ( | int | c_trigger, | |
int | c_length, | |||
int | c_offset | |||
) |
Initialize all parameters and buffers for zero-cross counting.
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 |
Definition at line 63 of file zc-e.c.
Referenced by adin_cut().
void end_count_zc_e | ( | ) |
int count_zc_e | ( | SP16 * | buf, | |
int | step | |||
) |
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.
buf | [I/O] new samples given, and swapped samples will be returned. | |
step | [in] length of above. |
Definition at line 107 of file zc-e.c.
Referenced by adin_cut().
int count_zc_e_level | ( | SP16 * | buf, | |
int | step, | |||
int * | levelp | |||
) |
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.
buf | [I/O] new samples, will be swapped by old samples when returned. | |
step | [in] length of above. | |
levelp | [out] maximum level in the cycle buffer. |
void zc_copy_buffer | ( | SP16 * | newbuf, | |
int * | len | |||
) |
Flush samples in the current cycle buffer.
newbuf | [out] the samples in teh cycle buffer will be written here. | |
len | [out] length of above. |
Definition at line 205 of file zc-e.c.
Referenced by adin_cut().