aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/bformatdec.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename Alc to alcChris Robinson2019-07-281-62/+0
|
* Rename alMain.h to alcmain.hChris Robinson2019-07-281-1/+1
| | | | And move it and alu.h to Alc/.
* Clean up includes a bitChris Robinson2019-07-281-6/+12
| | | | | | | Trying out the IWYU tool to only include what's necessary in a given file. Seems to work decently (it'll miss some headers, suggest unnecessary ones, and make nonsense suggestions for some things, but overall gives a good starting point), and helps clean out some headers.
* Pass a span to BFormatDec::processChris Robinson2019-07-031-2/+2
|
* Make some more channel counts unsignedChris Robinson2019-06-051-3/+3
|
* Make RealMixParams channel count unsignedChris Robinson2019-06-051-1/+1
|
* Use std::array for most mixing buffer arraysChris Robinson2019-05-281-2/+2
|
* Don't bother with a separate reset method for BFormatDecChris Robinson2019-03-311-9/+8
|
* Constify some parameters and remove an explicit loopChris Robinson2019-02-231-4/+9
|
* Remove the FOAOut mixing buffer and associated post-processesChris Robinson2019-02-221-34/+3
|
* Rename MAX_AMBI_COEFFS and MAX_AMBI2D_COEFFSChris Robinson2019-02-191-4/+4
|
* 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
|