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;
	}
/* main Parametric Stereo decoding function