private static void sbrQmfAnalysis(FFT mdct,float in[],float x[],float z[],float W[][][][],int bufIdx){
  System.arraycopy(x,1024,x,0,320 - 32);
  System.arraycopy(in,0,x,288,1024);
  int xOffset=0;
  for (int i=0; i < 32; i++) {
    FloatDSP.vectorFmulReverse(z,0,AacSbrData.sbr_qmf_window_ds,0,x,xOffset,320);
    SBRDSP.sum64x5(z,0);
    SBRDSP.qmfPreShuffle(z,0);
    mdct.imdctHalf(z,0,z,64);
    SBRDSP.qmfPostShuffle(W[bufIdx][i],z,0);
    xOffset+=32;
  }
}

private static void sbrQmfAnalysis ( FFT mdct , float in [ ] , float x [ ] , float z [ ] , float W [ ] [ ] [ ] [ ] , int bufIdx ) { System . arraycopy ( x , 1024 , x , 0 , 320 - 32 ) ; System . arraycopy ( in , 0 , x , 288 , 1024 ) ; int xOffset = 0 ; for ( int i = 0 ; i < 32 ; i ++ ) { FloatDSP . vectorFmulReverse ( z , 0 , AacSbrData . sbr_qmf_window_ds , 0 , x , xOffset , 320 ) ; SBRDSP . sum64x5 ( z , 0 ) ; SBRDSP . qmfPreShuffle ( z , 0 ) ; mdct . imdctHalf ( z , 0 , z , 64 ) ; SBRDSP . qmfPostShuffle ( W [ bufIdx ] [ i ] , z , 0 ) ; xOffset += 32 ; } }
analysis qmf bank ( 14496 - 3 sp04 p206 )
