aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Clarify a comment about the band-splitterChris Robinson2020-05-201-4/+5
|
* Improve HRTF delay handlingChris Robinson2020-05-204-32/+19
| | | | | Ensures source-level HRTF, the dry mix, and direct output all align properly, and simplifies adding the delay in the direct mix output.
* Fix some commentsChris Robinson2020-05-191-4/+4
|
* Rename applyHfScale to processHfScaleChris Robinson2020-05-195-6/+6
|
* Use an enum for FamCountChris Robinson2020-05-196-11/+9
|
* Apply the ambisonic HF scaling in real-time with HRTFChris Robinson2020-05-194-23/+102
| | | | | | | | | Rather than applying the HF scale to the IRs necessitating them to be truncated along with increasing the IR size, it can be applied to the input signal for the same results. Consequently, the IR size can be notably shortened while avoiding the extra truncation. In its place, the delayed reversed all-pass technique can still be used on the input for maintaining phase when applying the bandsplit/hfscalar filter to the input signal.
* Move BUFFERSIZE and FloatBufferLine to a separate headerChris Robinson2020-05-193-9/+17
|
* Check that aligned_alloc is available with cmakeChris Robinson2020-05-193-5/+15
| | | | | | | | Some compilers support C++17 even on targets that lack required functions. Projects that want to force C++17 will then run into a problem with std::aligned_alloc not existing on those targets, so it needs to be explicitly checked for. The alternative is to simply never use it even when it would be available.
* Also search for asimd for NeonChris Robinson2020-05-171-2/+15
|
* Assume Neon support if cpu_caps.cpp is compiled with itChris Robinson2020-05-171-0/+5
|
* Include the existing direct signal in the UHJ delayChris Robinson2020-05-161-4/+11
| | | | | So any direct_channels sources and normal panned sources remain aligned, and the reported latency is accurate.
* Fix some standard callsChris Robinson2020-05-161-9/+7
|
* Fix the all-pass's shuffle orderChris Robinson2020-05-141-2/+2
|
* Give names to parameter value constantsChris Robinson2020-05-131-2/+16
|
* Do two samples at once with the SSE UHJ all-passChris Robinson2020-05-121-9/+45
|
* Clear the whole bufferChris Robinson2020-05-121-4/+2
|
* Properly count the last number of samples to mixChris Robinson2020-05-122-2/+4
|
* Fix applying the UHJ phase-shift filterChris Robinson2020-05-112-9/+8
|
* Move the bsinc tables out of commonChris Robinson2020-05-114-3/+3
|
* Change a couple functions into member functionsChris Robinson2020-05-103-70/+68
|
* Revert "Fix the FFT half point for the shifter effects"Chris Robinson2020-05-092-7/+7
| | | | This reverts commit 12bb5a47cda0ef6ec1ced73ccf5d267a71f9e710.
* Fix the UHJ filter generatorChris Robinson2020-05-091-2/+6
| | | | The half point needs to be included in the frequency response.
* Avoid a reference on a constexpr variableChris Robinson2020-05-081-1/+4
|
* Use a FIR filter for the UHJ all-passChris Robinson2020-05-083-77/+136
|
* Fix the FFT half point for the shifter effectsChris Robinson2020-05-082-7/+7
|
* Slightly improve the Hann windowsChris Robinson2020-05-082-4/+4
| | | | | | There's no need to include the 0 terms on the ends since they'll never contribute a sample. So extend the width to have the 0 terms just outside the window where it wouldn't contribute anyway.
* Use std::arrays for the UHJ filtersChris Robinson2020-05-082-44/+24
|
* Combine multiple UHJ encoder all-pass loopsChris Robinson2020-05-072-77/+82
|
* Use dual-band for the internal quad and 7.1 decodersChris Robinson2020-05-073-23/+76
|
* Allow declaring internal dual-band decodersChris Robinson2020-05-071-12/+45
|
* Re-add an option for installing the main libChris Robinson2020-05-071-28/+29
|
* Update the quad and 7.1 decodersChris Robinson2020-05-061-17/+17
|
* Make the built-in decoders more flexibleChris Robinson2020-05-063-113/+162
|
* Fix the dual-band decoderChris Robinson2020-05-051-5/+5
|
* Use a flexible array for the front stablizer delay buffersChris Robinson2020-05-052-8/+19
|
* Improve the front stablizerChris Robinson2020-05-053-52/+53
| | | | | Apply the all-pass+band-split only once, after generating the mid and side signals separately.
* Move some sin/cos constants out of a loopChris Robinson2020-05-041-10/+11
|
* Clear buffers right before useChris Robinson2020-05-031-3/+2
|
* Don't put the LFO on the stackChris Robinson2020-05-031-6/+6
|
* Use a helper to set an identity ambisonic panChris Robinson2020-05-036-29/+30
|
* Simplify SIMD linear resampler loop countChris Robinson2020-05-023-12/+9
|
* Use a matching type given the initializerChris Robinson2020-05-022-6/+6
|
* Improve the leftover and realignment mixing loopsChris Robinson2020-05-022-8/+8
| | | | | | | | Using a mask helps the compiler recognize that the leftover (any remaining non- multiple-of-4) and realignment loops will only have 3 iterations at most, which it can unroll or otherwise make more meaningful optimizations for. Previously it would try to vectorize and partially unroll the loops, which is wasteful when there would never be enough to vectorize.
* Avoid iterators for the main mixerChris Robinson2020-05-013-61/+53
|
* Make BuildBFormatHrtf a member of DirectHrtfStateChris Robinson2020-05-014-39/+38
|
* Don't truncate odd IR sizes with SSEChris Robinson2020-04-301-1/+1
|
* Use a more efficient type for holding the IrSizeChris Robinson2020-04-304-12/+12
|
* Dump the ffmpeg file info on the main threadChris Robinson2020-04-291-64/+64
|
* Correctly handle unicode paths on Windows for ALSOFT_LOGFILEChris Robinson2020-04-291-5/+13
|
* Rename effect_chain to effect_targetChris Robinson2020-04-292-3/+3
|