Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Ensure the chorus delay and depth leave enough padding for resampling | Chris Robinson | 2018-01-07 | 2 | -14/+26 |
| | | | | Also use cubic resampling for the modulated tap. Applies to flanger too. | ||||
* | Use a separate function to get the cubic value | Chris Robinson | 2018-01-07 | 3 | -9/+11 |
| | |||||
* | Only print the time in alffplay when it changes | Chris Robinson | 2018-01-07 | 1 | -4/+11 |
| | |||||
* | Use a -40dB drop for bsinc12 | Chris Robinson | 2018-01-07 | 1 | -2/+2 |
| | | | | | | | This improves the transition width at the cost of slightly more audible high- frequency noise (nothing compared to linear or cubic, but still some). The previous transition band caused a noticeable loss in higher frequencies, making lower sample rate sources sound exceptionally dull or muffled. | ||||
* | Remove the sinc4 table | Chris Robinson | 2018-01-07 | 3 | -53/+4 |
| | |||||
* | Replace the sinc4 resampler with cubic | Chris Robinson | 2018-01-07 | 11 | -298/+25 |
| | | | | | | | Turns out the C version of the cubic resampler is just slightly faster than even the SSE3 version of the FIR4 resampler. This is likely due to not using a 64KB random-access lookup table along with unaligned loads, both offseting the gains from SSE. | ||||
* | Fix a temp buffer leak in alffplay | Chris Robinson | 2018-01-05 | 1 | -2/+2 |
| | |||||
* | Handle the audio clock diff as nanoseconds in alffplay | Chris Robinson | 2018-01-05 | 1 | -8/+6 |
| | |||||
* | Test the correct offset for the loop start range | Chris Robinson | 2018-01-04 | 1 | -1/+1 |
| | |||||
* | Use the correct start point when looping | Chris Robinson | 2018-01-04 | 1 | -2/+2 |
| | |||||
* | Use separate outputs for the vector reverse and scatter functions | Chris Robinson | 2018-01-04 | 1 | -29/+23 |
| | |||||
* | Avoid the modulated output tap for late reverb | Chris Robinson | 2018-01-04 | 1 | -28/+14 |
| | | | | | | And fix the output filtering. The modulation code is still there since it's (probably) technically correct, but the interaction with the feedback loop and filtering on the output caused improper behavior which needs to be sorted out. | ||||
* | Use a non-recursive mutex for alffplay's source lock | Chris Robinson | 2018-01-03 | 1 | -11/+14 |
| | |||||
* | Don't offset the reverb modulation sinus | Chris Robinson | 2018-01-02 | 1 | -1/+1 |
| | |||||
* | Use a float literal for float math | Chris Robinson | 2018-01-02 | 1 | -2/+2 |
| | |||||
* | Use ALC_SOFT_device_clock in alffplay | Chris Robinson | 2018-01-02 | 1 | -12/+86 |
| | |||||
* | Reset CompLen when loading loop repeats in the mixer | Chris Robinson | 2018-01-02 | 1 | -0/+1 |
| | |||||
* | Improve starting synchronization in alffplay | Chris Robinson | 2018-01-02 | 1 | -19/+60 |
| | | | | | It waits until the internal buffers are filled before starting playback, then triggering the audio and video to start as close together as possible. | ||||
* | Inline and simplify some code | Chris Robinson | 2018-01-01 | 1 | -29/+23 |
| | |||||
* | Don't leak the AVIOContext | Chris Robinson | 2018-01-01 | 1 | -1/+8 |
| | |||||
* | Fix a couple alffplay comments still referencing Alure | Chris Robinson | 2018-01-01 | 1 | -4/+4 |
| | |||||
* | Make smart pointer wrappers for some ffmpeg types | Chris Robinson | 2018-01-01 | 1 | -72/+81 |
| | |||||
* | Print the running time and duration in alffplay | Chris Robinson | 2018-01-01 | 1 | -1/+42 |
| | |||||
* | Use aliases to simplify some time type names | Chris Robinson | 2018-01-01 | 1 | -67/+61 |
| | |||||
* | Wrap av_gettime to ensure it's interpreted as microseconds | Chris Robinson | 2018-01-01 | 1 | -7/+10 |
| | |||||
* | Rename the do_direct_out variable | Chris Robinson | 2018-01-01 | 1 | -3/+3 |
| | |||||
* | Use a less-intense memory order to check for quitting | Chris Robinson | 2018-01-01 | 1 | -9/+9 |
| | |||||
* | Check for AL_SOFT_direct_channels once when initializing | Chris Robinson | 2018-01-01 | 1 | -10/+8 |
| | |||||
* | Declare the total buffer time instead of buffer count | Chris Robinson | 2018-01-01 | 1 | -10/+15 |
| | |||||
* | Use a std::array for the buffers in alffplay | Chris Robinson | 2018-01-01 | 1 | -8/+7 |
| | |||||
* | Use inline member initialization where possible | Chris Robinson | 2018-01-01 | 1 | -86/+69 |
| | |||||
* | Make more values global const | Chris Robinson | 2018-01-01 | 1 | -19/+18 |
| | |||||
* | Use a global to specify alffplay's audio sync threshold | Chris Robinson | 2017-12-31 | 1 | -15/+11 |
| | |||||
* | Avoid dereferencing a NULL pointer | Chris Robinson | 2017-12-31 | 1 | -1/+2 |
| | | | | | | Even though it's taking the address of a member, it's still technically a derefernce and thus undefined behavior. sizeof doesn't "execute" the expression, so derefering in it instead is fine. | ||||
* | Clear the buffer queue when underrun | Chris Robinson | 2017-12-31 | 1 | -1/+3 |
| | |||||
* | Wake up the packet send loop when more frames are needed | Chris Robinson | 2017-12-31 | 1 | -38/+50 |
| | |||||
* | Readd AL_SOFT_source_latency support to alffplay | Chris Robinson | 2017-12-30 | 1 | -12/+17 |
| | |||||
* | Use standard duration types for stream clocks | Chris Robinson | 2017-12-30 | 1 | -105/+122 |
| | |||||
* | Improve the alffplay queue for FFmpeg's send/receive API | Chris Robinson | 2017-12-30 | 1 | -152/+139 |
| | | | | | | | | The packet handling thread now calls avcodec_send_packet to give compressed data to libavcodec, while the audio/video threads call avcodec_receive_frame to handle decoded frames. The packet thread still maintains local queues for each stream to avoid starving an A/V thread when the other doesn't want another frame yet. | ||||
* | Update resampler padding checks | Chris Robinson | 2017-12-29 | 1 | -3/+3 |
| | |||||
* | Fix up a comment | Chris Robinson | 2017-12-24 | 1 | -7/+5 |
| | |||||
* | Don't make a pass-through macro for FadedDelayLineOut | Chris Robinson | 2017-12-24 | 1 | -8/+7 |
| | |||||
* | Use linear interpolation for reverb modulation | Chris Robinson | 2017-12-24 | 1 | -76/+130 |
| | | | | | | The core LateReverb_* functions are explicitly written out now, since the tapping and blending done by the Faded version is a bit more complex and it's not so easy to ensure proper optimizing on the Unfaded version. | ||||
* | Don't offset the chorus/flanger delay and LFO | Chris Robinson | 2017-12-24 | 2 | -36/+22 |
| | | | | | The delay being added to the scaled LFO will ensure a proper positive result regardless. | ||||
* | Fade between depths in the reverb modulator | Chris Robinson | 2017-12-24 | 1 | -48/+26 |
| | |||||
* | Use a separate unmodulated feedback tap for reverb | Chris Robinson | 2017-12-24 | 1 | -18/+20 |
| | |||||
* | Only link to the common lib when building as shared | Chris Robinson | 2017-12-23 | 1 | -3/+6 |
| | |||||
* | Clarify some reverb values | Chris Robinson | 2017-12-23 | 1 | -7/+6 |
| | |||||
* | Reorder some global variables | Chris Robinson | 2017-12-23 | 1 | -188/+188 |
| | |||||
* | Cleanup reverb modulation scaling | Chris Robinson | 2017-12-23 | 1 | -14/+17 |
| |