Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make the resampler enum a byte | Chris Robinson | 2023-03-07 | 1 | -1/+1 |
| | |||||
* | Use macros for the likely/unlikely attributes | Chris Robinson | 2023-03-01 | 1 | -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 resampling | Chris Robinson | 2023-02-11 | 6 | -63/+39 |
| | |||||
* | Assume 'frac' is less than 1 | Chris Robinson | 2023-02-10 | 5 | -0/+15 |
| | |||||
* | Rename some variables for consistency | Chris Robinson | 2023-02-09 | 3 | -23/+24 |
| | |||||
* | Properly mark the cubic coefficients and deltas as restrict | Chris Robinson | 2023-02-09 | 1 | -10/+9 |
| | |||||
* | Use an interpolated FIR filter for cubic resampling | Chris Robinson | 2023-02-06 | 4 | -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 value | Chris Robinson | 2023-01-17 | 1 | -0/+1 |
| | |||||
* | clang-tidy cleanups (#800) | Rosen Penev | 2023-01-15 | 1 | -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 inlined | Chris Robinson | 2023-01-13 | 3 | -8/+9 |
| | |||||
* | Combine some duplicate code to mix each channel | Chris Robinson | 2023-01-05 | 3 | -330/+186 |
| | |||||
* | Add and use mixers that process one input and output channel | Chris Robinson | 2023-01-05 | 4 | -0/+191 |
| | |||||
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 1 | -2/+2 |
| | |||||
* | Avoid some uses of the LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 1 | -2/+2 |
| | |||||
* | Increase sub-sample precision to 16 bits | Chris Robinson | 2022-10-16 | 1 | -1/+1 |
| | |||||
* | Rename lerp to avoid conflicts with C++20's std::lerp | Chris Robinson | 2022-04-06 | 4 | -4/+4 |
| | |||||
* | Remove an unnecessary subtraction | Chris Robinson | 2022-04-01 | 2 | -2/+2 |
| | |||||
* | Invert a check to put the first taken path first | Chris Robinson | 2022-03-31 | 1 | -11/+11 |
| | |||||
* | Make and use a processHfScale function with a separate output | Chris Robinson | 2022-03-31 | 1 | -6/+7 |
| | |||||
* | Remove the reversed all-pass trick in MixDirectHrtfBase | Chris Robinson | 2022-03-30 | 2 | -42/+8 |
| | | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway. | ||||
* | Merge pull request #559 from tatokis/split-sse-sse2 | kcat | 2021-05-13 | 1 | -3/+2 |
|\ | | | | | Allow enabling SSE without SSE2 | ||||
| * | Allow enabling SSE without SSE2 | Tasos Sahanidis | 2021-04-30 | 1 | -3/+2 |
| | | |||||
* | | Decode UHJ buffers to B-Format for mixing | Chris Robinson | 2021-03-31 | 1 | -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 packing | Chris Robinson | 2021-02-23 | 3 | -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 possible | Chris Robinson | 2021-02-18 | 1 | -4/+4 |
| | | |||||
* | | Add some optimization hints | Chris Robinson | 2021-02-16 | 3 | -18/+24 |
| | | |||||
* | | Use spans instead of references to arrays | Chris Robinson | 2021-02-06 | 6 | -14/+17 |
|/ | |||||
* | Return non-const from the resampler function | Chris Robinson | 2021-01-02 | 6 | -37/+36 |
| | |||||
* | Use more constexpr variables instead of macros | Chris Robinson | 2020-12-25 | 5 | -30/+31 |
| | |||||
* | Increase direct HRTF delay to 256 | Chris Robinson | 2020-12-25 | 1 | -1/+1 |
| | | | | This should improve the error from the all-pass on the partial input. | ||||
* | Avoid compiling different sources for different targets | Chris Robinson | 2020-12-13 | 4 | -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_t | Chris Robinson | 2020-12-12 | 4 | -10/+10 |
| | |||||
* | Move the mixer functions to core | Chris Robinson | 2020-12-12 | 9 | -0/+1253 |