Chris Robinson
cc91490b61
Use a temporary buffer for HRTF filter accumulation
...
Similar to the history buffer, to avoid using the state buffer as a ring
buffer.
2019-03-29 11:33:04 -07:00
Chris Robinson
fe7918465e
Use a function reference for a template parameter
2019-03-28 10:00:35 -07:00
Chris Robinson
dfb81ff42d
Avoid using the HRTF history buffer as a ring buffer
...
The HRTF mixers now get a full input buffer with the history prepended, so the
delay offsets just need to account for the start point and read forward for
each sample.
2019-03-28 09:34:31 -07:00
Chris Robinson
d99d2a400a
Don't copy old coeffs in MixHrtfBlendBase
2019-03-10 14:31:46 -07:00
Chris Robinson
90d1e1212b
Pass a reference to function for a template parameter
2019-03-03 00:24:33 -08:00
Chris Robinson
69d8c6546d
Use std::arrays for HRIR coeffs and values
2019-02-07 08:38:49 -08:00
Chris Robinson
ebb46cf4cf
Rename a header
...
To workaround an apparent MSVC error
2019-01-23 15:09:11 -08:00
Chris Robinson
1ec8686407
Add missing includes
2019-01-23 13:46:43 -08:00
Chris Robinson
ce3acf4d1b
Make hrtf_inc.cpp a proper header
2019-01-23 12:33:18 -08:00
Chris Robinson
8429770c3f
Use template declarations for the HRTF mixers
2019-01-23 12:23:05 -08:00
Chris Robinson
d3842a632d
Use template declarations for the normal mixing functions
2019-01-23 11:21:03 -08:00
Chris Robinson
23179d0bcd
Use a template declaration for the resampler functions
2019-01-23 11:11:41 -08:00
Chris Robinson
867161d55f
Constify some parameters
2019-01-12 21:08:34 -08:00
Filip Gawin
4169c6f37d
Use c++ headers
2019-01-09 19:42:40 +01:00
Filip Gawin
0d3a0635d9
Avoid using old style casts
...
To think about:
examples/alffplay.cpp:600
OpenAL32/Include/alMain.h:295
2019-01-08 19:42:44 +01:00
Chris Robinson
20a5306bdf
Clean up some initializers and use of C methods
2019-01-06 21:16:08 -08:00
Chris Robinson
a9e71c2668
Handle all input channels in MixDirectHrtf
2018-12-31 23:33:04 -08:00
Chris Robinson
5a9a1c8d7d
Further improve HRTF methods to avoid masking in the inner loops
2018-12-31 04:12:20 -08:00
Chris Robinson
4f253a935a
Handle HRTF coefficients and values by reference where possible
2018-12-26 15:35:05 -08:00
Chris Robinson
c5be03b51e
Avoid masking in ApplyCoeffs's inner loop
...
This unfortunately does not apply to NEON, which would need a bit more
reworking of its method.
2018-12-26 14:59:21 -08:00
Chris Robinson
fbae41020d
Remove extraneous typedef, struct, and enum keywords
2018-12-24 19:29:01 -08:00
Chris Robinson
334b3a905a
Clean up some math stuff
2018-12-22 16:01:14 -08:00
Chris Robinson
ad2639248a
Avoid another DECL_TEMPLATE macro
2018-11-25 10:52:17 -08:00
Chris Robinson
d10301c209
Remove unused headers and checks
2018-11-17 19:52:54 -08:00
Chris Robinson
7f69dbb517
Convert the mixers to C++
2018-11-17 17:49:55 -08:00
Chris Robinson
2d4ff77410
Remove ASSUME_ALIGNED
...
It's become a liability with C++ since it returns void* instead of the input
pointer type, and it doesn't seem to help optimizations anyway (auto-
vectorization still produces unaligned loads and stores).
2018-11-17 17:35:52 -08:00
Chris Robinson
53373a43b8
Convert ALu.c to C++
...
Required changes to bsincgen to generate C++-friendly structures.
2018-11-16 20:32:19 -08:00
Chris Robinson
903d878460
Replace restrict with RESTRICT
2018-10-29 11:32:50 -07:00
Chris Robinson
77a53594ba
Improve the gain stepping difference check
...
Given the more stable stepping now in use, check that the total difference is
enough for perceptible transition, instead of the step itself.
2018-09-22 08:26:52 -07:00
Chris Robinson
9ef4dd4247
Use ALsizei for the source resample position
2018-09-18 19:08:13 -07:00
Chris Robinson
7f4441ffbe
Handle the bsinc C resampler like the others
2018-09-17 04:07:56 -07:00
Chris Robinson
0f243b927c
Slightly restructure some loops
2018-09-03 17:07:43 -07:00
Chris Robinson
fce86815f4
Extract SIMD values right before using them
2018-09-03 12:42:31 -07:00
Chris Robinson
dacd08dc5d
Use shuffle+cvt to extract SIMD values instead of storing to memory
2018-08-26 22:36:30 -07:00
Chris Robinson
7501c8b483
Simplify counting for the bsinc FIR loop
2018-05-19 08:18:08 -07:00
Chris Robinson
588a6bcb4f
Simplify counting for SIMD MixRow functions
2018-05-15 23:14:23 -07:00
Chris Robinson
4ee04cd444
Use a step counter for gain stepping
...
This should provide more stable stepping, preventing floating-point errors from
accumulating on each step/sample.
2018-05-14 23:41:29 -07:00
Chris Robinson
4ee26f4ca3
Add some more ASSUME statements
2018-04-21 02:44:01 -07:00
Chris Robinson
90b8d639f1
Remove unnecessary undefs
2018-04-19 18:24:27 -07:00
Chris Robinson
f96a8fe369
Add some ASSUME statements that ensure mixing at least 1 sample
2018-04-18 20:39:52 -07:00
Chris Robinson
150586d7fe
Add an ASSUME macro that requires a true condition
2018-04-17 22:50:50 -07:00
Chris Robinson
7a23330ffe
Move the filter implementation to a separate directory
2018-03-22 07:05:40 -07:00
Chris Robinson
6ea3b5445f
Rename mixer_inc.c to hrtf_inc.c
2018-03-22 05:41:42 -07:00
Chris Robinson
091e676db3
Move mixer sources into a sub-directory
2018-03-22 05:06:15 -07:00