lavr: handle clipping in the float to s32 conversion
authorJustin Ruggles <justin.ruggles@gmail.com>
Fri, 12 Oct 2012 19:46:53 +0000 (15:46 -0400)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 13 Oct 2012 10:34:34 +0000 (12:34 +0200)
commit10e645e9cb06dc87074232740d4366db18e7ba56
treebbb634ed7150d0d959c203e1881569f1ea809960
parent92281850a2d878dae1d50e271886ba87013b6ff3
lavr: handle clipping in the float to s32 conversion

We cannot clip to INT_MAX because that value cannot be exactly
represented by a float value and ends up overflowing during conversion
anyway. We need to use a slightly smaller float value, which ends up
with slightly inaccurate results for samples which clip or nearly clip,
but it is close enough. Using doubles as intermediates in the conversion
would be more accurate, but it takes about twice as much time.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavresample/x86/audio_convert.asm