37 #ifdef P_R_O_T_O_T_Y_P_E_S
38 extern int onset_(real *pebuf, integer *osbuf, integer *osptr, integer *oslen, integer *sbufl, integer *sbufh, integer *lframe,
struct lpc10_encoder_state *st);
43 static real c_b2 = 1.f;
129 int onset_(real *pebuf, integer *osbuf, integer *
130 osptr, integer *oslen, integer *sbufl, integer *sbufh, integer *
144 integer pebuf_offset, i__1;
148 double r_sign(real *, real *);
241 l2buf = &(st->l2buf[0]);
242 l2sum1 = &(st->l2sum1);
243 l2ptr1 = &(st->l2ptr1);
244 l2ptr2 = &(st->l2ptr2);
245 lasti = &(st->lasti);
253 pebuf_offset = *sbufl;
254 pebuf -= pebuf_offset;
266 for (i__ = *sbufh - *lframe + 1; i__ <= i__1; ++i__) {
269 *n = (pebuf[i__] * pebuf[i__ - 1] + (*n) * 63.f) / 64.f;
271 r__1 = pebuf[i__ - 1];
272 *d__ = (r__1 * r__1 + (*d__) * 63.f) / 64.f;
274 if (abs(*n) > (*d__)) {
275 *fpc = (real)r_sign(&c_b2, n);
277 *fpc = (*n) / (*d__);
300 l2sum2 = l2buf[*l2ptr1 - 1];
301 *l2sum1 = *l2sum1 - l2buf[*l2ptr2 - 1] + *fpc;
302 l2buf[*l2ptr2 - 1] = *l2sum1;
303 l2buf[*l2ptr1 - 1] = *fpc;
304 *l2ptr1 = *l2ptr1 % 16 + 1;
305 *l2ptr2 = *l2ptr2 % 16 + 1;
306 if ((r__1 = *l2sum1 - l2sum2, abs(r__1)) > 1.7f) {
309 if (*osptr <= *oslen) {
310 osbuf[*osptr] = i__ - 9;
319 }
else if ((*hyst) && i__ - *lasti >= 10) {