| Index: third_party/opus/src/celt/kiss_fft.c
|
| diff --git a/third_party/opus/src/celt/kiss_fft.c b/third_party/opus/src/celt/kiss_fft.c
|
| index 1f8fd05321a40204a3a66ad55818e464aac9a99c..83775165d866fb01d58bca71fcf563cf9db8c8eb 100644
|
| --- a/third_party/opus/src/celt/kiss_fft.c
|
| +++ b/third_party/opus/src/celt/kiss_fft.c
|
| @@ -82,8 +82,8 @@ static void kf_bfly2(
|
| C_SUB( Fout2[0] , Fout[0] , t );
|
| C_ADDTO( Fout[0] , t );
|
|
|
| - t.r = S_MUL(Fout2[1].r+Fout2[1].i, tw);
|
| - t.i = S_MUL(Fout2[1].i-Fout2[1].r, tw);
|
| + t.r = S_MUL(ADD32_ovflw(Fout2[1].r, Fout2[1].i), tw);
|
| + t.i = S_MUL(SUB32_ovflw(Fout2[1].i, Fout2[1].r), tw);
|
| C_SUB( Fout2[1] , Fout[1] , t );
|
| C_ADDTO( Fout[1] , t );
|
|
|
| @@ -92,8 +92,8 @@ static void kf_bfly2(
|
| C_SUB( Fout2[2] , Fout[2] , t );
|
| C_ADDTO( Fout[2] , t );
|
|
|
| - t.r = S_MUL(Fout2[3].i-Fout2[3].r, tw);
|
| - t.i = S_MUL(-Fout2[3].i-Fout2[3].r, tw);
|
| + t.r = S_MUL(SUB32_ovflw(Fout2[3].i, Fout2[3].r), tw);
|
| + t.i = S_MUL(NEG32_ovflw(ADD32_ovflw(Fout2[3].i, Fout2[3].r)), tw);
|
| C_SUB( Fout2[3] , Fout[3] , t );
|
| C_ADDTO( Fout[3] , t );
|
| Fout += 8;
|
| @@ -126,10 +126,10 @@ static void kf_bfly4(
|
| C_ADDTO( *Fout , scratch1 );
|
| C_SUB( scratch1 , Fout[1] , Fout[3] );
|
|
|
| - Fout[1].r = scratch0.r + scratch1.i;
|
| - Fout[1].i = scratch0.i - scratch1.r;
|
| - Fout[3].r = scratch0.r - scratch1.i;
|
| - Fout[3].i = scratch0.i + scratch1.r;
|
| + Fout[1].r = ADD32_ovflw(scratch0.r, scratch1.i);
|
| + Fout[1].i = SUB32_ovflw(scratch0.i, scratch1.r);
|
| + Fout[3].r = SUB32_ovflw(scratch0.r, scratch1.i);
|
| + Fout[3].i = ADD32_ovflw(scratch0.i, scratch1.r);
|
| Fout+=4;
|
| }
|
| } else {
|
| @@ -160,10 +160,10 @@ static void kf_bfly4(
|
| tw3 += fstride*3;
|
| C_ADDTO( *Fout , scratch[3] );
|
|
|
| - Fout[m].r = scratch[5].r + scratch[4].i;
|
| - Fout[m].i = scratch[5].i - scratch[4].r;
|
| - Fout[m3].r = scratch[5].r - scratch[4].i;
|
| - Fout[m3].i = scratch[5].i + scratch[4].r;
|
| + Fout[m].r = ADD32_ovflw(scratch[5].r, scratch[4].i);
|
| + Fout[m].i = SUB32_ovflw(scratch[5].i, scratch[4].r);
|
| + Fout[m3].r = SUB32_ovflw(scratch[5].r, scratch[4].i);
|
| + Fout[m3].i = ADD32_ovflw(scratch[5].i, scratch[4].r);
|
| ++Fout;
|
| }
|
| }
|
| @@ -212,18 +212,18 @@ static void kf_bfly3(
|
| tw1 += fstride;
|
| tw2 += fstride*2;
|
|
|
| - Fout[m].r = Fout->r - HALF_OF(scratch[3].r);
|
| - Fout[m].i = Fout->i - HALF_OF(scratch[3].i);
|
| + Fout[m].r = SUB32_ovflw(Fout->r, HALF_OF(scratch[3].r));
|
| + Fout[m].i = SUB32_ovflw(Fout->i, HALF_OF(scratch[3].i));
|
|
|
| C_MULBYSCALAR( scratch[0] , epi3.i );
|
|
|
| C_ADDTO(*Fout,scratch[3]);
|
|
|
| - Fout[m2].r = Fout[m].r + scratch[0].i;
|
| - Fout[m2].i = Fout[m].i - scratch[0].r;
|
| + Fout[m2].r = ADD32_ovflw(Fout[m].r, scratch[0].i);
|
| + Fout[m2].i = SUB32_ovflw(Fout[m].i, scratch[0].r);
|
|
|
| - Fout[m].r -= scratch[0].i;
|
| - Fout[m].i += scratch[0].r;
|
| + Fout[m].r = SUB32_ovflw(Fout[m].r, scratch[0].i);
|
| + Fout[m].i = ADD32_ovflw(Fout[m].i, scratch[0].r);
|
|
|
| ++Fout;
|
| } while(--k);
|
| @@ -282,22 +282,22 @@ static void kf_bfly5(
|
| C_ADD( scratch[8],scratch[2],scratch[3]);
|
| C_SUB( scratch[9],scratch[2],scratch[3]);
|
|
|
| - Fout0->r += scratch[7].r + scratch[8].r;
|
| - Fout0->i += scratch[7].i + scratch[8].i;
|
| + Fout0->r = ADD32_ovflw(Fout0->r, ADD32_ovflw(scratch[7].r, scratch[8].r));
|
| + Fout0->i = ADD32_ovflw(Fout0->i, ADD32_ovflw(scratch[7].i, scratch[8].i));
|
|
|
| - scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r);
|
| - scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r);
|
| + scratch[5].r = ADD32_ovflw(scratch[0].r, ADD32_ovflw(S_MUL(scratch[7].r,ya.r), S_MUL(scratch[8].r,yb.r)));
|
| + scratch[5].i = ADD32_ovflw(scratch[0].i, ADD32_ovflw(S_MUL(scratch[7].i,ya.r), S_MUL(scratch[8].i,yb.r)));
|
|
|
| - scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i);
|
| - scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i);
|
| + scratch[6].r = ADD32_ovflw(S_MUL(scratch[10].i,ya.i), S_MUL(scratch[9].i,yb.i));
|
| + scratch[6].i = NEG32_ovflw(ADD32_ovflw(S_MUL(scratch[10].r,ya.i), S_MUL(scratch[9].r,yb.i)));
|
|
|
| C_SUB(*Fout1,scratch[5],scratch[6]);
|
| C_ADD(*Fout4,scratch[5],scratch[6]);
|
|
|
| - scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r);
|
| - scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r);
|
| - scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i);
|
| - scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i);
|
| + scratch[11].r = ADD32_ovflw(scratch[0].r, ADD32_ovflw(S_MUL(scratch[7].r,yb.r), S_MUL(scratch[8].r,ya.r)));
|
| + scratch[11].i = ADD32_ovflw(scratch[0].i, ADD32_ovflw(S_MUL(scratch[7].i,yb.r), S_MUL(scratch[8].i,ya.r)));
|
| + scratch[12].r = SUB32_ovflw(S_MUL(scratch[9].i,ya.i), S_MUL(scratch[10].i,yb.i));
|
| + scratch[12].i = SUB32_ovflw(S_MUL(scratch[10].r,yb.i), S_MUL(scratch[9].r,ya.i));
|
|
|
| C_ADD(*Fout2,scratch[11],scratch[12]);
|
| C_SUB(*Fout3,scratch[11],scratch[12]);
|
|
|