Reduce cost of PushSincResampler::Resample().

Ideally, PushSincResampler would have very little overhead on
SincResampler. This gets closer to that ideal.

Replace std::min/max and floor with inline functions. Add a benchmark
test to verify the improvement.

On a MacBook Retina, this results in PushSincResampler::Resample()
accounting for ~1% of CPU usage on voe_cmd_test vs the earlier ~2%
(with ISAC16 and 48 kHz audio devices).

Using the new benchmark, this results in a performance improvement of:
16 -> 44.1 : 1.7x
16 -> 48   : 1.9x
32 -> 44.1 : 1.6x
32 -> 48   : 1.7x
44.1 -> 16 : 1.5x
44.1 -> 32 : 1.7x
44.1 -> 48 : 1.7x
48 -> 16   : 1.5x
48 -> 32   : 1.5x
48 -> 44.1 : 1.8x

R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2157005

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4695 4adac7df-926f-26a2-2b94-8c16560cd09d
4 files changed