Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Constify a parameter | Chris Robinson | 2018-12-22 | 12 | -24/+24 |
| | |||||
* | Clean up some math stuff | Chris Robinson | 2018-12-22 | 6 | -38/+47 |
| | |||||
* | Fix for C++11 compatibility | Chris Robinson | 2018-12-22 | 1 | -4/+4 |
| | | | | std::array::operator[] isn't constexpr until C++14. | ||||
* | Use a normal delete instead of ll_ringbuffer_free | Chris Robinson | 2018-12-22 | 12 | -169/+119 |
| | | | | And use RingBufferPtr in more places | ||||
* | A bit of cleanup for CalcPanningAndFilters | Chris Robinson | 2018-12-22 | 1 | -24/+30 |
| | |||||
* | Rename a couple HRTF structs | Chris Robinson | 2018-12-22 | 6 | -79/+78 |
| | |||||
* | Try to help GetHrtfCoeffs vectorize | Chris Robinson | 2018-12-21 | 1 | -21/+19 |
| | |||||
* | Small cleanup for BuildBFormatHrtf | Chris Robinson | 2018-12-21 | 1 | -35/+39 |
| | |||||
* | Don't convert the HRTF decoder virtual speaker positions to radians | Chris Robinson | 2018-12-21 | 3 | -33/+32 |
| | |||||
* | 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 | 4 | -17/+17 |
| | |||||
* | Fix the type used for another subtraction | Chris Robinson | 2018-12-20 | 1 | -1/+1 |
| | |||||
* | Silence some MSVC warnings | Chris Robinson | 2018-12-20 | 1 | -4/+4 |
| | |||||
* | Fix the type used for subtraction | Chris Robinson | 2018-12-20 | 1 | -1/+1 |
| | |||||
* | Clean up most of the compressor loops | Chris Robinson | 2018-12-20 | 2 | -202/+171 |
| | |||||
* | Use std::accumulate to get the max composited buffer length loaded | Chris Robinson | 2018-12-20 | 1 | -36/+35 |
| | |||||
* | Add index maps from 2D and 3D | Chris Robinson | 2018-12-20 | 3 | -25/+30 |
| | |||||
* | Use std::array in place of some C-style arrays | Chris Robinson | 2018-12-20 | 3 | -31/+32 |
| | |||||
* | Rename some conversion arrays | Chris Robinson | 2018-12-20 | 3 | -31/+31 |
| | |||||
* | Use inline methods for the device format sizes | Chris Robinson | 2018-12-19 | 16 | -102/+77 |
| | |||||
* | Don't hardcode the channel count from the device ambisonic order | Chris Robinson | 2018-12-19 | 1 | -7/+5 |
| | |||||
* | Don't allow FuMa ordering or normalization above third-order | Chris Robinson | 2018-12-19 | 1 | -2/+14 |
| | |||||
* | Combine handling of attribute processing | Chris Robinson | 2018-12-18 | 1 | -208/+143 |
| | |||||
* | Use the AmbiUpsampler with higher order basic and custom panning | Chris Robinson | 2018-12-17 | 2 | -96/+47 |
| | | | | Also allocate the BFormatDec and AmbiUpsampler where they're (re)set. | ||||
* | Avoid hard-coded scale factors in BFormatDec's upsampler | Chris Robinson | 2018-12-17 | 1 | -23/+36 |
| | |||||
* | Mix each frequency band individually for ambisonic upsampling | Chris Robinson | 2018-12-16 | 2 | -8/+7 |
| | |||||
* | Always use the transcode method with the AmbiUpsampler | Chris Robinson | 2018-12-16 | 3 | -63/+23 |
| | |||||
* | Avoid extraneous alignment requirements | Chris Robinson | 2018-12-16 | 1 | -2/+2 |
| | |||||
* | Put the ACN index map in a header | Chris Robinson | 2018-12-15 | 4 | -82/+88 |
| | | | | 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 |
| | |||||
* | Move some ambisonic-related macros to a separate header | Chris Robinson | 2018-12-15 | 4 | -10/+56 |
| | |||||
* | Make the AmbDec speaker and matrix arrays dynamic | Chris Robinson | 2018-12-15 | 4 | -70/+76 |
| | |||||
* | Avoid some explicit loop counts | Chris Robinson | 2018-12-15 | 2 | -43/+27 |
| | |||||
* | 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 | 2 | -23/+30 |
| | |||||
* | Cleanup bformatdec.cpp a bit | Chris Robinson | 2018-12-13 | 1 | -81/+30 |
| | |||||
* | Add more casts for MSVC | Chris Robinson | 2018-12-12 | 5 | -12/+20 |
| | |||||
* | Fix some MSVC conversion warnings | Chris Robinson | 2018-12-12 | 7 | -38/+37 |
| | |||||
* | Use proper classes for Vector and Matrix types | Chris Robinson | 2018-12-12 | 7 | -148/+109 |
| | |||||
* | Cleanup alu.cpp some | Chris Robinson | 2018-12-12 | 1 | -301/+237 |
| | |||||
* | Use helpers to get the Ambisonic scales and layout maps | Chris Robinson | 2018-12-10 | 2 | -14/+32 |
| | |||||
* | A bit more cleanup | Chris Robinson | 2018-12-10 | 3 | -130/+111 |
| | |||||
* | 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 | 2 | -55/+42 |
| | |||||
* | 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 |
| |