opus/opus-NLSF-not-negative.patch
2017-01-16 21:32:59 +00:00

28 lines
1022 B
Diff

From 79e8f527b0344b0897a65be35e77f7885bd99409 Mon Sep 17 00:00:00 2001
From: Felicia Lim <flim@google.com>
Date: Thu, 28 Jul 2016 15:21:19 +0200
Subject: [PATCH] Ensure that NLSF cannot be negative when computing a min
distance between them
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
---
silk/NLSF_stabilize.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/silk/NLSF_stabilize.c b/silk/NLSF_stabilize.c
index 1fa1ea3..8f3426b 100644
--- a/silk/NLSF_stabilize.c
+++ b/silk/NLSF_stabilize.c
@@ -130,7 +130,7 @@ void silk_NLSF_stabilize(
/* Keep delta_min distance between the NLSFs */
for( i = 1; i < L; i++ )
- NLSF_Q15[i] = silk_max_int( NLSF_Q15[i], NLSF_Q15[i-1] + NDeltaMin_Q15[i] );
+ NLSF_Q15[i] = silk_max_int( NLSF_Q15[i], silk_ADD_SAT16( NLSF_Q15[i-1], NDeltaMin_Q15[i] ) );
/* Last NLSF should be no higher than 1 - NDeltaMin[L] */
NLSF_Q15[L-1] = silk_min_int( NLSF_Q15[L-1], (1<<15) - NDeltaMin_Q15[L] );
--
2.1.4