diff options
author | Chris Robinson <[email protected]> | 2014-10-31 16:55:19 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2014-10-31 16:55:19 -0700 |
commit | 1c0596c233525e9a582269faa4ccb017e5938a28 (patch) | |
tree | ce4b5a14555d20c5f7c233adf25971e008643c84 | |
parent | 0e09e779f9268a177a5595572971e5497a3e412a (diff) |
Check the absolute gain value for silence
Future B-Format support will be using negative gains, which still need to be
applied.
-rw-r--r-- | Alc/mixer_c.c | 2 | ||||
-rw-r--r-- | Alc/mixer_neon.c | 2 | ||||
-rw-r--r-- | Alc/mixer_sse.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/Alc/mixer_c.c b/Alc/mixer_c.c index f3a229e5..0fdcc087 100644 --- a/Alc/mixer_c.c +++ b/Alc/mixer_c.c @@ -118,7 +118,7 @@ void Mix_C(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer)[B Gains[c].Current = gain; } - if(!(gain > GAIN_SILENCE_THRESHOLD)) + if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD)) continue; for(;pos < BufferSize;pos++) OutBuffer[c][OutPos+pos] += data[pos]*gain; diff --git a/Alc/mixer_neon.c b/Alc/mixer_neon.c index 8a27ddbf..8ce17644 100644 --- a/Alc/mixer_neon.c +++ b/Alc/mixer_neon.c @@ -102,7 +102,7 @@ void Mix_Neon(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer OutBuffer[c][OutPos+pos] += data[pos]*gain; } - if(!(gain > GAIN_SILENCE_THRESHOLD)) + if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD)) continue; gain4 = vdupq_n_f32(gain); for(;BufferSize-pos > 3;pos += 4) diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c index 970619ec..d86cf749 100644 --- a/Alc/mixer_sse.c +++ b/Alc/mixer_sse.c @@ -186,7 +186,7 @@ void Mix_SSE(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer) OutBuffer[c][OutPos+pos] += data[pos]*gain; } - if(!(gain > GAIN_SILENCE_THRESHOLD)) + if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD)) continue; gain4 = _mm_set1_ps(gain); for(;BufferSize-pos > 3;pos += 4) |