private void compute_pcm_samples2(Obuffer buffer)
  {
	final float[] vp = actual_v;
	
	//int inc = v_inc;
	final float[] tmpOut = _tmpOut;
	 int dvp =0;
	
			// fat chance of having this loop unroll
			for( int i=0; i<32; i++)
			{
				final float[] dp = d16[i];
				float pcm_sample;

				pcm_sample = (float)(((vp[2 + dvp] * dp[0]) +
					(vp[1 + dvp] * dp[1]) +
					(vp[0 + dvp] * dp[2]) +
					(vp[15 + dvp] * dp[3]) +
					(vp[14 + dvp] * dp[4]) +
					(vp[13 + dvp] * dp[5]) +
					(vp[12 + dvp] * dp[6]) +
					(vp[11 + dvp] * dp[7]) +
					(vp[10 + dvp] * dp[8]) +
					(vp[9 + dvp] * dp[9]) +
					(vp[8 + dvp] * dp[10]) +
					(vp[7 + dvp] * dp[11]) +
					(vp[6 + dvp] * dp[12]) +
					(vp[5 + dvp] * dp[13]) +
					(vp[4 + dvp] * dp[14]) +
					(vp[3 + dvp] * dp[15])
					) * scalefactor);

            tmpOut[i] = pcm_sample;
			
			dvp += 16;
			} // for
	}