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> |
12 years ago | |
---|---|---|
.. | ||
Makefile | build: cosmetics: Add missing end-of-line backslashes to item lists. | 13 years ago |
audio_convert.asm | lavr: handle clipping in the float to s32 conversion | 12 years ago |
audio_convert_init.c | x86: Replace checks for CPU extensions and flags by convenience macros | 12 years ago |
audio_mix.asm | x86: Split inline and external assembly #ifdefs | 12 years ago |
audio_mix_init.c | x86: Replace checks for CPU extensions and flags by convenience macros | 12 years ago |
util.asm | lavr: x86: optimized 2-channel s16 to s16p conversion | 12 years ago |