Pass the filter entry to apply to resample_fir4
This commit is contained in:
@@ -69,9 +69,8 @@ extern inline ALuint64 maxu64(ALuint64 a, ALuint64 b);
|
||||
extern inline ALuint64 clampu64(ALuint64 val, ALuint64 min, ALuint64 max);
|
||||
|
||||
extern inline ALfloat lerp(ALfloat val1, ALfloat val2, ALfloat mu);
|
||||
extern inline ALfloat resample_fir4(const ALfloat (*restrict filter)[4],
|
||||
ALfloat val0, ALfloat val1, ALfloat val2, ALfloat val3,
|
||||
ALsizei frac);
|
||||
extern inline ALfloat resample_fir4(ALfloat val0, ALfloat val1, ALfloat val2, ALfloat val3,
|
||||
const ALfloat *restrict filter);
|
||||
|
||||
extern inline void aluVectorSet(aluVector *restrict vector, ALfloat x, ALfloat y, ALfloat z, ALfloat w);
|
||||
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ const ALfloat *Resample_fir4_C(const InterpState *state, const ALfloat *restrict
|
||||
src -= 1;
|
||||
for(i = 0;i < numsamples;i++)
|
||||
{
|
||||
dst[i] = resample_fir4(filter, src[0], src[1], src[2], src[3], frac);
|
||||
dst[i] = resample_fir4(src[0], src[1], src[2], src[3], filter[frac]);
|
||||
|
||||
frac += increment;
|
||||
src += frac>>FRACTIONBITS;
|
||||
|
||||
+1
-1
@@ -127,7 +127,7 @@ const ALfloat *Resample_fir4_Neon(const InterpState *state,
|
||||
ALint pos = pos_[0];
|
||||
frac = frac_[0];
|
||||
do {
|
||||
dst[i] = resample_fir4(filter, src[pos], src[pos+1], src[pos+2], src[pos+3], frac);
|
||||
dst[i] = resample_fir4(src[pos], src[pos+1], src[pos+2], src[pos+3], filter[frac]);
|
||||
|
||||
frac += increment;
|
||||
pos += frac>>FRACTIONBITS;
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ const ALfloat *Resample_fir4_SSE3(const InterpState *state,
|
||||
|
||||
for(;i < numsamples;i++)
|
||||
{
|
||||
dst[i] = resample_fir4(filter, src[pos], src[pos+1], src[pos+2], src[pos+3], frac);
|
||||
dst[i] = resample_fir4(src[pos], src[pos+1], src[pos+2], src[pos+3], filter[frac]);
|
||||
|
||||
frac += increment;
|
||||
pos += frac>>FRACTIONBITS;
|
||||
|
||||
+1
-1
@@ -145,7 +145,7 @@ const ALfloat *Resample_fir4_SSE41(const InterpState *state,
|
||||
|
||||
for(;i < numsamples;i++)
|
||||
{
|
||||
dst[i] = resample_fir4(filter, src[pos], src[pos+1], src[pos+2], src[pos+3], frac);
|
||||
dst[i] = resample_fir4(src[pos], src[pos+1], src[pos+2], src[pos+3], filter[frac]);
|
||||
|
||||
frac += increment;
|
||||
pos += frac>>FRACTIONBITS;
|
||||
|
||||
@@ -392,10 +392,9 @@ inline ALfloat lerp(ALfloat val1, ALfloat val2, ALfloat mu)
|
||||
{
|
||||
return val1 + (val2-val1)*mu;
|
||||
}
|
||||
inline ALfloat resample_fir4(const ALfloat (*restrict filter)[4], ALfloat val0, ALfloat val1, ALfloat val2, ALfloat val3, ALsizei frac)
|
||||
inline ALfloat resample_fir4(ALfloat val0, ALfloat val1, ALfloat val2, ALfloat val3, const ALfloat *restrict filter)
|
||||
{
|
||||
return filter[frac][0]*val0 + filter[frac][1]*val1 +
|
||||
filter[frac][2]*val2 + filter[frac][3]*val3;
|
||||
return filter[0]*val0 + filter[1]*val1 + filter[2]*val2 + filter[3]*val3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user