diff options
author | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2010-12-09 23:23:45 +0300 |
---|---|---|
committer | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2010-12-09 23:23:45 +0300 |
commit | 85bbab0b4a15d144930ce47d8bc1c0d5d99ec371 (patch) | |
tree | 05765bd4cc7faf52e115eec5850d361d0166e394 | |
parent | fddc521a5cf6ede6d249d028d129f74c7b171568 (diff) |
Fixes a fixed-point overflow in stereo angle calculation
-rw-r--r-- | libcelt/vq.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libcelt/vq.c b/libcelt/vq.c index e8bb562..b80b65c 100644 --- a/libcelt/vq.c +++ b/libcelt/vq.c @@ -381,8 +381,8 @@ int stereo_itheta(celt_norm *X, celt_norm *Y, int stereo, int N) for (i=0;i<N;i++) { celt_norm m, s; - m = X[i]+Y[i]; - s = X[i]-Y[i]; + m = ADD16(SHR16(X[i],1),SHR16(Y[i],1)); + s = SUB16(SHR16(X[i],1),SHR16(Y[i],1)); Emid = MAC16_16(Emid, m, m); Eside = MAC16_16(Eside, s, s); } |