Commit 22959633 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh Committed by Manuel Jander
Browse files

Fix for 3GPP issue 1037: Wrong variable type used in the fixed-point code - 1

Link #1037
parent af486c5a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -3828,6 +3828,15 @@ void ivas_compute_spar_params_fx(
                        move32();
                    }
                }
#else
                for ( i = 0; i < IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS; i++ )
                {
                    for ( j = 0; j < IVAS_SPAR_MAX_DMX_CHS - 1; j++ )
                    {
                        hSparMd->band_coeffs[b + i_ts * IVAS_MAX_NUM_BANDS].C_re_fx[i][j] = L_shr( hSparMd->band_coeffs[b + i_ts * IVAS_MAX_NUM_BANDS].C_re_fx[i][j], sub( q_tmp, 22 ) );
                    }
                }
#endif
                hSparMd->band_coeffs[b + ( i_ts * IVAS_MAX_NUM_BANDS )].q_C_re_fx = Q22;
                move16();
            }
+0 −4
Original line number Diff line number Diff line
@@ -72,10 +72,6 @@
#define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) )
#endif
#ifndef TRUNC
#define TRUNC( x ) ( (int16_t) ( ( ( x ) >= 32767. ? 32767 : ( ( x ) <= -32768. ? -32768 : ( x ) ) ) + 0.5 ) )
#endif
#define log_base_2( x ) ( (double) log( (double) ( x ) ) * 1.4426950408889634074f )
#define round_f( x )    ( ( ( x ) > 0 ) ? (int32_t) ( ( x ) + 0.5f ) : ( -(int32_t) ( ( -x ) + 0.5f ) ) )
+1 −1
Original line number Diff line number Diff line
@@ -838,7 +838,7 @@ ivas_error acelp_core_switch_dec_bfi_ivas_fx(
    move16();
    Copy_Scale_sig_16_32_DEPREC( synth_out, synth32, L_FRAME48k, 5 ); /*11-5-1*/

    cldfbSynthesis_ivas_fx( realBuffer, imagBuffer, synth32, extract_l( Mpy_32_16_1( st_fx->output_Fs, 328 ) ), 0, st_fx->cldfbSyn );
    cldfbSynthesis_ivas_fx( realBuffer, imagBuffer, synth32, extract_l( Mpy_32_16_1( st_fx->output_Fs, 328 ) ), st_fx->cldfbSyn );
    Scale_sig32( st_fx->cldfbSyn->cldfb_state_fx, st_fx->cldfbSyn->cldfb_state_length, -1 ); // Q_cldfb_state-1
    st_fx->cldfbSyn->Q_cldfb_state = sub( st_fx->cldfbSyn->Q_cldfb_state, 1 );
    move16();
+2 −0
Original line number Diff line number Diff line
@@ -507,6 +507,7 @@ ivas_error ivas_jbm_dec_tc_fx(
                    hCPE->q_output_mem_fx[ii] = hCPE->hStereoDft->q_dft;
                    move16();
                }
#ifdef MSAN_FIX
                FOR( ii = 0; ii < CPE_CHANNELS; ii++ )
                {
                    Scale_sig32( &hCPE->prev_synth_fx[ii][0], NS2SA_FX2( st_ivas->hDecoderConfig->output_Fs, IVAS_DEC_DELAY_NS - STEREO_DFT32MS_OVL_NS ), sub( hCPE->q_prev_synth_fx, Q11 ) ); // q_prev_synth_fx
@@ -518,6 +519,7 @@ ivas_error ivas_jbm_dec_tc_fx(
                {
                    Scale_sig32( p_output_fx[i], L_FRAME48k, negate( s ) );
                }
#ifdef MSAN_FIX
                FOR( ii = 0; ii < CPE_CHANNELS; ii++ )
                {
                    Scale_sig32( &hCPE->prev_synth_fx[ii][0], NS2SA_FX2( st_ivas->hDecoderConfig->output_Fs, IVAS_DEC_DELAY_NS - STEREO_DFT32MS_OVL_NS ), sub( Q11, hCPE->q_prev_synth_fx ) ); // Q11
+9 −1
Original line number Diff line number Diff line
@@ -2152,13 +2152,21 @@ void stereo_td2dft_update_fx(
            /* update buffers used for fading when switching to DFT Stereo */
            v_add_fx( sts[0]->hHQ_core->old_out_LB_fx32 + nsLB, sts[1]->hHQ_core->old_out_LB_fx32 + nsLB, hCPE->old_outLB_mdct_fx, old_outLB_len );
            L_lerp_fx_q11( hCPE->old_outLB_mdct_fx, hCPE->old_outLB_mdct_fx, STEREO_MDCT2DFT_FADE_LEN_48k, old_outLB_len );
#ifndef MSAN_FIX
            for ( i = 0; i < STEREO_MDCT2DFT_FADE_LEN_48k; i++ )
#else
            FOR( i = 0; i < old_outLB_len; i++ )
#endif
            {
                hCPE->old_outLB_mdct_fx[i] = L_shr( hCPE->old_outLB_mdct_fx[i], 1 ); /* Q11 */
                move32();
            }
            v_add_fx( sts[0]->hHQ_core->old_out_fx32 + ns, sts[1]->hHQ_core->old_out_fx32 + ns, hCPE->old_out_mdct_fx, old_out_len ); /* exp(exp_old_out) */
            v_add_fx( sts[0]->hHQ_core->oldOut_fx + ns, sts[1]->hHQ_core->oldOut_fx + ns, hCPE->old_out_mdct_fx, old_out_len ); /* exp(exp_old_out) */
#ifndef MSAN_FIX
            for ( int i = 0; i < STEREO_MDCT2DFT_FADE_LEN_48k; i++ )
#else
            FOR( i = 0; i < old_out_len; i++ )
#endif
            {
                hCPE->old_out_mdct_fx[i] = L_shr( hCPE->old_out_mdct_fx[i], 1 ); /* q_old_out_mdct */
                move32();
Loading