innov2 =  new float[40];
  public void init(final int frameSize,                   final int subframeSize,                   final int lpcSize,                   final int bufSize)  {    super.init(frameSize, subframeSize, lpcSize, bufSize);    complexity  = 3; // in C it's 2 here, but set to 3 automatically by the encoder    vbr_enabled = 0; // disabled by default    vad_enabled = 0; // disabled by default    abr_enabled = 0; // disabled by default    vbr_quality = 8;    submodeSelect = 5;    pre_mem2      = 0;    bounded_pitch = 1;    exc2Buf  = new float[bufSize];    exc2Idx  = bufSize - windowSize;    swBuf    = new float[bufSize];    swIdx    = bufSize - windowSize;    window = Misc.window(windowSize, subframeSize);    lagWindow = Misc.lagWindow(lpcSize, lag_factor);    autocorr = new float[lpcSize+1];    buf2     = new float[windowSize];    interp_lpc  = new float[lpcSize+1];    interp_qlpc = new float[lpcSize+1];    bw_lpc1     = new float[lpcSize+1];    bw_lpc2     = new float[lpcSize+1];    lsp         = new float[lpcSize];    qlsp        = new float[lpcSize];    old_lsp     = new float[lpcSize];    old_qlsp    = new float[lpcSize];    interp_lsp  = new float[lpcSize];    interp_qlsp = new float[lpcSize];    rc           = new float[lpcSize];    mem_sp       = new float[lpcSize]; // why was there a *5 before ?!?    mem_sw       = new float[lpcSize];    mem_sw_whole = new float[lpcSize];    mem_exc      = new float[lpcSize];    vbr = new Vbr();    dtx_count   = 0;    abr_count   = 0;    sampling_rate = 8000;    awk1   =  new float[lpcSize+1];    awk2   =  new float[lpcSize+1];    awk3   =  new float[lpcSize+1];    innov2 =  new float[40];    filters.init ();    pitch = new int[nbSubframes];  }