aboutsummaryrefslogtreecommitdiffstats
path: root/core/ambidefs.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make a function constexprChris Robinson2023-05-081-1/+1
|
* Combine multiple similar functions into oneChris Robinson2023-01-261-124/+16
|
* Move some comments to a more appropriate placeChris Robinson2022-09-231-32/+32
|
* Allow different HF scales for 2D mixing/outputChris Robinson2022-09-041-3/+23
| | | | | Not actually used yet, the device needs to track whether it's using 2D or 3D mixing.
* Use the difference in HF scale for upsampling ambisonicsChris Robinson2022-09-031-18/+27
|
* Update the second-order upsampler HF scaleChris Robinson2022-09-021-1/+1
|
* Revert "Don't apply the HF scaling for "upsampling" ambisonics"Chris Robinson2022-09-021-0/+19
| | | | This reverts commit bf3f63fb4c5faa45784d7433d68b7013e29ee2c1.
* Use an icosahedron for 3D second-orderChris Robinson2022-09-011-30/+26
|
* Don't apply the HF scaling for "upsampling" ambisonicsChris Robinson2022-08-311-19/+0
| | | | | | | | | | | | Not sure if this is best, but it fixes the issue of upsampling lower orders to higher orders multiple times (mixing lower order to higher order, cutting back to lower order by dropping the extra channels, then upsampling again, applying the HF scale multiple times and messing up the high frequencies/energy vector), as well as having too-strong high frequencies of upsampled content in general. As it is, with the new upsampling method, the lower order signal contributes to some higher order channels, which helps offset the high frequency scaling difference (except first- to second-order, which adds nothing).
* Use predefined variables to handle 1/sqrt(3)Chris Robinson2022-08-301-44/+45
|
* Add a 2D fourth-order upsamplerChris Robinson2022-08-271-0/+51
| | | | This will be necessary for 2D fourth-order sources with 3D fourth-order output.
* Fix variable nameChris Robinson2022-08-261-1/+1
|
* Create and use 2D upsampling matricesChris Robinson2022-08-251-3/+140
|
* Create a proper third-order upsampler matrixChris Robinson2022-08-191-5/+63
| | | | | This is just an identity matrix for now, since with third-order mixing, it results in a matrix being multiplied with it's inverse.
* Avoid duplicate codeChris Robinson2022-08-181-44/+0
|
* Inline a function and remove an unnecessary parameterChris Robinson2022-08-161-27/+10
|
* Use the proper type for a global definitionChris Robinson2022-08-151-9/+11
| | | | | Some compilers don't seem to like auto deduction for defining a declared variable.
* Use a decode-encode method for ambisonic upsamplingChris Robinson2022-08-151-16/+172
| | | | | | | | This should allow for clearer and less diffuse responses. While a cube is in the blindspots for second-order, resulting in an identify transform for first- to-second-order, they do start contributing to third-order channels, which should make for sharper virtual points. The fixed HF scales should also play nicer with larger order upmixes.
* Update some arrays in preparation for fourth order supportChris Robinson2022-08-141-5/+8
|
* Move GetHFOrderScales to a more appropriate placeChris Robinson2021-04-241-0/+44
|
* Avoid global constexpr arraysChris Robinson2021-01-211-15/+0
|
* Rename From2D to FromACN2DChris Robinson2020-12-251-1/+1
|
* Move ambidefs.h to coreChris Robinson2020-12-121-0/+15