Defining merge_stereo() when S==-M or S==M
This commit is contained in:
parent
6bdc53b86f
commit
620e716b76
1 changed files with 6 additions and 4 deletions
|
@ -346,10 +346,12 @@ static void stereo_merge(celt_norm *X, celt_norm *Y, celt_word16 mid, int N)
|
||||||
mid2 = SHR32(mid, 1);
|
mid2 = SHR32(mid, 1);
|
||||||
El = MULT16_16(mid2, mid2) + side - 2*xp;
|
El = MULT16_16(mid2, mid2) + side - 2*xp;
|
||||||
Er = MULT16_16(mid2, mid2) + side + 2*xp;
|
Er = MULT16_16(mid2, mid2) + side + 2*xp;
|
||||||
if (Er < EPSILON)
|
if (Er < QCONST32(6e-4f, 28) || El < QCONST32(6e-4f, 28))
|
||||||
Er = EPSILON;
|
{
|
||||||
if (El < EPSILON)
|
for (j=0;j<N;j++)
|
||||||
El = EPSILON;
|
Y[j] = X[j];
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef FIXED_POINT
|
#ifdef FIXED_POINT
|
||||||
kl = celt_ilog2(El)>>1;
|
kl = celt_ilog2(El)>>1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue