shithub: opus

Download patch

ref: 73bf6332ed4f60dd40469970f36f0505c595afc0
parent: 4a275d4d8f77afa8d308c2e9998bb5843944ac8c
author: Jean-Marc Valin <[email protected]>
date: Tue Oct 20 03:22:04 EDT 2009

Making the multiplication in normalise_residual() produce a 32-bit result just
to be on the safe side (not that I observed any overflow, but I can't prove
it can't happen).

--- a/libcelt/vq.c
+++ b/libcelt/vq.c
@@ -109,7 +109,7 @@
 
    i=0;
    do
-      X[i] = SHR16(MULT16_16_16(g, iy[i]),1);
+      X[i] = EXTRACT16(SHR32(MULT16_16(g, iy[i]),1));
    while (++i < N);
 }