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 | 10 | -32/+32 |
| | | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places. | ||||
* | Clamp the MS ADPCM block predictor to the correct size | Chris Robinson | 2023-02-24 | 1 | -4/+4 |
| | |||||
* | Track the callback buffer base separately | Chris Robinson | 2023-02-18 | 2 | -8/+6 |
| | | | | | Instead of recalculating it all the time, even for sources that don't use callback buffers. | ||||
* | Decode IMA4 blocks with fewer loops | Chris Robinson | 2023-02-16 | 1 | -35/+30 |
| | | | | | Rather than decoding samples in chunks of 8, calculate the read offset from an incrementing index. | ||||
* | Combine and simplify some loops | Chris Robinson | 2023-02-15 | 1 | -24/+14 |
| | |||||
* | Skip ADPCM samples in a separate loop before writing | Chris Robinson | 2023-02-15 | 1 | -59/+83 |
| | |||||
* | Rename some variables for clarity | Chris Robinson | 2023-02-15 | 1 | -19/+19 |
| | |||||
* | Add comments describing the MSADPCM decode | Chris Robinson | 2023-02-14 | 1 | -0/+13 |
| | |||||
* | Fix write offset for loading FmtIMA4 samples | Chris Robinson | 2023-02-14 | 1 | -2/+2 |
| | |||||
* | Support MSADPCM samples in the mixer | Chris Robinson | 2023-02-14 | 3 | -0/+109 |
| | |||||
* | Support IMA4 ADPCM as a mixing voice format | Chris Robinson | 2023-02-14 | 4 | -32/+158 |
| | |||||
* | Simplify copying the all-pass filter state | Chris Robinson | 2023-02-13 | 2 | -15/+7 |
| | |||||
* | Pass a boolean for the decoder to update its state | Chris Robinson | 2023-02-13 | 3 | -51/+57 |
| | |||||
* | Explicitly cast a constexpr value to passify MSVC | Chris Robinson | 2023-02-12 | 1 | -3/+3 |
| | |||||
* | Use to_address to pass a pointer-like iterator as a real pointer | Chris Robinson | 2023-02-12 | 1 | -4/+5 |
| | |||||
* | The decoders don't need space for resampling | Chris Robinson | 2023-02-12 | 2 | -16/+13 |
| | |||||
* | Separate decoding and mixing from resampling | Chris Robinson | 2023-02-12 | 3 | -286/+305 |
| | |||||
* | Explicitly cast a size_t to double | Chris Robinson | 2023-02-11 | 1 | -1/+1 |
| | |||||
* | Always write samples to the destination when resampling | Chris Robinson | 2023-02-11 | 8 | -72/+53 |
| | |||||
* | Check for the voice being beyond the loop end point earlier | Chris Robinson | 2023-02-11 | 1 | -5/+11 |
| | |||||
* | Don't require samplesToDo > forwardSamples for decoders | Chris Robinson | 2023-02-11 | 2 | -13/+13 |
| | |||||
* | Assume 'frac' is less than 1 | Chris Robinson | 2023-02-10 | 5 | -0/+15 |
| | |||||
* | Use a span to hold the cubic table reference | Chris Robinson | 2023-02-10 | 2 | -2/+3 |
| | |||||
* | 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 |
| | |||||
* | Rename the bsinc table variables | Chris Robinson | 2023-02-07 | 3 | -5/+7 |
| | |||||
* | Use an interpolated FIR filter for cubic resampling | Chris Robinson | 2023-02-06 | 7 | -22/+213 |
| | | | | | | 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. | ||||
* | Avoid using auto for lambda parameters | Chris Robinson | 2023-02-06 | 1 | -5/+5 |
| | |||||
* | Add a comment to check into an out-of-range value later | Chris Robinson | 2023-01-28 | 1 | -1/+5 |
| | |||||
* | Clamp the biquad filter gain value to 0.00001 | Chris Robinson | 2023-01-28 | 1 | -1/+1 |
| | | | | | To actually prevent a potential divide-by-zero when the gain and reference frequency are 0, instead of asserting. | ||||
* | Change the default resampler to cubic | Chris Robinson | 2023-01-27 | 1 | -1/+1 |
| | | | | | This has notably better quality than linear, while still being faster than bsinc. | ||||
* | Combine multiple similar functions into one | Chris Robinson | 2023-01-26 | 1 | -124/+16 |
| | |||||
* | Transpose the ambisonic voice mixing matrix | Chris Robinson | 2023-01-25 | 1 | -0/+1 |
| | | | | | To more efficiently prepare the panning coefficients. Also avoid making a stack copy of the matrix to reuse as the target. | ||||
* | Make a variable for a reused value | Chris Robinson | 2023-01-17 | 1 | -0/+1 |
| | |||||
* | Fix debug logging on Windows non-release buuilds | Chris Robinson | 2023-01-16 | 2 | -6/+2 |
| | | | | And skip logging for appropriate log levels on Windows release builds. | ||||
* | Change a couple macros to constexpr variables | Chris Robinson | 2023-01-16 | 1 | -6/+6 |
| | |||||
* | Check for nullptr before constructing a new object | Chris Robinson | 2023-01-15 | 1 | -5/+5 |
| | |||||
* | Use an 8-bit type to hand the HrtfStore IR size | Chris Robinson | 2023-01-15 | 1 | -7/+7 |
| | | | | | Since the max IR size is 128, and HrtfStore only uses 8 bits for the IR size member. Silences a truncation warning given by GCC. | ||||
* | clang-tidy cleanups (#800) | Rosen Penev | 2023-01-15 | 6 | -22/+22 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]> | ||||
* | Don't include the array definition with bin2h | Chris Robinson | 2023-01-13 | 1 | -1/+3 |
| | |||||
* | Ensure the mixer helpers are properly inlined | Chris Robinson | 2023-01-13 | 3 | -8/+9 |
| | |||||
* | Avoid inlining the base_exception destructor | Chris Robinson | 2023-01-13 | 2 | -1/+3 |
| | |||||
* | Avoid unnecessary uses of make_optional | Chris Robinson | 2023-01-13 | 3 | -3/+3 |
| | |||||
* | Use a span instead of a count+pointer | Chris Robinson | 2023-01-11 | 2 | -12/+8 |
| | |||||
* | Rename some struct members | Chris Robinson | 2023-01-10 | 2 | -64/+67 |
| | | | | And make a related function a member function | ||||
* | Update a comment | Chris Robinson | 2023-01-08 | 1 | -1/+1 |
| | |||||
* | Avoid using a reversed all-pass for the front stablizer | Chris Robinson | 2023-01-06 | 4 | -70/+41 |
| | | | | | | While a neat trick, it's been shown to be too volatile and add noise as the signal gets louder. It's better to just accept the phase shift and ensure everything stays aligned. | ||||
* | 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 | 7 | -0/+214 |
| |