src/main/java/net/sourceforge/jaad/aac/ps/PS.java
public int process(float[][][] X_left, float[][][] X_right) {
		float[][][] X_hybrid_left = new float[32][32][2];
		float[][][] X_hybrid_right = new float[32][32][2];

		/* delta decoding of the bitstream data */
		ps_data_decode();

		/* set up some parameters depending on filterbank type */
		if(this.use34hybrid_bands) {
			this.group_border = group_border34;
			this.map_group2bk = map_group2bk34;
			this.num_groups = 32+18;
			this.num_hybrid_groups = 32;
			this.nr_par_bands = 34;
			this.decay_cutoff = 5;
		}
		else {
			this.group_border = group_border20;
			this.map_group2bk = map_group2bk20;
			this.num_groups = 10+12;
			this.num_hybrid_groups = 10;
			this.nr_par_bands = 20;
			this.decay_cutoff = 3;
		}

		/* Perform further analysis on the lowest subbands to get a higher
		 * frequency resolution
		 */
		hyb.hybrid_analysis(X_left, X_hybrid_left,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		/* decorrelate mono signal */
		ps_decorrelate(X_left, X_right, X_hybrid_left, X_hybrid_right);

		/* apply mixing and phase parameters */
		ps_mix_phase(X_left, X_right, X_hybrid_left, X_hybrid_right);

		/* hybrid synthesis, to rebuild the SBR QMF matrices */
		hyb.hybrid_synthesis(X_left, X_hybrid_left,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		hyb.hybrid_synthesis(X_right, X_hybrid_right,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		return 0;
	}
public int process(float[][][] X_left, float[][][] X_right) {
		float[][][] X_hybrid_left = new float[32][32][2];
		float[][][] X_hybrid_right = new float[32][32][2];

		/* delta decoding of the bitstream data */
		ps_data_decode();

		/* set up some parameters depending on filterbank type */
		if(this.use34hybrid_bands) {
			this.group_border = group_border34;
			this.map_group2bk = map_group2bk34;
			this.num_groups = 32+18;
			this.num_hybrid_groups = 32;
			this.nr_par_bands = 34;
			this.decay_cutoff = 5;
		}
		else {
			this.group_border = group_border20;
			this.map_group2bk = map_group2bk20;
			this.num_groups = 10+12;
			this.num_hybrid_groups = 10;
			this.nr_par_bands = 20;
			this.decay_cutoff = 3;
		}

		/* Perform further analysis on the lowest subbands to get a higher
		 * frequency resolution
		 */
		hyb.hybrid_analysis(X_left, X_hybrid_left,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		/* decorrelate mono signal */
		ps_decorrelate(X_left, X_right, X_hybrid_left, X_hybrid_right);

		/* apply mixing and phase parameters */
		ps_mix_phase(X_left, X_right, X_hybrid_left, X_hybrid_right);

		/* hybrid synthesis, to rebuild the SBR QMF matrices */
		hyb.hybrid_synthesis(X_left, X_hybrid_left,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		hyb.hybrid_synthesis(X_right, X_hybrid_right,
			this.use34hybrid_bands, this.numTimeSlotsRate);

		return 0;
	}
public int process ( float [ ] [ ] [ ] X_left , float [ ] [ ] [ ] X_right ) { float [ ] [ ] [ ] X_hybrid_left = new float [ 32 ] [ 32 ] [ 2 ] ; float [ ] [ ] [ ] X_hybrid_right = new float [ 32 ] [ 32 ] [ 2 ] ; /* delta decoding of the bitstream data */ ps_data_decode ( ) ; /* set up some parameters depending on filterbank type */ if ( this . use34hybrid_bands ) { this . group_border = group_border34 ; this . map_group2bk = map_group2bk34 ; this . num_groups = 32 + 18 ; this . num_hybrid_groups = 32 ; this . nr_par_bands = 34 ; this . decay_cutoff = 5 ; } else { this . group_border = group_border20 ; this . map_group2bk = map_group2bk20 ; this . num_groups = 10 + 12 ; this . num_hybrid_groups = 10 ; this . nr_par_bands = 20 ; this . decay_cutoff = 3 ; } /* Perform further analysis on the lowest subbands to get a higher
		 * frequency resolution
		 */ hyb . hybrid_analysis ( X_left , X_hybrid_left , this . use34hybrid_bands , this . numTimeSlotsRate ) ; /* decorrelate mono signal */ ps_decorrelate ( X_left , X_right , X_hybrid_left , X_hybrid_right ) ; /* apply mixing and phase parameters */ ps_mix_phase ( X_left , X_right , X_hybrid_left , X_hybrid_right ) ; /* hybrid synthesis, to rebuild the SBR QMF matrices */ hyb . hybrid_synthesis ( X_left , X_hybrid_left , this . use34hybrid_bands , this . numTimeSlotsRate ) ; hyb . hybrid_synthesis ( X_right , X_hybrid_right , this . use34hybrid_bands , this . numTimeSlotsRate ) ; return 0 ; }
/* main Parametric Stereo decoding function
/ * main Parametric Stereo decoding function