aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/bformatdec.h
Commit message (Collapse)AuthorAgeFilesLines
* Use an alternate ambisonic HRTF decode layoutChris Robinson2018-02-131-2/+2
| | | | | | Similar to the previous, but includes the top and bottom HRTF responses. The higher-order decode (for the "basic" HRTF output) also now uses 2H1P mixed- order instead of 2H1V, which seems more stable.
* Make bformatdec_free and ambiup_free clear the freed pointerChris Robinson2018-02-121-2/+2
|
* Clarify some macro names using ambisonic mixed-mode notationChris Robinson2018-02-091-8/+8
|
* Replace some freq_mult variable names with f0normChris Robinson2018-01-131-2/+2
| | | | | | The latter is a bit more descriptive as f0 is often used to denote the reference frequency of a filter, so f0norm indicates the normalized reference frequency (ref_freq / sample_rate).
* Add a front-stablizer config option for surround sound modesChris Robinson2017-07-311-0/+8
| | | | | | | | | | | | This improves a stereo (front-left + front-right) sound "image" by generating a front-center channel signal. Done correctly, it helps reduce the comb effects and phase errors associated with using only two speakers to simulate center sounds. Note that it shouldn't be used if the front-center channel is already included in the positional audio mix (the dialog effect is okay). In general, it may actually be better to exclude the front-center channel from the positional audio mix and use this to generate front-center output.
* Add an all-pass filter that replicates the band splitter's phase shiftChris Robinson2017-07-191-0/+12
|
* Remove an unneeded functionChris Robinson2017-02-281-1/+0
|
* Remove an unused functionChris Robinson2017-02-231-1/+0
|
* Remove an unused flag enumChris Robinson2017-02-201-3/+0
|
* Apply distance compensation when writing to the outputChris Robinson2017-02-191-1/+1
|
* Don't use periphonic FOA when the HOA decoder is not periphonicChris Robinson2017-02-191-0/+1
|
* Replace more ALuint with ALsizeiChris Robinson2017-01-291-1/+1
|
* Improve the ambisonic upscaling methodsChris Robinson2017-01-241-0/+18
| | | | | | | | This now takes advantage of the differences seen in generated decoder matrices for first-order compared to second- and third-order, such that with the appropriate frequency-dependent scaling applied to first-order content, the result is identical with a higher-order decoder matrix compared to a first- order matrix for the same layout.
* More ALsizei, with the B-Format decoderChris Robinson2017-01-161-4/+4
|
* Use ALsizei in a few more placesChris Robinson2017-01-161-1/+1
|
* Make some pointer-to-array parameters constChris Robinson2016-10-041-3/+3
|
* Band-split the HRIRs when building the ambisonic decoder filtersChris Robinson2016-08-211-0/+15
| | | | | This allows each HRIR to contribute a frequency-dependent response, essentially acting like a dual-band decoder playing over the cube speaker array.
* Add a stand-alone upsampler for higher-order ambisonic oputputChris Robinson2016-07-301-0/+10
|
* Add a config option for distance compensationChris Robinson2016-03-261-1/+5
|
* Up-sample first-order content when using a higher order HQ decoderChris Robinson2016-03-231-0/+5
|
* Add a specific output for first-order sourcesChris Robinson2016-03-221-0/+1
|
* Add a dual-band ambisonic decoderChris Robinson2016-03-151-0/+14
This uses a virtual B-Format buffer for mixing, and then uses a dual-band decoder for improved positional quality. This currently only works with first- order output since first-order input (from the AL_EXT_BFROMAT extension) would not sound correct when fed through a second- or third-order decoder. This also does not currently implement near-field compensation since near-field rendering effects are not implemented.