aboutsummaryrefslogtreecommitdiffstats
path: root/core/mixer
Commit message (Collapse)AuthorAgeFilesLines
* Fix implicit widening after multiplicationChris Robinson2023-12-233-9/+9
|
* Use a variant instead of a union for InterpStateChris Robinson2023-12-214-51/+73
|
* Fix a pointer castChris Robinson2023-12-101-2/+2
|
* Much more clang-tidy cleanupChris Robinson2023-12-103-6/+5
|
* More clang-tidy fixesChris Robinson2023-12-093-6/+6
|
* Clean up some more clang-tidy warningsChris Robinson2023-12-084-4/+5
|
* Avoid casting an integer literalChris Robinson2023-09-222-4/+4
|
* Make the resampler enum a byteChris Robinson2023-03-071-1/+1
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-011-2/+2
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Always write samples to the destination when resamplingChris Robinson2023-02-116-63/+39
|
* Assume 'frac' is less than 1Chris Robinson2023-02-105-0/+15
|
* Rename some variables for consistencyChris Robinson2023-02-093-23/+24
|
* Properly mark the cubic coefficients and deltas as restrictChris Robinson2023-02-091-10/+9
|
* Use an interpolated FIR filter for cubic resamplingChris Robinson2023-02-064-22/+125
| | | | | | Similar to how the bsinc filters work, but optimized for 4-point filtering. At least the SSE version is notably faster than calculating the coefficients in real time.
* Make a variable for a reused valueChris Robinson2023-01-171-0/+1
|
* clang-tidy cleanups (#800)Rosen Penev2023-01-151-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clang-tidy: use bool literals Found with modernize-use-bool-literals Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Rosen Penev <[email protected]>
* Ensure the mixer helpers are properly inlinedChris Robinson2023-01-133-8/+9
|
* Combine some duplicate code to mix each channelChris Robinson2023-01-053-330/+186
|
* Add and use mixers that process one input and output channelChris Robinson2023-01-054-0/+191
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-2/+2
|
* Avoid some uses of the LIKELY/UNLIKELY macrosChris Robinson2022-12-051-2/+2
|
* Increase sub-sample precision to 16 bitsChris Robinson2022-10-161-1/+1
|
* Rename lerp to avoid conflicts with C++20's std::lerpChris Robinson2022-04-064-4/+4
|
* Remove an unnecessary subtractionChris Robinson2022-04-012-2/+2
|
* Invert a check to put the first taken path firstChris Robinson2022-03-311-11/+11
|
* Make and use a processHfScale function with a separate outputChris Robinson2022-03-311-6/+7
|
* Remove the reversed all-pass trick in MixDirectHrtfBaseChris Robinson2022-03-302-42/+8
| | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway.
* Merge pull request #559 from tatokis/split-sse-sse2kcat2021-05-131-3/+2
|\ | | | | Allow enabling SSE without SSE2
| * Allow enabling SSE without SSE2Tasos Sahanidis2021-04-301-3/+2
| |
* | Decode UHJ buffers to B-Format for mixingChris Robinson2021-03-311-6/+1
| | | | | | | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be.
* | Adjust the bsinc filter table packingChris Robinson2021-02-233-9/+9
| | | | | | | | | | | | | | | | Now each scale's filter and phase delta are interleaved for each phase index, followed by the scale and scale+phase delta for each phase index. This ensures no holes in the filter coefficients for the fast bsinc resampler for a given run, while keeping the scale deltas in the same vicinity for the non-fast bsinc resampler.
* | Use shifts instead of shuffles with SSE where possibleChris Robinson2021-02-181-4/+4
| |
* | Add some optimization hintsChris Robinson2021-02-163-18/+24
| |
* | Use spans instead of references to arraysChris Robinson2021-02-066-14/+17
|/
* Return non-const from the resampler functionChris Robinson2021-01-026-37/+36
|
* Use more constexpr variables instead of macrosChris Robinson2020-12-255-30/+31
|
* Increase direct HRTF delay to 256Chris Robinson2020-12-251-1/+1
| | | | This should improve the error from the all-pass on the partial input.
* Avoid compiling different sources for different targetsChris Robinson2020-12-134-0/+17
| | | | | | | | Simplifies configuration and fixes a potential problem with inline functions. Inline functions that fail to inline will have a callable body generated. If such a body is generated with the SSE4 source, for example, it can generate SSE4 instructions. Calls for that function in other sources can then end up calling the SSE4-generated body outside of any CPU capability check.
* Be more consistent with size_tChris Robinson2020-12-124-10/+10
|
* Move the mixer functions to coreChris Robinson2020-12-129-0/+1253