aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/bformatdec.h
Commit message (Collapse)AuthorAgeFilesLines
* Apply the all-pass separately from the upsampling mixChris Robinson2019-01-081-2/+2
|
* Avoid macros for indexing HF and LF fequency bandsChris Robinson2019-01-081-3/+5
|
* Don't use the dual-band upsampler for basic ambisonic decodingChris Robinson2019-01-061-0/+2
|
* Apply an all-pass on the existing output when upsampling ambisonicsChris Robinson2019-01-061-3/+6
|
* Revert back to using a band-splitter to increase the HF responseChris Robinson2019-01-061-5/+10
| | | | | | Unfortunately the shelf filter causes issues due to the shelf gain magnitude creating a varying phase offset. The splitter also creates phase offsets, but it's consistent regardless of gain.
* Pass the normalized crossover frequency to the reset methodChris Robinson2019-01-051-1/+1
|
* Remove unnecessary structs and buffersChris Robinson2019-01-051-9/+3
|
* Simplify MixParams and AmbiUpsamplerChris Robinson2019-01-051-9/+3
| | | | Since the dry buffer is always an ambisonic target now
* Use BFormatDec for custom and built-in ambisonic decodingChris Robinson2019-01-051-1/+6
|
* Enable simplified upsampling for AmbiUpsamplerChris Robinson2019-01-051-1/+4
|
* Simplify the BFormatDec upsamplerChris Robinson2019-01-041-2/+2
| | | | | | | Since the only difference applied is a scalar on the high-frequency response, a B-Format-to-B-Format transcode can be accomplished with a high-shelf filter. A similar thing can be done with AmbiUpsampler, but only when outputing to periphonic B-Format.
* Avoid an intermediate mixing bufferChris Robinson2018-12-241-4/+2
|
* Repack some AmbiUpsampler fields for better access patternsChris Robinson2018-12-231-4/+5
|
* Use the AmbiUpsampler with higher order basic and custom panningChris Robinson2018-12-171-17/+0
| | | | Also allocate the BFormatDec and AmbiUpsampler where they're (re)set.
* Mix each frequency band individually for ambisonic upsamplingChris Robinson2018-12-161-1/+1
|
* Always use the transcode method with the AmbiUpsamplerChris Robinson2018-12-161-1/+1
|
* Avoid extraneous alignment requirementsChris Robinson2018-12-161-2/+2
|
* Put the ACN index map in a headerChris Robinson2018-12-151-47/+0
| | | | Also put it and the Ambisonic scales in a more appropriate header.
* A bit more cleanupChris Robinson2018-12-101-3/+42
|
* Avoid several uses of memsetChris Robinson2018-12-081-2/+2
|
* Use member functions for BFormatDec and AmbiUpsamplerChris Robinson2018-12-081-29/+35
|
* Clean up some more loopsChris Robinson2018-12-081-1/+1
|
* Use unique_ptr for BFormatDec and AmbiUpsamplerChris Robinson2018-11-221-18/+49
|
* Convert the BFormat decoder to C++Chris Robinson2018-11-031-3/+10
|
* Replace restrict with RESTRICTChris Robinson2018-10-291-3/+3
|
* Move the bnad-splitter filters to a separate sourceChris Robinson2018-04-211-34/+0
|
* Avoid duplicating some scale tablesChris Robinson2018-02-181-0/+8
|
* 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.