Commit d917860b authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Updates for Q-handling in stereo cng dec to address 3GPP issue 732

parent 1d09e987
Loading
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1319,13 +1319,17 @@ static void stereo_dft_generate_comfort_noise_fx(
                {
                    /* Real part in FFT bins */
                    rand_gauss_fx( ptr_r, &st->hTdCngDec->cng_seed, q_dft );
                    tmp = Mpy_32_16_1( Sqrt32( *ptr_level, &q_sqrt ), scale );
                    ( *ptr_r ) = Mpy_32_32( *ptr_r, tmp );
                    q_sqrt = sub( Q31, q_cngNoiseLevel );
                    tmp = Sqrt32( *ptr_level, &q_sqrt );
                    tmp = Mpy_32_16_1( tmp, scale );       // 15 + q_sqrt
                    ( *ptr_r ) = Mpy_32_32( *ptr_r, tmp ); // q_dft + 15 + q_sqrt - 31
                    ( *ptr_r ) = L_shl_sat( ( *ptr_r ), add( 15, q_sqrt ) );
                    move32();
                    ptr_r += 2;
                    /* Imaginary part in FFT bins */
                    rand_gauss_fx( ptr_i, &st->hTdCngDec->cng_seed, q_dft );
                    ( *ptr_i ) = Mpy_32_32( *ptr_i, tmp );
                    ( *ptr_i ) = L_shl_sat( ( *ptr_i ), add( 15, q_sqrt ) );
                    move32();
                    ptr_i += 2;
                }