aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Combine reverb transform matrices one column at a timeChris Robinson2019-02-211-18/+23
|
* Mix B-Format sources directly to the dry bufferChris Robinson2019-02-212-21/+34
| | | | Now the only thing that utilizes FOAOut is reverb output.
* Remove RESTRICT from the bandsplitter process methodChris Robinson2019-02-212-2/+2
| | | | | The compiler can see there's no aliasing with the local variables, and the input/output buffers are handled sequentially one element at a time anyway.
* Add some preliminary fields for mix-time ambisonic upsamplingChris Robinson2019-02-212-4/+23
|
* Allow processing some effects in higher order ambisonicsChris Robinson2019-02-218-19/+19
| | | | | | Reverb notably is still only first-order (any higher order channels are dropped, and it writes to FOAOut). But others, like the equalizer, work on all available channels.
* Add helpers to get the channel count from an ambisonic orderChris Robinson2019-02-213-16/+20
|
* Fix unused parameter warningChris Robinson2019-02-211-1/+1
|
* Get rid of the MAX_EFFECT_CHANNELS macroChris Robinson2019-02-215-43/+39
|
* Make sure the B2A matrix has enough values for the input countChris Robinson2019-02-211-6/+6
|
* Remove some now-unnecessary ReverbState fieldsChris Robinson2019-02-211-26/+1
|
* Pass the number of input channels to EffectState::processChris Robinson2019-02-2114-108/+105
|
* Add a method to get the row of an ambisonic identity transformChris Robinson2019-02-211-0/+7
|
* Ensure the device's mAmbiOrder is always set appropriatelyChris Robinson2019-02-211-8/+23
| | | | The Dry target is always ambisonic, so set its order correctly.
* Store effect slots in groups of 64Chris Robinson2019-02-205-58/+178
| | | | | Now that their wet buffers are allocated dynamically, the ALeffectslot object itself is rather small.
* Allocate the effect slot wet buffer dynamicallyChris Robinson2019-02-204-37/+38
|
* Partially handle non-periphonic reverb inputChris Robinson2019-02-191-3/+26
|
* Use the right macro for the number of reverb panning gainsChris Robinson2019-02-191-2/+2
|
* Rename MAX_AMBI_COEFFS and MAX_AMBI2D_COEFFSChris Robinson2019-02-1915-59/+59
|
* Reduce some indentingChris Robinson2019-02-191-27/+25
|
* Apply the upsampler's all-pass when mixing the band-split samplesChris Robinson2019-02-191-10/+10
|
* Clean up some AmbiUpsampler initializationChris Robinson2019-02-191-17/+19
|
* Avoid a temp buffer for the distance compensation delayChris Robinson2019-02-171-23/+12
|
* Apply phase correction to the ambisonic decoder HRIRsChris Robinson2019-02-161-25/+60
| | | | | | This preserves the original phase of the HRIR frequencies for decoding the ambisonic signal. This should help prevent extra coloration from the band- splitter used to scale the HF response.
* Avoid using internal AL[u]int64 typesChris Robinson2019-02-1113-55/+52
|
* Don't check for __int64Chris Robinson2019-02-112-14/+3
|
* Move some more functions to alnumeric.hChris Robinson2019-02-112-50/+52
|
* Get rid of the FAM_SIZE macroChris Robinson2019-02-113-10/+10
|
* Move some number-related stuff to a separate headerChris Robinson2019-02-114-33/+42
|
* Use std::arrays for HRIR coeffs and valuesChris Robinson2019-02-077-45/+41
|
* Simply setting a couple indicesChris Robinson2019-02-041-2/+2
|
* Use relaxed memory ordering for initializing atomic_flagsChris Robinson2019-02-044-5/+5
|
* Use a unique_ptr to store the loaded HrtfEntryChris Robinson2019-02-041-34/+28
|
* Fixed alffplay underrun recovery timingChris Robinson2019-02-041-33/+26
|
* Merge pull request #269 from gongminmin/FixForVS2019kcat2019-02-046-5/+10
|\ | | | | Fix compiling problems on VS2019 with vc142 toolset
| * Fix compiling problems on VS2019 with vc142 toolsetMinmin Gong2019-02-046-5/+10
|/ | | | Msvc142 in VS2019 preview 2 doesn't allow std::atomic_flag to be initialized by a bool. Call test_and_set in the constructors instead.
* Add missing includeChris Robinson2019-01-291-1/+3
|
* Calculate the correct evidx for the HRTF B-Format decoderChris Robinson2019-01-291-3/+7
|
* Load and use all available HRTF fieldsChris Robinson2019-01-291-30/+30
|
* Pass the distance to GetHrtfCoeffsChris Robinson2019-01-283-22/+25
|
* Collect HRTF field info into a structChris Robinson2019-01-283-36/+56
|
* Clean up calculating HRIR indices to blendChris Robinson2019-01-281-37/+26
|
* Don't normalize HRIRs per-fieldChris Robinson2019-01-271-8/+8
|
* Partially handle ambisonics in alffplayChris Robinson2019-01-271-28/+98
| | | | | | | | | This is currently really only applicable to Opus-encoded files. It assumes AmbiX (SN3D normalization, ACN ordering) and only comes into play when the channel layout is blank. FFmpeg/libavcodec doesn't have a way to detect B-Format input or what normalization and ordering it uses. Note in particular .amb files do not play correctly (libavcodec seems to apply a default channel layout for 4-channel wav-type files, regardless of its channel mask value).
* Round the calculated field distance in makehrtfChris Robinson2019-01-271-6/+7
|
* Don't try to clean up the async ringbuffer if it isn't allocatedChris Robinson2019-01-261-16/+19
|
* Fix applied scalars for B-Format source mixingChris Robinson2019-01-261-8/+8
|
* Update a function commentChris Robinson2019-01-241-2/+2
|
* Slight cleanup for NfcFilterCreate4Chris Robinson2019-01-241-20/+14
|
* Make IncRef and DecRef member functionsChris Robinson2019-01-244-23/+27
|
* Clean up the NFC filters a bitChris Robinson2019-01-234-70/+41
|