aboutsummaryrefslogtreecommitdiffstats
path: root/core/mixer/mixer_sse.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix implicit widening after multiplicationChris Robinson2023-12-231-3/+3
|
* Use a variant instead of a union for InterpStateChris Robinson2023-12-211-8/+10
|
* More clang-tidy fixesChris Robinson2023-12-091-2/+2
|
* Avoid casting an integer literalChris Robinson2023-09-221-2/+2
|
* Always write samples to the destination when resamplingChris Robinson2023-02-111-9/+6
|
* Assume 'frac' is less than 1Chris Robinson2023-02-101-0/+4
|
* Rename some variables for consistencyChris Robinson2023-02-091-7/+7
|
* Use an interpolated FIR filter for cubic resamplingChris Robinson2023-02-061-6/+45
| | | | | | 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.
* 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-131-3/+3
|
* Combine some duplicate code to mix each channelChris Robinson2023-01-051-136/+75
|
* Add and use mixers that process one input and output channelChris Robinson2023-01-051-0/+76
|
* Remove an unnecessary subtractionChris Robinson2022-04-011-1/+1
|
* Invert a check to put the first taken path firstChris Robinson2022-03-311-11/+11
|
* 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
| |
* | Adjust the bsinc filter table packingChris Robinson2021-02-231-3/+3
| | | | | | | | | | | | | | | | 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.
* | Add some optimization hintsChris Robinson2021-02-161-6/+8
| |
* | Use spans instead of references to arraysChris Robinson2021-02-061-2/+2
|/
* Return non-const from the resampler functionChris Robinson2021-01-021-4/+4
|
* Use more constexpr variables instead of macrosChris Robinson2020-12-251-1/+1
|
* Avoid compiling different sources for different targetsChris Robinson2020-12-131-0/+5
| | | | | | | | 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-121-3/+3
|
* Move the mixer functions to coreChris Robinson2020-12-121-0/+266