AuroraOpenALSoft/OpenAL32
Chris Robinson c6c6e3324d Decode directly from B-Format to HRTF instead of a cube
Last time this attempted to average the HRIRs according to their contribution
to a given B-Format channel as if they were loudspeakers, as well as averaging
the HRIR delays. The latter part resulted in the loss of the ITD (inter-aural
time delay), a key component of HRTF.

This time, the HRIRs are averaged similar to above, except instead of averaging
the delays, they're applied to the resulting coefficients (for example, a delay
of 8 would apply the HRIR starting at the 8th sample of the target HRIR). This
does roughly double the IR length, as the largest delay is about 35 samples
while the filter is normally 32 samples. However, this is still smaller the
original data set IR (which was 256 samples), it also only needs to be applied
to 4 channels for first-order ambisonics, rather than the 8-channel cube. So
it's doing twice as much work per sample, but only working on half the number
of samples.

Additionally, since the resulting HRIRs no longer rely on an extra delay line,
a more efficient HRTF mixing function can be made that doesn't use one. Such a
function can also avoid the per-sample stepping parameters the original uses.
2016-08-11 23:20:35 -07:00
..
Include Decode directly from B-Format to HRTF instead of a cube 2016-08-11 23:20:35 -07:00
alAuxEffectSlot.c Avoid a NULL deref when creating 0 auxiliary effect slots 2016-07-26 04:54:27 -07:00
alBuffer.c Use separate arrays for UIntMap keys and values 2016-07-04 20:35:32 -07:00
alEffect.c Use al_calloc/al_free in more places 2016-08-03 17:36:42 -07:00
alError.c Update COPYING to the latest https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source 2014-08-18 11:34:29 -07:00
alExtension.c Remove broken autowah effect code 2016-07-26 03:45:25 -07:00
alFilter.c Use al_calloc/al_free in more places 2016-08-03 17:36:42 -07:00
alListener.c Avoid redundantly storing distance model settings 2016-05-17 20:02:46 -07:00
alSource.c Avoid checking DeferUpdates for each source state change 2016-08-08 22:31:08 -07:00
alState.c Avoid redundantly storing distance model settings 2016-05-17 20:02:46 -07:00
alThunk.c Increase the default thunk array size 2016-07-25 06:29:08 -07:00
sample_cvt.c Add some asserts to verify block alignment for conversion 2014-05-20 09:16:54 -07:00