Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add an all-pass filter that replicates the band splitter's phase shift | Chris Robinson | 2017-07-19 | 1 | -0/+39 |
| | |||||
* | Remove an unneeded function | Chris Robinson | 2017-02-28 | 1 | -22/+6 |
| | |||||
* | Remove an unused function | Chris Robinson | 2017-02-23 | 1 | -5/+0 |
| | |||||
* | Avoid duplicating device buffer layout logic | Chris Robinson | 2017-02-20 | 1 | -0/+1 |
| | |||||
* | Apply distance compensation when writing to the output | Chris Robinson | 2017-02-19 | 1 | -103/+12 |
| | |||||
* | Don't use periphonic FOA when the HOA decoder is not periphonic | Chris Robinson | 2017-02-19 | 1 | -13/+9 |
| | |||||
* | Replace more ALuint with ALsizei | Chris Robinson | 2017-01-29 | 1 | -10/+10 |
| | |||||
* | Improve the ambisonic upscaling methods | Chris Robinson | 2017-01-24 | 1 | -100/+116 |
| | | | | | | | | 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. | ||||
* | Small update for the "virtual" Ambi2DDecoder coefficients | Chris Robinson | 2017-01-17 | 1 | -5/+5 |
| | |||||
* | More ALsizei, with the B-Format decoder | Chris Robinson | 2017-01-16 | 1 | -13/+13 |
| | |||||
* | Use ALsizei in a few more places | Chris Robinson | 2017-01-16 | 1 | -2/+2 |
| | |||||
* | Use a function to generate the up-sampler transcode matrix | Chris Robinson | 2016-11-24 | 1 | -54/+56 |
| | |||||
* | Make some pointer-to-array parameters const | Chris Robinson | 2016-10-04 | 1 | -21/+14 |
| | |||||
* | Make the SelectMixer function sharable | Chris Robinson | 2016-09-06 | 1 | -2/+2 |
| | |||||
* | Rename some variables for clarity | Chris Robinson | 2016-09-06 | 1 | -28/+30 |
| | |||||
* | Use more correct cube decoder matrices | Chris Robinson | 2016-09-05 | 1 | -8/+8 |
| | |||||
* | Rename MatrixMixerFunc to RowMixerFunc | Chris Robinson | 2016-09-02 | 1 | -2/+2 |
| | |||||
* | Use MixMatrixRow to upsample the split frequency bands to the output | Chris Robinson | 2016-09-01 | 1 | -30/+12 |
| | |||||
* | Simplify the ambisonic up-sampler | Chris Robinson | 2016-08-30 | 1 | -65/+99 |
| | | | | | It still behaves the same, although now combines the separate decode+encode matrices into a transcode matrix (one per frequency band). | ||||
* | Band-split the HRIRs when building the ambisonic decoder filters | Chris Robinson | 2016-08-21 | 1 | -10/+10 |
| | | | | | 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 oputput | Chris Robinson | 2016-07-30 | 1 | -8/+77 |
| | |||||
* | Make a MAX_AMBI2D_COEFFS macro instead of a magic number | Chris Robinson | 2016-07-17 | 1 | -4/+4 |
| | |||||
* | Repack the ambisonic dual-band decoder matrices | Chris Robinson | 2016-07-17 | 1 | -94/+105 |
| | | | | | | The decoders use a row of the HF decoder matrix followed by a row of the LF decoder matrix, for each given output channel in turn. Packing the two matrices accordingly results in less memory hopping. | ||||
* | Implement a Neon-enhanced MixRow | Chris Robinson | 2016-06-01 | 1 | -0/+4 |
| | |||||
* | Use a macro to specify the ambisonic periphonic channel mask | Chris Robinson | 2016-06-01 | 1 | -1/+1 |
| | |||||
* | Use SSE for applying the HQ B-Format decoder matrices | Chris Robinson | 2016-05-31 | 1 | -27/+29 |
| | |||||
* | Don't access the band splitter fields in the processing loops | Chris Robinson | 2016-05-31 | 1 | -9/+16 |
| | | | | | | perf shows a 5% drop in relative execution time on the alffplay example with an audio-only file (20% to 15%). Kinda figured the optimizer would handle it better, but I guess not. | ||||
* | Improve radius behavior with scaling of ambisonic coefficients | Chris Robinson | 2016-04-24 | 1 | -13/+13 |
| | |||||
* | Use frequency-dependent processing for the ambisonic up-sampler | Chris Robinson | 2016-04-09 | 1 | -3/+37 |
| | |||||
* | Move the aligned malloc functions to the common lib | Chris Robinson | 2016-03-29 | 1 | -0/+1 |
| | |||||
* | Skip unused output channels for the HQ decode | Chris Robinson | 2016-03-28 | 1 | -0/+13 |
| | |||||
* | Align the ChannelMix buffer and use it for up-sampling | Chris Robinson | 2016-03-27 | 1 | -9/+9 |
| | |||||
* | Include the distance gain compensation in the decoder matrix | Chris Robinson | 2016-03-26 | 1 | -56/+56 |
| | |||||
* | Add a config option for distance compensation | Chris Robinson | 2016-03-26 | 1 | -2/+2 |
| | |||||
* | Add distance compensation to the HQ decoder | Chris Robinson | 2016-03-26 | 1 | -4/+107 |
| | | | | | | This only compensates for timing and gain differences caused by differences in the physical speaker distances. It's not near-field compensation. This also relies on having proper distance values defined in the ambdec definition file. | ||||
* | Skip height-related ambisonic channels for 2D rendering | Chris Robinson | 2016-03-25 | 1 | -17/+78 |
| | |||||
* | Up-sample first-order content when using a higher order HQ decoder | Chris Robinson | 2016-03-23 | 1 | -0/+88 |
| | |||||
* | Add a specific output for first-order sources | Chris Robinson | 2016-03-22 | 1 | -0/+8 |
| | |||||
* | Simplify setting the matrix coeffs | Chris Robinson | 2016-03-22 | 1 | -42/+14 |
| | |||||
* | Properly handle negative matrix values and fix decoder initialization | Chris Robinson | 2016-03-15 | 1 | -1/+1 |
| | |||||
* | Add a dual-band ambisonic decoder | Chris Robinson | 2016-03-15 | 1 | -0/+286 |
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. |