summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-31 19:36:03 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-31 19:36:03 +0000
commitab855515f4ecc03b9bd62c396b9359be99e369d2 (patch)
tree2e5ebaf36d81ae38790bcd40ee99c97204d919eb /plugins
parent408a32a50ae0aa30a912dd645084db3f099b8859 (diff)
downloadpcsxr-ab855515f4ecc03b9bd62c396b9359be99e369d2.tar.gz
hopkat
-dfsound- xa gaussian distortion git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@61677 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfsound/xa.c54
1 files changed, 8 insertions, 46 deletions
diff --git a/plugins/dfsound/xa.c b/plugins/dfsound/xa.c
index 79a59122..135bc918 100644
--- a/plugins/dfsound/xa.c
+++ b/plugins/dfsound/xa.c
@@ -355,31 +355,12 @@ INLINE void FeedXA(xa_decode_t *xap)
int32_t l1;
for(i=0;i<iSize;i++)
{
- if(iUseInterpolation==2)
+ while(spos>=0x10000L)
{
- while(spos>=0x10000L)
- {
- gauss_window[gauss_ptr] = (short)*pS++;
- gauss_ptr = (gauss_ptr+1) & 3;
- spos -= 0x10000L;
- }
- vl = (spos >> 6) & ~3;
- vr=(gauss[vl]*gvall0)&~2047;
- vr+=(gauss[vl+1]*gvall(1))&~2047;
- vr+=(gauss[vl+2]*gvall(2))&~2047;
- vr+=(gauss[vl+3]*gvall(3))&~2047;
- l1=s= vr >> 11;
- l1 &= 0xffff;
- }
- else
- {
- while(spos>=0x10000L)
- {
- s = *pS++;
- spos -= 0x10000L;
- }
- l1=s;
+ s = *pS++;
+ spos -= 0x10000L;
}
+ l1=s;
l1=(l1*iPlace)/iSize;
if(l1<-32767) l1=-32767;
@@ -401,31 +382,12 @@ INLINE void FeedXA(xa_decode_t *xap)
{
for(i=0;i<iSize;i++)
{
- if(iUseInterpolation==2)
- {
- while(spos>=0x10000L)
- {
- gauss_window[gauss_ptr] = (short)*pS++;
- gauss_ptr = (gauss_ptr+1) & 3;
- spos -= 0x10000L;
- }
- vl = (spos >> 6) & ~3;
- vr=(gauss[vl]*gvall0)&~2047;
- vr+=(gauss[vl+1]*gvall(1))&~2047;
- vr+=(gauss[vl+2]*gvall(2))&~2047;
- vr+=(gauss[vl+3]*gvall(3))&~2047;
- l=s= vr >> 11;
- l &= 0xffff;
- }
- else
+ while(spos>=0x10000L)
{
- while(spos>=0x10000L)
- {
- s = *pS++;
- spos -= 0x10000L;
- }
- l=s;
+ s = *pS++;
+ spos -= 0x10000L;
}
+ l=s;
*XAFeed++=(l|(l<<16));