exc=st->exc+offset;
exc=st->excBuf+offset; res=st->res+offset; target=st->target+offset; sw=st->sw+offset;
void sb_encode(SBEncState *st, float *in, FrameBits *bits){   int i, roots, sub;   /* Compute the two sub-bands by filtering with h0 and h1*/   fir_mem(in, h0, st->x0, st->full_frame_size, QMF_ORDER, st->h0_mem);   fir_mem(in, h1, st->x1, st->full_frame_size, QMF_ORDER, st->h1_mem);   /* Down-sample x0 and x1 */   for (i=0;i<st->frame_size;i++)   {      st->x0d[i]=st->x0[i<<1];      st->x1d[i]=st->x1[i<<1];   }   /* Encode the narrowband part*/   encode(&st->st_low, st->x0d, bits);   /* High-band buffering / sync with low band */   for (i=0;i<st->frame_size;i++)   {      st->excBuf[i]=st->exc[i];      st->high[i]=st->high[st->frame_size+i];      st->high[st->frame_size+i]=st->x1d[i];   }      /* Start encoding the high-band */   for (i=0;i<st->windowSize;i++)      st->buf[i] = st->high[i] * st->window[i];   /* Compute auto-correlation */   autocorr(st->buf, st->autocorr, st->lpcSize+1, st->windowSize);   st->autocorr[0] += 1;        /* prevents NANs */   st->autocorr[0] *= st->lpc_floor; /* Noise floor in auto-correlation domain */   /* Lag windowing: equivalent to filtering in the power-spectrum domain */   for (i=0;i<st->lpcSize+1;i++)      st->autocorr[i] *= st->lagWindow[i];   /* Levinson-Durbin */   wld(st->lpc+1, st->autocorr, st->rc, st->lpcSize);   st->lpc[0]=1;   /* LPC to LSPs (x-domain) transform */   roots=lpc_to_lsp (st->lpc, st->lpcSize, st->lsp, 6, 0.002, st->stack);   if (roots!=st->lpcSize)   {      fprintf (stderr, "roots!=st->lpcSize (found only %d roots)\n", roots);      exit(1);   }   /* x-domain to angle domain*/   for (i=0;i<st->lpcSize;i++)      st->lsp[i] = acos(st->lsp[i]);      /* FIXME: Need to really quantize the LSPs*/   for (i=0;i<st->lpcSize;i++)      st->qlsp[i]=st->lsp[i];   if (st->first)   {      for (i=0;i<st->lpcSize;i++)         st->old_lsp[i] = st->lsp[i];      for (i=0;i<st->lpcSize;i++)         st->old_qlsp[i] = st->qlsp[i];   }      for (sub=0;sub<st->nbSubframes;sub++)   {      float *exc, *sp, *mem, tmp;      int offset;            offset = st->subframeSize*sub;      sp=st->high+offset;      exc=st->exc+offset;      mem=PUSH(st->stack, st->lpcSize);            /* LSP interpolation (quantized and unquantized) */      tmp = (.5 + sub)/st->nbSubframes;      for (i=0;i<st->lpcSize;i++)         st->interp_lsp[i] = (1-tmp)*st->old_lsp[i] + tmp*st->lsp[i];      for (i=0;i<st->lpcSize;i++)         st->interp_qlsp[i] = (1-tmp)*st->old_qlsp[i] + tmp*st->qlsp[i];      /* Compute interpolated LPCs (quantized and unquantized) */      for (i=0;i<st->lpcSize;i++)         st->interp_lsp[i] = cos(st->interp_lsp[i]);      lsp_to_lpc(st->interp_lsp, st->interp_lpc, st->lpcSize,st->stack);      for (i=0;i<st->lpcSize;i++)         st->interp_qlsp[i] = cos(st->interp_qlsp[i]);      lsp_to_lpc(st->interp_qlsp, st->interp_qlpc, st->lpcSize, st->stack);      bw_lpc(st->gamma1, st->interp_lpc, st->bw_lpc1, st->lpcSize);      bw_lpc(st->gamma2, st->interp_lpc, st->bw_lpc2, st->lpcSize);            for (i=0;i<st->lpcSize;i++)         mem[i]=st->mem_sp[i];      residue_mem(sp, st->interp_qlpc, exc, st->subframeSize, st->lpcSize, mem);      if (1) {         float el=0,eh=0,g;         printf ("exc0");         for (i=0;i<st->subframeSize;i++)            printf (" %f", exc[i]);         printf ("\n");         for (i=0;i<st->subframeSize;i++)            eh+=sqr(exc[i]);         for (i=0;i<st->subframeSize;i++)            el+=sqr(st->st_low.exc[offset+i]);         g=eh/(.01+el);         g=sqrt(g);         for (i=0;i<st->subframeSize;i++)            exc[i]=g*st->st_low.exc[offset+i];         printf ("exc1");         for (i=0;i<st->subframeSize;i++)            printf (" %f", exc[i]);         printf ("\n");      }      syn_filt_mem(exc, st->interp_qlpc, sp, st->subframeSize, st->lpcSize, st->mem_sp);      POP(st->stack);   }   /* Up-sample coded low-band and high-band*/   for (i=0;i<st->frame_size;i++)   {      st->x0[(i<<1)]=st->x0d[i];      st->x1[(i<<1)]=st->high[i];      st->x0[(i<<1)+1]=0;      st->x1[(i<<1)+1]=0;   }   /* Reconstruct the original */   fir_mem(st->x0, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);   fir_mem(st->x1, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);   for (i=0;i<st->full_frame_size;i++)      in[i]=2*(st->y0[i]-st->y1[i]);   st->first=0;}