Fixes an integer wrap-around due to an exceedingly large QCONST16
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 25 Jul 2013 17:52:42 +0000 (13:52 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 25 Jul 2013 17:55:15 +0000 (13:55 -0400)
celt/celt_encoder.c

index b5a7f17..d9d357d 100644 (file)
@@ -890,7 +890,7 @@ static opus_val16 dynalloc_analysis(const opus_val16 *bandLogE, const opus_val16
    for (i=0;i<nbEBands;i++)
       offsets[i] = 0;
    /* Dynamic allocation code */
-   maxDepth=-QCONST16(32.f, DB_SHIFT);
+   maxDepth=-QCONST16(31.9f, DB_SHIFT);
    for (i=0;i<end;i++)
    {
       /* Noise floor must take into account eMeans, the depth, the width of the bands