Commit Graph

7075 Commits

Author SHA1 Message Date
Chris Robinson 0406e3bef7 Change a couple functions into member functions 2020-05-10 20:16:43 -07:00
Chris Robinson 2fb4ac1621 Revert "Fix the FFT half point for the shifter effects"
This reverts commit 12bb5a47cd.
2020-05-09 16:44:29 -07:00
Chris Robinson 52a5dc23a3 Fix the UHJ filter generator
The half point needs to be included in the frequency response.
2020-05-09 16:42:43 -07:00
Chris Robinson 73569dfeca Avoid a reference on a constexpr variable 2020-05-08 20:11:30 -07:00
Chris Robinson 1c320c3532 Use a FIR filter for the UHJ all-pass 2020-05-08 15:38:14 -07:00
Chris Robinson 12bb5a47cd Fix the FFT half point for the shifter effects 2020-05-08 01:39:48 -07:00
Chris Robinson 48fbad9836 Slightly improve the Hann windows
There's no need to include the 0 terms on the ends since they'll never
contribute a sample. So extend the width to have the 0 terms just outside the
window where it wouldn't contribute anyway.
2020-05-08 01:25:32 -07:00
Chris Robinson 301f8f5db5 Use std::arrays for the UHJ filters 2020-05-08 01:24:14 -07:00
Chris Robinson 0cfb8fee44 Combine multiple UHJ encoder all-pass loops 2020-05-07 21:01:37 -07:00
Chris Robinson 7ed37a8282 Use dual-band for the internal quad and 7.1 decoders 2020-05-07 03:15:46 -07:00
Chris Robinson faec0c78eb Allow declaring internal dual-band decoders 2020-05-07 02:13:11 -07:00
Chris Robinson 4630a535b2 Re-add an option for installing the main lib 2020-05-07 00:02:23 -07:00
Chris Robinson ca851298ad Update the quad and 7.1 decoders 2020-05-06 22:36:29 -07:00
Chris Robinson bef25361f1 Make the built-in decoders more flexible 2020-05-06 19:31:31 -07:00
Chris Robinson f82fca2c6a Fix the dual-band decoder 2020-05-05 16:56:25 -07:00
Chris Robinson ee82db3966 Use a flexible array for the front stablizer delay buffers 2020-05-05 01:34:14 -07:00
Chris Robinson deac36a1eb Improve the front stablizer
Apply the all-pass+band-split only once, after generating the mid and side
signals separately.
2020-05-05 01:05:38 -07:00
Chris Robinson fcec76663f Move some sin/cos constants out of a loop 2020-05-04 16:16:55 -07:00
Chris Robinson 58d953f6aa Clear buffers right before use 2020-05-03 19:13:20 -07:00
Chris Robinson 15fd3da870 Don't put the LFO on the stack 2020-05-03 19:04:43 -07:00
Chris Robinson fe7a74b09a Use a helper to set an identity ambisonic pan 2020-05-03 18:47:49 -07:00
Chris Robinson b52fde7c0e Simplify SIMD linear resampler loop count 2020-05-02 20:27:05 -07:00
Chris Robinson b051f2e33d Use a matching type given the initializer 2020-05-02 19:24:21 -07:00
Chris Robinson 6823fa2de2 Improve the leftover and realignment mixing loops
Using a mask helps the compiler recognize that the leftover (any remaining non-
multiple-of-4) and realignment loops will only have 3 iterations at most, which
it can unroll or otherwise make more meaningful optimizations for. Previously
it would try to vectorize and partially unroll the loops, which is wasteful
when there would never be enough to vectorize.
2020-05-02 16:42:24 -07:00
Chris Robinson 3898b77dd6 Avoid iterators for the main mixer 2020-05-01 21:14:41 -07:00
Chris Robinson 8acf16fc82 Make BuildBFormatHrtf a member of DirectHrtfState 2020-05-01 10:28:16 -07:00
Chris Robinson ae09e1f60c Don't truncate odd IR sizes with SSE 2020-04-30 20:33:35 -07:00
Chris Robinson 6bc3ae178e Use a more efficient type for holding the IrSize 2020-04-30 17:03:56 -07:00
Chris Robinson 972869f76f Dump the ffmpeg file info on the main thread 2020-04-29 21:32:09 -07:00
Chris Robinson 054071998c Correctly handle unicode paths on Windows for ALSOFT_LOGFILE 2020-04-29 15:41:11 -07:00
Chris Robinson a25dea6cd9 Rename effect_chain to effect_target 2020-04-29 14:39:28 -07:00
Chris Robinson 047f1666d5 Fix subspan extent calculation 2020-04-28 19:58:17 -07:00
Chris Robinson 4094135ed7 Don't return a bool from the backend start method 2020-04-28 19:25:58 -07:00
Chris Robinson 065775d814 Limit the maximum settable sample rate 2020-04-28 16:30:11 -07:00
Chris Robinson 45cb3e4956 Remove a couple redundant comments 2020-04-28 14:59:45 -07:00
Chris Robinson cf64dc1103 Fix up some more uses of [AL[C]]void 2020-04-28 14:48:12 -07:00
Chris Robinson 2520d492a5 Clean up al.h a bit 2020-04-28 14:27:52 -07:00
Chris Robinson c47f4822dc Move standard ALC function's annotations to the header 2020-04-28 13:36:43 -07:00
Chris Robinson 1120f52556 Clean up some function comments 2020-04-28 08:29:42 -07:00
Chris Robinson b828cf81a9 Shorten the name of format types 2020-04-28 07:56:36 -07:00
Chris Robinson 5441fba419 Don't maintain a global backend list end 2020-04-28 07:28:22 -07:00
Chris Robinson 187477db03 Properly return on error 2020-04-28 07:01:30 -07:00
Chris Robinson b4435cd053 Avoid using some extraneous ALC types 2020-04-28 06:51:21 -07:00
Chris Robinson 0a69adf845 Avoid unnecessary PATH_SUFFIXES 2020-04-26 07:59:08 -07:00
Chris Robinson 950e4f3cc4 Avoid duplicate env var declarations 2020-04-26 07:36:50 -07:00
Chris Robinson ff1562c916 Don't delete non-existent files in AppVeyor 2020-04-26 07:19:27 -07:00
Chris Robinson e3f6afafde Remove some hopefully unneeded macros 2020-04-25 02:12:43 -07:00
Chris Robinson be476c7935 Use global placement new for AsyncEvent 2020-04-24 07:04:32 -07:00
Chris Robinson f49238c792 Minor cleanup of reverb code 2020-04-24 02:51:23 -07:00
Chris Robinson 8739833770 Add a method to process two biquads at once 2020-04-23 22:13:52 -07:00