Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoiding cutting all bsinc resampler output at scale 0 | Chris Robinson | 2021-02-24 | 1 | -7/+6 |
| | | | | | | | | | | | | This is mostly for the SampleConverter, used by some capture backends. When recording at really low rates, like 5512hz, with a device capturing at a higher rate like 44100hz or 48000hz, it hits the filter's downscaling limit and produces pure silence. In such cases, it's better to just accept some aliasing noise so that the app will still get some recognizable audio. The alternative would be to scale the desired rate by 2x, 3x, etc until it's above the bsinc limit, then take every 2nd, 3rd, etc sample of the result as if by an extra simpler resampler pass. | ||||
* | Use a more appropriate epsilon for Sinc() | Chris Robinson | 2021-02-24 | 1 | -1/+2 |
| | |||||
* | Avoid an unnecessary loop iteration | Chris Robinson | 2021-02-23 | 1 | -2/+3 |
| | |||||
* | Adjust the bsinc filter table packing | Chris Robinson | 2021-02-23 | 4 | -41/+29 |
| | | | | | | | | 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. | ||||
* | Remove unnecessary use of SSE2 intrinsics | Chris Robinson | 2021-02-21 | 1 | -2/+1 |
| | | | | | The compiler is producing the same results either way, since the upper bit results are never used. | ||||
* | Store the all-pass FIR results more efficiently | Chris Robinson | 2021-02-18 | 1 | -14/+23 |
| | |||||
* | 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 |
| | |||||
* | Add the all-pass filter results to the output with NEON | Chris Robinson | 2021-02-08 | 1 | -3/+3 |
| | |||||
* | Use spans instead of references to arrays | Chris Robinson | 2021-02-06 | 9 | -16/+22 |
| | |||||
* | Avoid global constexpr arrays | Chris Robinson | 2021-01-21 | 2 | -95/+116 |
| | |||||
* | Avoid dereferencing the end iterator | Chris Robinson | 2021-01-08 | 1 | -4/+4 |
| | |||||
* | Return non-const from the resampler function | Chris Robinson | 2021-01-02 | 6 | -37/+36 |
| | |||||
* | Make FPUCtl methods noexcept | Chris Robinson | 2020-12-31 | 2 | -12/+10 |
| | |||||
* | Move cpu_caps and fpu_ctrl to core | Chris Robinson | 2020-12-31 | 4 | -0/+247 |
| | |||||
* | Add NEON-enhanced FIR loops for convolution and UHJ | Chris Robinson | 2020-12-31 | 1 | -0/+68 |
| | |||||
* | Use smaller types for enums | Chris Robinson | 2020-12-27 | 1 | -1/+1 |
| | |||||
* | 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. | ||||
* | Return an optional for an error | Chris Robinson | 2020-12-25 | 2 | -192/+81 |
| | |||||
* | Avoid dynamic vectors in AmbDecConf | Chris Robinson | 2020-12-25 | 2 | -19/+75 |
| | | | | Also add a bit more sanity checking | ||||
* | Rename From2D to FromACN2D | Chris Robinson | 2020-12-25 | 2 | -2/+2 |
| | |||||
* | Move the ambdec loader to core | Chris Robinson | 2020-12-25 | 2 | -0/+482 |
| | |||||
* | Move alexcpt to core | Chris Robinson | 2020-12-24 | 2 | -0/+62 |
| | |||||
* | Move logging to core | Chris Robinson | 2020-12-17 | 2 | -0/+142 |
| | |||||
* | Move fmt_traits to core | Chris Robinson | 2020-12-13 | 2 | -0/+160 |
| | |||||
* | 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 |
| | |||||
* | Move ambidefs.h to core | Chris Robinson | 2020-12-12 | 2 | -0/+150 |
| | |||||
* | Avoid returning an array for initialization | Chris Robinson | 2020-12-05 | 1 | -37/+38 |
| | |||||
* | Use an alias for the DevFmtType type | Chris Robinson | 2020-12-05 | 1 | -0/+3 |
| | |||||
* | Move a couple more things to core | Chris Robinson | 2020-12-04 | 4 | -0/+517 |
| | |||||
* | Move the filters to core | Chris Robinson | 2020-12-04 | 6 | -0/+902 |
| | |||||
* | Move the bsinc tables to core | Chris Robinson | 2020-12-04 | 3 | -0/+321 |
| | |||||
* | Move mastering.cpp/h to core | Chris Robinson | 2020-12-04 | 2 | -0/+545 |
| | |||||
* | Change a couple macros into constexpr variables | Chris Robinson | 2020-11-28 | 1 | -2/+2 |
| | |||||
* | Move some sources to a separate directory | Chris Robinson | 2020-11-27 | 3 | -0/+182 |
To begin separating the ALC interfaces from internal ones. |