10 Commits

Author SHA1 Message Date
Chris Robinson
6a9fe1e2c1 Rename lerp to avoid conflicts with C++20's std::lerp 2022-04-06 17:41:24 -07:00
Chris Robinson
1e8e63067c Remove an unnecessary subtraction 2022-04-01 09:47:32 -07:00
Chris Robinson
5647aa4042 Adjust the bsinc filter table packing
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.
2021-02-23 18:48:02 -08:00
Chris Robinson
8fd83778b8 Add some optimization hints 2021-02-16 05:49:09 -08:00
Chris Robinson
dfe627133c Use spans instead of references to arrays 2021-02-06 14:39:30 -08:00
Chris Robinson
04cd0bc576 Return non-const from the resampler function 2021-01-02 17:37:09 -08:00
Chris Robinson
5f233a2c24 Use more constexpr variables instead of macros 2020-12-25 20:52:18 -08:00
Chris Robinson
783904e414 Avoid compiling different sources for different targets
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.
2020-12-13 16:49:46 -08:00
Chris Robinson
225d42538d Be more consistent with size_t 2020-12-12 23:41:38 -08:00
Chris Robinson
e179bf0a12 Move the mixer functions to core 2020-12-12 14:58:09 -08:00