Commit 355a9b30 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Float code cleanup, msvs warning fix and mld fixes

parent 61c7cfea
Loading
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -668,7 +668,15 @@ Word16 quantize_phi_chan_compand_fx(
    delta_phi = L_shr( delta_phi, sub( 9, tmp_e ) ); // Q22
    // id_phi = (int16_t) round_f( ( phi / (float) delta_phi ) );
    id_phi = BASOP_Util_Divide3232_Scale( phi, delta_phi, &tmp_e ); // Q15
    IF( GE_16( abs_s( id_phi ), shl_sat( 1, sub( 15, tmp_e ) ) ) )
    {
        id_phi = shr( id_phi, sub( 15, tmp_e ) ); // Q0
    }
    ELSE
    {
        id_phi = 0;
        move16();
    }

    IF( add( id_phi, shr( n, 1 ) ) < 0 )
    {
+1 −1
Original line number Diff line number Diff line
@@ -397,7 +397,7 @@ UWord16 rc_uni_dec_read_bits(

    FOR( tmp = range; tmp <= low; tmp += range )
    {
        val = add( val, 1 );
        val = UL_addNsD( val, 1 );
    }

    /* in case of bitstream errors it is possible that val >= (1 << bits) */
+1 −1
Original line number Diff line number Diff line
@@ -791,7 +791,7 @@ void acelp_fast_fx(

            FOR( i = 0; i < L_subfr; i++ )
            {
                y_tmp[i] = add( y_tmp[i], *p_hn++ ); // q_H
                y_tmp[i] = add_sat( y_tmp[i], *p_hn++ ); // q_H
                move16();
            }

+3 −1
Original line number Diff line number Diff line
@@ -764,7 +764,9 @@ void core_signal_analysis_high_bitrate_ivas_fx(
    Q_exp = sub( *Q_new, st->prev_Q_new );
    move16();

    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( *Q_new, st->Q_old ) ); // *Q_new
    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( *Q_new, sub( Q15, st->exp_old_inp_16k ) ) ); // *Q_new
    st->exp_old_inp_16k = sub( Q15, *Q_new );
    move16();
    IF( Q_exp != 0 )
    {
        Scale_sig( st->buf_speech_enc_pe, st->encoderPastSamples_enc + st->encoderLookahead_enc, Q_exp ); // *Q_new
+21 −7
Original line number Diff line number Diff line
@@ -533,24 +533,29 @@ ivas_error pre_proc_ivas(

    inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look;

#ifdef IVAS_FLOAT_FIXED_CONVERSIONS
    Word16 Q_old_inp_16k = -1;
    move16();
    Word16 Q_r[2] = { 0 };
    move16();
    move16();
    inp_16k_fx = old_inp_16k_fx + L_INP_MEM - L_look;

    Word16 shift = getScaleFactor16( st->old_inp_12k8_fx, 240 );
    Scale_sig( st->old_inp_12k8_fx, 240, shift );
    Word16 shift = getScaleFactor16( st->old_inp_12k8_fx, L_INP_MEM );
    Scale_sig( st->old_inp_12k8_fx, L_INP_MEM, shift );
    st->exp_old_inp_12k8 = sub( st->exp_old_inp_12k8, shift );
    move16();

    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, Q_old_inp_16k ) ) );
    Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( Q_old_inp_16k, sub( Q15, st->exp_old_inp_16k ) ) );
    st->exp_old_inp_16k = sub( Q15, Q_old_inp_16k );
    if ( st->hBWE_FD != NULL )
    move16();

    IF( st->hBWE_FD != NULL )
    {
        Scale_sig( st->hBWE_FD->L_old_wtda_swb_fx, L_FRAME48k, sub( -1, st->Q_old_wtda ) );
        st->Q_old_wtda = -1; // This reset needs to be looked into
        move16();
    }
#endif

    st->mem_preemph_enc = shl( st->mem_preemph_enc, sub( Q_old_inp_16k, sub( Q15, st->exp_mem_preemph_enc ) ) );
    move16();
    st->exp_mem_preemph_enc = sub( Q15, Q_old_inp_16k );
@@ -1215,15 +1220,24 @@ ivas_error ivas_compute_core_buffers_fx(
    IF( ( EQ_16( element_mode, IVAS_CPE_TD ) && EQ_16( st->idchan, 1 ) ) || EQ_16( element_mode, IVAS_CPE_MDCT ) )
    {
        set16_fx( st->old_inp_16k_fx, 0, L_INP_MEM );
        st->exp_old_inp_16k = 0;
        move16();
    }
    ELSE IF( GT_32( input_Fs, 8000 ) && EQ_32( sr_core, INT_FS_16k ) )
    {
        Copy( &old_inp_16k_fx[L_frame_tmp], st->old_inp_16k_fx, L_INP_MEM );
        IF( Q_new )
        {
            st->exp_old_inp_16k = sub( Q16, *Q_new ); //(*Q_new - 1)
            move16();
        }
    }
    ELSE IF( GT_32( input_Fs, 8000 ) )
    {
        lerp( st->old_inp_12k8_fx + L_INP_MEM - L_INP_MEM * 4 / 5, st->old_inp_16k_fx, L_INP_MEM, L_INP_MEM * 4 / 5 );
        Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( -1 /* Q st->old_inp_16k_fx = -1 */, sub( 15, st->exp_old_inp_12k8 ) ) );
        Scale_sig( st->old_inp_16k_fx, L_INP_MEM, sub( -1 /* Q st->old_inp_16k_fx = -1 */, sub( 15, st->exp_old_inp_16k ) ) );
        st->exp_old_inp_16k = Q16; // Q-1
        move16();
    }

    IF( inp16k_out_fx != NULL )
Loading