aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Precompute a value used multiple timesChris Robinson2023-11-071-19/+9
|
* Remove an unnecessary struct memberChris Robinson2023-11-042-5/+7
|
* Don't apply the UHJ all-pass's first segment in the time domainChris Robinson2023-10-282-57/+33
| | | | | Increases the delay by 128 samples, but replaces a time-domain convolution with a frequency-domain one.
* Remove unnecessary extra macrosChris Robinson2023-10-261-55/+37
|
* Slightly simplify calculating the minimum phase outputChris Robinson2023-10-261-4/+1
|
* Don't make a float version of complex_fftChris Robinson2023-10-252-26/+19
|
* Use PFFFT for the pitch shifterChris Robinson2023-10-251-13/+36
|
* Print the HRTF used in openal-infoChris Robinson2023-10-231-2/+17
|
* Don't inline a destructorChris Robinson2023-10-222-0/+6
|
* Use a byte for the channel indexChris Robinson2023-10-224-21/+21
|
* Update the downmix tablesChris Robinson2023-10-211-66/+53
|
* Use a dynamically resizing spa_pod_builderChris Robinson2023-10-211-14/+47
| | | | Rather than relying on a fixed-size buffer
* Remove an outdated commentChris Robinson2023-10-201-3/+0
|
* Don't keep setting and reloading a struct member in a loopChris Robinson2023-10-201-2/+3
|
* 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
|