aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/filters/nfc.h
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-12-07 18:38:56 -0800
committerChris Robinson <[email protected]>2018-12-07 18:38:56 -0800
commit6e4c85625707b28da7baf51d7c315c3982531439 (patch)
treea986824bef717396dd40b6125217dd99ff5ab54f /Alc/filters/nfc.h
parent0f24139b57460c71d66b9a090217d34706d64dde (diff)
Add fourth-order methods to the NFC filter
Unused, but it finishes out the currently possible implementations.
Diffstat (limited to 'Alc/filters/nfc.h')
-rw-r--r--Alc/filters/nfc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Alc/filters/nfc.h b/Alc/filters/nfc.h
index 40aca36e..ca4f6f58 100644
--- a/Alc/filters/nfc.h
+++ b/Alc/filters/nfc.h
@@ -16,11 +16,17 @@ struct NfcFilter3 {
float b1, b2, b3, a1, a2, a3;
float z[3];
};
+struct NfcFilter4 {
+ float base_gain, gain;
+ float b1, b2, b3, b4, a1, a2, a3, a4;
+ float z[4];
+};
class NfcFilter {
NfcFilter1 first;
NfcFilter2 second;
NfcFilter3 third;
+ NfcFilter4 fourth;
public:
/* NOTE:
@@ -44,6 +50,9 @@ public:
/* Near-field control filter for third-order ambisonic channels (9-15). */
void process3(float *RESTRICT dst, const float *RESTRICT src, const int count);
+
+ /* Near-field control filter for fourth-order ambisonic channels (16-24). */
+ void process4(float *RESTRICT dst, const float *RESTRICT src, const int count);
};
#endif /* FILTER_NFC_H */