From ab2ab570946e5d15b16491219f23a05446f628c3 Mon Sep 17 00:00:00 2001
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
Date: Fri, 1 Mar 2024 23:49:29 -0500
Subject: [PATCH] Fix NaN in Deep PLC

silk_burg_analysis() could return a slightly negative value on zero
input, which would cause a negative, which the log didn't like.
---
 dnn/burg.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dnn/burg.c b/dnn/burg.c
index 643a0d30a..3d6b23b03 100644
--- a/dnn/burg.c
+++ b/dnn/burg.c
@@ -33,6 +33,7 @@ POSSIBILITY OF SUCH DAMAGE.
 #include <string.h>
 #include <assert.h>
 
+#include "arch.h"
 #include "burg.h"
 
 #define MAX_FRAME_SIZE              384 /* subfr_length * nb_subfr = ( 0.005 * 16000 + 16 ) * 4 = 384*/
@@ -241,5 +242,5 @@ float silk_burg_analysis(              /* O    returns residual energy
     }
 
     /* Return residual energy */
-    return (float)nrg_f;
+    return MAX32(0, (float)nrg_f);
 }
-- 
GitLab