shithub: opus

Download patch

ref: de1fd28740a33930b661a64a0ca52bd7c32fa20e
parent: c6eb40f82bc721293461a00574fdbeee473a1a89
author: Jean-Marc Valin <[email protected]>
date: Thu Nov 27 18:34:15 EST 2008

Fixes a denormalisation issue occuring when multiple packets are lost and the
signal decays to "not quite zero"

--- a/libcelt/celt.c
+++ b/libcelt/celt.c
@@ -871,7 +871,7 @@
       offset -= pitch_index;
    compute_mdcts(st->mode, 0, st->out_mem+offset*C, freq);
    for (i=0;i<N;i++)
-      freq[i] = MULT16_32_Q15(QCONST16(.9f,15),freq[i]);
+      freq[i] = ADD32(EPSILON, MULT16_32_Q15(QCONST16(.9f,15),freq[i]));
 #endif