From 2a73457b4b931495694b039464a52098b501153b Mon Sep 17 00:00:00 2001 From: "sudonim1@gmail.com" Date: Mon, 27 Jun 2011 17:17:29 +0000 Subject: [PATCH] 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 --- plugins/spu2-x/src/Reverb.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/spu2-x/src/Reverb.cpp b/plugins/spu2-x/src/Reverb.cpp index ee11067d1c..e72a5b0eb8 100644 --- a/plugins/spu2-x/src/Reverb.cpp +++ b/plugins/spu2-x/src/Reverb.cpp @@ -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;