From 0713a18ebc87bad579b901b3dcd2499d8e5b552b Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jmvalin@jmvalin.ca> Date: Fri, 1 Mar 2024 17:34:52 -0500 Subject: [PATCH] Fix overflow in CELT Deep PLC Added proper saturation and rounding --- celt/celt_decoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c index 70b5ed12f..743c2031b 100644 --- a/celt/celt_decoder.c +++ b/celt/celt_decoder.c @@ -589,7 +589,7 @@ void update_plc_state(LPCNetPLCState *lpcnet, celt_sig *decode_mem[2], float *pl for (j=0;j<SINC_ORDER+1;j++) { sum += buf48k[3*i + j + offset]*sinc_filter[j]; } - buf16k[i] = sum; + buf16k[i] = float2int(MIN32(32767.f, MAX32(-32767.f, sum))); } tmp_read_post = lpcnet->fec_read_pos; tmp_fec_skip = lpcnet->fec_skip; -- GitLab