Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove extraneous typedef, struct, and enum keywords | Chris Robinson | 2018-12-24 | 1 | -9/+9 |
| | |||||
* | Mix effect slot output to the effect target if it's set | Chris Robinson | 2018-12-23 | 1 | -0/+3 |
| | |||||
* | Rename a couple HRTF structs | Chris Robinson | 2018-12-22 | 1 | -10/+10 |
| | |||||
* | Don't convert the HRTF decoder virtual speaker positions to radians | Chris Robinson | 2018-12-21 | 1 | -21/+21 |
| | |||||
* | Use a dodecahedron for the ambisonic HRTF decode | Chris Robinson | 2018-12-21 | 1 | -68/+51 |
| | | | | | | | Also uses full second-order for "basic" HRTF rendering. Note that the supplied matrix is full third-order, but only the first- and second-order coefficients are used. The base matrices are the identical, only differing by the high- frequency scalars. | ||||
* | Pass RealMixParams by reference instead of pointer | Chris Robinson | 2018-12-20 | 1 | -1/+1 |
| | |||||
* | Add index maps from 2D and 3D | Chris Robinson | 2018-12-20 | 1 | -17/+16 |
| | |||||
* | Use std::array in place of some C-style arrays | Chris Robinson | 2018-12-20 | 1 | -19/+18 |
| | |||||
* | Rename some conversion arrays | Chris Robinson | 2018-12-20 | 1 | -22/+22 |
| | |||||
* | Use inline methods for the device format sizes | Chris Robinson | 2018-12-19 | 1 | -3/+3 |
| | |||||
* | Use the AmbiUpsampler with higher order basic and custom panning | Chris Robinson | 2018-12-17 | 1 | -79/+47 |
| | | | | Also allocate the BFormatDec and AmbiUpsampler where they're (re)set. | ||||
* | Always use the transcode method with the AmbiUpsampler | Chris Robinson | 2018-12-16 | 1 | -14/+2 |
| | |||||
* | Put the ACN index map in a header | Chris Robinson | 2018-12-15 | 1 | -30/+16 |
| | | | | Also put it and the Ambisonic scales in a more appropriate header. | ||||
* | Reorder some math terms to help optimizations | Chris Robinson | 2018-12-15 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | Because floating-point math is not associative ((a*b)*c does not necessarily give the same result as a*(b*c)), the ordering of terms can inhibit reuse of temporary values. For example, both coeffs[9] = 2.091650066f * y * (3.0f*x*x - y*y); and coeffs[15] = 2.091650066f * x * (x*x - 3.0f*y*y); contain x*x and y*y terms that could be calculated once, stored in temporary registers, and reused to multiply with 3. But since 3.0f*(x*x) would produce different results, the compiler is not allowed to make that optimization. If, however, the multiply with 3 is moved to the right side: coeffs[9] = 2.091650066f * y * (x*x*3.0f - y*y); and coeffs[15] = 2.091650066f * x * (x*x - y*y*3.0f); in both cases x*x and y*y are calculated first in their respective groups, guaranteeing the same results for both instances prior to the multiply with 3 and allowing the compiler to reuse those intermediate values. | ||||
* | Add encoding calculations for fourth-order ambisonics | Chris Robinson | 2018-12-15 | 1 | -1/+11 |
| | |||||
* | Make the AmbDec speaker and matrix arrays dynamic | Chris Robinson | 2018-12-15 | 1 | -11/+12 |
| | |||||
* | Clean up panning.cpp a bit | Chris Robinson | 2018-12-15 | 1 | -64/+51 |
| | |||||
* | Add macros for the ambisonic order masks | Chris Robinson | 2018-12-14 | 1 | -15/+18 |
| | |||||
* | Fix some MSVC conversion warnings | Chris Robinson | 2018-12-12 | 1 | -9/+9 |
| | |||||
* | Use helpers to get the Ambisonic scales and layout maps | Chris Robinson | 2018-12-10 | 1 | -10/+24 |
| | |||||
* | A bit more cleanup | Chris Robinson | 2018-12-10 | 1 | -44/+35 |
| | |||||
* | Clean up a few more loops | Chris Robinson | 2018-12-10 | 1 | -83/+84 |
| | |||||
* | Add missing header | Chris Robinson | 2018-12-10 | 1 | -0/+1 |
| | |||||
* | Put static methods into an anonymous namespace | Chris Robinson | 2018-12-10 | 1 | -131/+128 |
| | |||||
* | Avoid some more explicit loops | Chris Robinson | 2018-12-10 | 1 | -54/+41 |
| | |||||
* | Use std::accumulate to find the max channel count | Chris Robinson | 2018-12-09 | 1 | -15/+12 |
| | |||||
* | Avoid some more explicit loops | Chris Robinson | 2018-12-09 | 1 | -13/+21 |
| | |||||
* | Pass a reference to an array for a function parameter | Chris Robinson | 2018-12-09 | 1 | -1/+1 |
| | |||||
* | Avoid several uses of memset | Chris Robinson | 2018-12-08 | 1 | -23/+17 |
| | |||||
* | Use member functions for BFormatDec and AmbiUpsampler | Chris Robinson | 2018-12-08 | 1 | -4/+4 |
| | |||||
* | Clean up some more loops | Chris Robinson | 2018-12-08 | 1 | -4/+4 |
| | |||||
* | Remove some more explicit loops | Chris Robinson | 2018-12-05 | 1 | -19/+21 |
| | |||||
* | Use class methods for BandSplitter and SplitterAllpass filters | Chris Robinson | 2018-12-05 | 1 | -2/+2 |
| | |||||
* | Avoid a couple explicit loops | Chris Robinson | 2018-11-22 | 1 | -19/+18 |
| | |||||
* | Use unique_ptr for DirectHrtfState | Chris Robinson | 2018-11-22 | 1 | -5/+4 |
| | |||||
* | Clean up some unnecessary specifiers | Chris Robinson | 2018-11-22 | 1 | -4/+4 |
| | |||||
* | Use unique_ptr for bs2b | Chris Robinson | 2018-11-22 | 1 | -3/+3 |
| | |||||
* | Use unique_ptr for BFormatDec and AmbiUpsampler | Chris Robinson | 2018-11-22 | 1 | -16/+13 |
| | |||||
* | Use a unique_ptr for the FrontStablizer | Chris Robinson | 2018-11-22 | 1 | -7/+5 |
| | |||||
* | Use a unique_ptr for Uhj2Encoder | Chris Robinson | 2018-11-21 | 1 | -1/+1 |
| | |||||
* | Use a normal vector for the distance buffer storage | Chris Robinson | 2018-11-21 | 1 | -8/+3 |
| | |||||
* | Use an enum class for AmbiLayout/Norm settings | Chris Robinson | 2018-11-20 | 1 | -4/+4 |
| | |||||
* | Use a standard string for the device's HRTF name | Chris Robinson | 2018-11-18 | 1 | -5/+4 |
| | |||||
* | Use a regular vector for the enumerated HRTF list | Chris Robinson | 2018-11-18 | 1 | -12/+9 |
| | |||||
* | Use a std::string for the device name | Chris Robinson | 2018-11-18 | 1 | -9/+9 |
| | |||||
* | Avoid more cases of an enum variable and type name clash | Chris Robinson | 2018-11-18 | 1 | -14/+14 |
| | |||||
* | Remove unused headers and checks | Chris Robinson | 2018-11-17 | 1 | -1/+0 |
| | |||||
* | Use a regular char* for the device's name | Chris Robinson | 2018-11-15 | 1 | -17/+9 |
| | |||||
* | Pass a normal const char* to EnumerateHrtf | Chris Robinson | 2018-11-15 | 1 | -1/+1 |
| | |||||
* | Make the enumerated HRTF entry name a char* | Chris Robinson | 2018-11-12 | 1 | -3/+3 |
| | | | | | Would ideally be a std::string with the HRTF name itself, but they're still seen in C code. |