From: notaz Date: Wed, 5 Oct 2011 21:22:46 +0000 (+0300) Subject: spu: make "simple" interpolation even more simple X-Git-Tag: r10~12 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76d1d09c1224af8d663ce63dc5b32425bd62cb29;p=pcsx_rearmed.git spu: make "simple" interpolation even more simple that division is not worth the quality increase it might give, also sinc now can be 0 after resets, causing div0 fault. --- diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index b3bd0579..d7dc1b64 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -222,9 +222,10 @@ INLINE void InterpolateUp(int ch) s_chan[ch].SB[32]=0; s_chan[ch].SB[28]=(s_chan[ch].SB[28]*s_chan[ch].sinc)/0x20000L; - if(s_chan[ch].sinc<=0x8000) - s_chan[ch].SB[29]=s_chan[ch].SB[30]-(s_chan[ch].SB[28]*((0x10000/s_chan[ch].sinc)-1)); - else s_chan[ch].SB[29]+=s_chan[ch].SB[28]; + //if(s_chan[ch].sinc<=0x8000) + // s_chan[ch].SB[29]=s_chan[ch].SB[30]-(s_chan[ch].SB[28]*((0x10000/s_chan[ch].sinc)-1)); + //else + s_chan[ch].SB[29]+=s_chan[ch].SB[28]; } else // no flags? add bigger val (if possible), calc smaller step, set flag1 s_chan[ch].SB[29]+=s_chan[ch].SB[28];