Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use inline methods for the device format sizes | Chris Robinson | 2018-12-19 | 17 | -104/+78 |
| | |||||
* | Don't hardcode the channel count from the device ambisonic order | Chris Robinson | 2018-12-19 | 2 | -15/+16 |
| | |||||
* | 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 | 2 | -208/+145 |
| | |||||
* | 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 | 6 | -47/+58 |
| | |||||
* | 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 | 3 | -26/+41 |
| | |||||
* | Cleanup bformatdec.cpp a bit | Chris Robinson | 2018-12-13 | 1 | -81/+30 |
| | |||||
* | Add POPCNT32 and CTZ32 macros | Chris Robinson | 2018-12-13 | 1 | -13/+41 |
| | |||||
* | Add more casts for MSVC | Chris Robinson | 2018-12-12 | 5 | -12/+20 |
| | |||||
* | Fix some MSVC conversion warnings | Chris Robinson | 2018-12-12 | 14 | -58/+61 |
| | |||||
* | Fix an MSVC warning | Chris Robinson | 2018-12-12 | 1 | -1/+1 |
| | |||||
* | Remove an unused source | Chris Robinson | 2018-12-12 | 2 | -5/+0 |
| | |||||
* | Use proper classes for Vector and Matrix types | Chris Robinson | 2018-12-12 | 10 | -190/+199 |
| | |||||
* | 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 | 4 | -132/+113 |
| | |||||
* | Clean up a few more loops | Chris Robinson | 2018-12-10 | 2 | -85/+97 |
| | |||||
* | 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 | 2 | -4/+4 |
| | |||||
* | 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 | 7 | -163/+53 |
| | |||||
* | Add a cmake option to specify prebuilt native tools | Chris Robinson | 2018-12-08 | 1 | -17/+25 |
| | | | | | | This should only be used with automated build systems that guarantee the native tools' binaries are up-to-date. Otherwise it's best to leave it alone so it can automatically rebuild them as needed. | ||||
* | 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 | 13 | -46/+38 |
| | |||||
* | Add missing include | Chris Robinson | 2018-12-08 | 1 | -0/+1 |
| | |||||
* | Increase GAIN_MIX_MAX | Chris Robinson | 2018-12-08 | 1 | -1/+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 | 5 | -131/+124 |
| | |||||
* | 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 | 5 | -10/+12 |
| |