Fixes a fixed-point overflow in stereo angle calculation

This commit is contained in:
Jean-Marc Valin 2010-12-09 15:23:45 -05:00
parent fddc521a5c
commit 85bbab0b4a

View file

@ -381,8 +381,8 @@ int stereo_itheta(celt_norm *X, celt_norm *Y, int stereo, int N)
for (i=0;i<N;i++) for (i=0;i<N;i++)
{ {
celt_norm m, s; celt_norm m, s;
m = X[i]+Y[i]; m = ADD16(SHR16(X[i],1),SHR16(Y[i],1));
s = X[i]-Y[i]; s = SUB16(SHR16(X[i],1),SHR16(Y[i],1));
Emid = MAC16_16(Emid, m, m); Emid = MAC16_16(Emid, m, m);
Eside = MAC16_16(Eside, s, s); Eside = MAC16_16(Eside, s, s);
} }