SPU2-X: Apply Neill's recommended 2/3 multiplier to the input. The results still are not like on the PS2, but we're now as good as Neill's research allows. We'll have to do our own from here on.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4778 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
sudonim1@gmail.com 2011-06-27 17:17:29 +00:00
parent 99ee4a8df4
commit 2a73457b4b
1 changed files with 11 additions and 5 deletions

View File

@ -56,11 +56,20 @@ void V_Core::Reverb_AdvanceBuffer()
StereoOut32 V_Core::DoReverb( const StereoOut32& Input )
{
#if 0
static const s32 downcoeffs[8] =
{
1283, 5344, 10895, 15243,
15243, 10895, 5344, 1283
};
#else
// 2/3 of the above
static const s32 downcoeffs[8] =
{
855, 3562, 7263, 10163,
10163, 7263, 3562, 855
};
#endif
downbuf[dbpos] = Input;
dbpos = (dbpos+1) & 7;
@ -172,11 +181,8 @@ StereoOut32 V_Core::DoReverb( const StereoOut32& Input )
INPUT_SAMPLE.Right += (downbuf[(dbpos+x)&7].Right * downcoeffs[x]);
}
// short term quality hack
INPUT_SAMPLE.Left >>= 17;
INPUT_SAMPLE.Right >>= 17;
//INPUT_SAMPLE.Left >>= 16;
//INPUT_SAMPLE.Right >>= 16;
INPUT_SAMPLE.Left >>= 16;
INPUT_SAMPLE.Right >>= 16;
s32 input_L = INPUT_SAMPLE.Left * Revb.IN_COEF_L;
s32 input_R = INPUT_SAMPLE.Right * Revb.IN_COEF_R;