aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't log failed config option lookupsChris Robinson2023-10-191-5/+2
|
* Use a more appropriate type trait to remove a pointerChris Robinson2023-10-191-1/+1
|
* Remove the output delay on the UHJ and SuperStereo IIR decodersChris Robinson2023-10-182-38/+53
|
* Remove an unnecessary getterChris Robinson2023-10-171-11/+3
|
* Combine some more VADD(VMUL(... into VMADD(...Chris Robinson2023-10-171-48/+44
|
* Mark some output buffer pointers as RESTRICTChris Robinson2023-10-161-15/+17
|
* Fix WFX channel matching in uhjencoderChris Robinson2023-10-161-1/+1
|
* Replace some function-like macros with real functionsChris Robinson2023-10-161-117/+136
|
* Avoid some macros that use inputs multiple timesChris Robinson2023-10-161-25/+57
|
* Constify some parametersChris Robinson2023-10-162-19/+24
|
* Remove an unnecessary c_str() callChris Robinson2023-10-161-1/+1
|
* Properly align a buffer given to PFFFTChris Robinson2023-10-151-4/+5
|
* Avoid some unique and wrapper typesChris Robinson2023-10-151-58/+33
|
* Use the same stereo angles in convolution as normal mixingChris Robinson2023-10-151-19/+15
|
* Use a span for a known array length instead of a raw pointerChris Robinson2023-10-1511-36/+35
|
* Ensure some variables are the sameChris Robinson2023-10-152-41/+46
| | | | And clean up some comments
* Avoid an extra copy to calculate the convolution FFTChris Robinson2023-10-141-6/+5
|
* Don't use an iterator where a pointer is expectedChris Robinson2023-10-141-1/+1
|
* Use a split filter for the FIR-based UHJ encodersChris Robinson2023-10-143-13/+204
| | | | | | | | This applies the all-pass filter in two steps, first as a relatively short time-domain FIR filter, then as a series of frequency domain convolutions (using complex multiplies). Time-domain convolution scales poorly, so larger convolutions benefit from being done in the frequency domain (though the first part is still done in the time domain, to avoid longer delays).
* Read the correct half-frequency binChris Robinson2023-10-141-1/+1
|
* Add missing includeChris Robinson2023-10-121-0/+2
|
* Rename the convolution reverb effect to just convolutionChris Robinson2023-10-127-27/+27
| | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name.
* Add an orientation property for convolution reverbChris Robinson2023-10-122-5/+28
| | | | Only affects ambisonic (B-Format and UHJ) formats
* Add convolution effect properties to rotate ambisonic responsesChris Robinson2023-10-123-3/+31
|
* Don't use al::vector where not neededChris Robinson2023-10-121-5/+3
|
* Remove an unnecessary deque with a custom allocatorChris Robinson2023-10-114-22/+4
|
* Attenuate the convolution filter instead of the filter resultChris Robinson2023-10-111-9/+8
|
* Make and use a separate zconvolve method without scalingChris Robinson2023-10-113-14/+96
| | | | | | When you're doing hundreds or thousands of separate zconvolve calls into the same buffer, it's more efficient to do the multiply once at the end instead of in each call.
* Fix conversion warningsChris Robinson2023-10-101-19/+21
|
* Fix array lookup indexChris Robinson2023-10-101-2/+3
|
* Use size_t and uint for non-negative values and indicesChris Robinson2023-10-102-210/+210
|
* Use an anonymous namespace instead of static functionsChris Robinson2023-10-101-194/+202
|
* Combine some VADD(VMUL(... to VMADD(...Chris Robinson2023-10-101-43/+43
|
* Use a bool instead of an int for 0/1Chris Robinson2023-10-091-25/+27
| | | | Also update some comments.
* Cleanup PFFFTChris Robinson2023-10-091-571/+604
| | | | | | Make stylization more consistent. Remove SVMUL (they all simulated it with a LD_PS1 on the scalar). Avoid calling LD_PS1 on the same value in a loop.
* Avoid std::aligned_storage, it's deprecated in newer C++Chris Robinson2023-10-081-3/+3
|
* Remove more type-punning from pffftChris Robinson2023-10-081-52/+63
|
* Clean up some more type-punning in pffftChris Robinson2023-10-081-22/+42
|
* Mark some functions as maybe_unusedChris Robinson2023-10-081-0/+2
| | | | For non-SSE-capable targets
* Avoid some type-punning and clean up pffft a bitChris Robinson2023-10-081-161/+148
|
* Update and clarify some commentsChris Robinson2023-10-072-91/+93
|
* Add a generic GCC vector extension fallback for pffftChris Robinson2023-10-061-13/+80
| | | | Also combine multiple allocations into one.
* Improve NEON shufflingChris Robinson2023-10-061-21/+3
|
* Fix x86-64 MSVC checkChris Robinson2023-10-061-1/+1
|
* Use PFFFT for the convolution effectChris Robinson2023-10-061-40/+92
|
* Include a copy of PFFFTChris Robinson2023-10-064-0/+2241
| | | | | This is a notably faster FFT implementation for 32-bit float signals, provided under a 3-clause BSD license.
* Avoid inline assembly for getting/setting SSE stateChris Robinson2023-10-051-20/+49
|
* Clear the 0 and half-frequency bins for the phase shift filterChris Robinson2023-10-031-2/+5
| | | | | | This doesn't change the filter response, but is more correct since a real signal won't have an imaginary value on them (it can only have a magnitude with a phase of 0 or pi).
* Improve ambisonic rotator coefficient accuracyChris Robinson2023-10-021-17/+38
|
* Declare a missing variableChris Robinson2023-10-011-1/+1
|