xbmc/xbmc — pull request #1565 by DDDamian (2012-10-08 04:32:22+00:00)
Title: [AE][DSP] Add DSP classes and three DSPs

After the rebase from hell I've revived the work from gnif and I some months ago to add DSP processing to AE.

This PR includes the following:
- a refactor of AEStream into AEPCMStream and AERawStream to streamline DSP processing
- the addition and implementation of the DSP class
- refactoring of the resampler into a DSP
- the inclusion of three DSPs: a true Dynamic Range Compressor, a Head-Related-Transfer Function for headphones listening and a low-pass filter

Known issues:
- the addition of a m_HasVideo member for streams was required so DRC is not applied to pure music streams - it could be better implemented here
- the auto-gain function of the DRC algorithm is a little aggressive and needs some tuning to avoid the odd limiter clamping

I would like to get this into Frodo as it's lingered for some time and rebasing was arduous. There's no real downside to a merge as each DSP is user-enabled.