Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Rename a couple global variables | Chris Robinson | 2018-12-09 | 3 | -17/+17 |
| | | | | Avoid clashing with an enum name | ||||
* | Add default construction to HrtfEntry | Chris Robinson | 2018-12-09 | 1 | -3/+1 |
| | |||||
* | Use a vector for LoadedHrtfs | Chris Robinson | 2018-12-09 | 1 | -67/+65 |
| | |||||
* | Avoid static global initialization functions | Chris Robinson | 2018-12-08 | 6 | -160/+50 |
| | |||||
* | Rename a member variable and inline a function | Chris Robinson | 2018-12-08 | 2 | -9/+6 |
| | |||||
* | Avoid several uses of memset | Chris Robinson | 2018-12-08 | 10 | -39/+33 |
| | |||||
* | Add missing include | Chris Robinson | 2018-12-08 | 1 | -0/+1 |
| | |||||
* | A bit more cleanup | Chris Robinson | 2018-12-08 | 1 | -21/+15 |
| | |||||
* | Use member functions for BFormatDec and AmbiUpsampler | Chris Robinson | 2018-12-08 | 4 | -129/+122 |
| | |||||
* | Clean up some more loops | Chris Robinson | 2018-12-08 | 3 | -53/+55 |
| | |||||
* | Inline a simple method | Chris Robinson | 2018-12-08 | 2 | -8/+1 |
| | |||||
* | Avoid using the deprecated mem_fun_ref method | Chris Robinson | 2018-12-07 | 1 | -1/+1 |
| | |||||
* | Add fourth-order methods to the NFC filter | Chris Robinson | 2018-12-07 | 2 | -118/+119 |
| | | | | Unused, but it finishes out the currently possible implementations. | ||||
* | Use a constructor instead of a macro to initialize AsyncEvent | Chris Robinson | 2018-12-06 | 2 | -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 | 6 | -65/+60 |
| | |||||
* | Use class methods for the NFC filters | Chris Robinson | 2018-12-05 | 5 | -140/+139 |
| | |||||
* | Use class methods for the biquad filter | Chris Robinson | 2018-12-04 | 9 | -153/+146 |
| | |||||
* | Avoid using AL types with the filters | Chris Robinson | 2018-12-04 | 4 | -48/+48 |
| |