Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add some more ASSUMEs | Chris Robinson | 2018-12-23 | 1 | -6/+13 | |
| | ||||||
* | Repack some AmbiUpsampler fields for better access patterns | Chris Robinson | 2018-12-23 | 2 | -16/+18 | |
| | ||||||
* | Properly rebalance the HF scale with ambisonic upsampling | Chris Robinson | 2018-12-23 | 1 | -5/+32 | |
| | ||||||
* | Mix effect slot output to the effect target if it's set | Chris Robinson | 2018-12-23 | 13 | -61/+181 | |
| | ||||||
* | Dynamically sort the effect slots when mixing | Chris Robinson | 2018-12-22 | 4 | -8/+51 | |
| | | | | | | | | | This is to be able to support effects that output to other effects. When an effect outputs to another effect, the former needs to process first, so the former mixes to the latter's buffer before the latter is processed. This sorting needs to happen in the mixer because the effect slot's "Target" property changes asynchronously. | |||||
* | Fix narrowing conversion from double to float | Chris Robinson | 2018-12-22 | 1 | -2/+2 | |
| | ||||||
* | Cleanup definitions and declarations in reverb.cpp | Chris Robinson | 2018-12-22 | 1 | -253/+221 | |
| | ||||||
* | Constify a parameter | Chris Robinson | 2018-12-22 | 13 | -25/+25 | |
| | ||||||
* | Clean up some math stuff | Chris Robinson | 2018-12-22 | 10 | -80/+70 | |
| | ||||||
* | 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 | 7 | -82/+81 | |
| | ||||||
* | 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 | 5 | -19/+19 | |
| | ||||||
* | 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 | |
| | ||||||
* | Add an assume_aligned helper | Chris Robinson | 2018-12-20 | 1 | -0/+15 | |
| | ||||||
* | 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 | 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 | |
| |