From aa32042a50f2cbe0ff9d339948cb4712f5cc3d6e Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Fri, 15 Jul 2016 14:29:16 -0400
Subject: [PATCH] Slightly increase the safety margin for opus_pcm_soft_clip()

No values outside of +/-1 detected now.
---
 src/opus.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/opus.c b/src/opus.c
index 2b47cdac..f76f125c 100644
--- a/src/opus.c
+++ b/src/opus.c
@@ -104,10 +104,10 @@ OPUS_EXPORT void opus_pcm_soft_clip(float *_x, int N, int C, float *declip_mem)
 
          /* Compute a such that maxval + a*maxval^2 = 1 */
          a=(maxval-1)/(maxval*maxval);
-         /* Slightly boost "a" by 2^-24. This is just enough to ensure -ffast-math
+         /* Slightly boost "a" by 2^-22. This is just enough to ensure -ffast-math
             does not cause output values larger than +/-1, but small enough not
             to matter even for 24-bit output.  */
-         a += a*6e-8;
+         a += a*2.4e-7;
          if (x[i*C]>0)
             a = -a;
          /* Apply soft clipping */
-- 
GitLab