diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-09-10 18:59:26 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-09-10 18:59:26 +0000 |
| commit | 982df3c009d4c7b86aab4c472fd6fb0e31272d22 (patch) | |
| tree | f17fbc86181dfe4bf22b4c5ae7976a7dcb79dbc9 /src | |
| parent | ef146b6de5258408ced5418e4e9967a431b0c33b (diff) | |
| download | qmmp-982df3c009d4c7b86aab4c472fd6fb0e31272d22.tar.gz qmmp-982df3c009d4c7b86aab4c472fd6fb0e31272d22.tar.bz2 qmmp-982df3c009d4c7b86aab4c472fd6fb0e31272d22.zip | |
added equalizer optimization
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5553 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmmp/equ/iir.h | 1 | ||||
| -rw-r--r-- | src/qmmp/equ/iir_fpu.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/qmmp/equ/iir.h b/src/qmmp/equ/iir.h index b8e96c52b..816773afe 100644 --- a/src/qmmp/equ/iir.h +++ b/src/qmmp/equ/iir.h @@ -24,6 +24,7 @@ modifications compared to original code: added 48/96 kHz sampling rate support added 24/32bit sample size support + added optimization removed glib dependency */ diff --git a/src/qmmp/equ/iir_fpu.c b/src/qmmp/equ/iir_fpu.c index 3c276dda4..9b19be241 100644 --- a/src/qmmp/equ/iir_fpu.c +++ b/src/qmmp/equ/iir_fpu.c @@ -24,6 +24,7 @@ modifications compared to original code: added 48/96 kHz sampling rate support added 24/32bit sample size support + added optimization removed glib dependency */ @@ -114,6 +115,10 @@ __inline__ int iir(void * d, int length, int nch) /* For each band */ for (band = 0; band < band_count; band++) { + /* Optimization */ + if(gain[band][channel] > -1.0e-10 && gain[band][channel] < 1.0e-10) + continue; + /* Store Xi(n) */ data_history[band][channel].x[i] = pcm[channel]; /* Calculate and store Yi(n) */ @@ -139,6 +144,10 @@ __inline__ int iir(void * d, int length, int nch) /* Filter the sample again */ for (band = 0; band < band_count; band++) { + /* Optimization */ + if(gain[band][channel] > -1.0e-10 && gain[band][channel] < 1.0e-10) + continue; + /* Store Xi(n) */ data_history2[band][channel].x[i] = out[channel]; /* Calculate and store Yi(n) */ |
