Changeset 883:c2c34287619c in roaraudio for libroardsp/filter_highp.c
- Timestamp:
- 11/19/08 21:24:35 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/filter_highp.c
r684 r883 50 50 struct roardsp_highp * self = (struct roardsp_highp *) filter->inst; 51 51 int16_t * samp = (int16_t *) data; 52 register int32_t s ;52 register int32_t s, h; 53 53 int i, c; 54 54 int channels = filter->channels; … … 66 66 for (i = 0; i < samples; i++) { 67 67 for (c = 0; c < channels; c++) { 68 h = samp[i*channels + c]; 68 69 s = samp[i*channels + c] * self->a + self->oldin[c] * self->b + self->oldout[c] * self->c; 69 70 70 71 s /= 65536; 71 72 72 self->oldin[ c] = s;73 self->oldin[ c] = h; 73 74 samp[i*channels + c] = s; 74 75 self->oldout[ c] = s; … … 90 91 newfreq = *(float*)data; 91 92 92 lp = exp(-2 * M_PI * newfreq /filter->rate) * 65536;93 lp = exp(-2.0 * M_PI * newfreq / (float) filter->rate) * 65536; 93 94 94 self->a = (65536 + lp)/2 ;95 self->b = -(65536 + lp)/2 ;95 self->a = (65536 + lp)/2.0; 96 self->b = -(65536 + lp)/2.0; 96 97 self->c = lp; 97 98
Note: See TracChangeset
for help on using the changeset viewer.