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

Merge branch 'high_mld_issue_fixes' into 'main'

Fixes for some high MLD cases

See merge request !517
parents 4e186fa8 f3ec8ef6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2218,7 +2218,7 @@ static UWord16 deindex_sph_idx_general_fx(

    IF( GE_32( *theta_dec_fx, 90 << Q22 ) )
    {
        *theta_dec_fx = 90 << 22 * sign_theta;
        *theta_dec_fx = ( 90 << 22 ) * sign_theta;
        move32();
        *phi_dec_fx = 0;
        move32();
+7 −1
Original line number Diff line number Diff line
@@ -1694,6 +1694,13 @@ ivas_error core_switching_post_dec_ivas_fx(
            }
            /* delay HQ synthesis to synchronize with ACELP synthesis */
            /* rescaling to the min exp of the 2 */
            if ( hHQ_core->Q_old_postdec )
            {
                Scale_sig( st_fx->delay_buf_out_fx, delay_comp, negate( hHQ_core->Q_old_postdec ) );
            }

            hHQ_core->Q_old_postdec = 0;
            move16();
            Qtmp = s_min( *Qsynth, hHQ_core->Q_old_postdec );
            Scale_sig( synth, output_frame, sub( Qtmp, *Qsynth ) );
            *Qsynth = Qtmp;
@@ -1816,7 +1823,6 @@ ivas_error core_switching_post_dec_ivas_fx(
                    L_tmp2 = L_mac0( L_tmp2, div_s( sub( tmpDelta, i ), tmpDelta ), tmp );
                    L_tmp2 = L_shl( L_tmp2, 1 );
                    synth[i + delay_comp] = round_fx( L_add( L_tmp, L_tmp2 ) );
                    move16();
                }
                test();
                test();
+1 −1
Original line number Diff line number Diff line
@@ -3222,7 +3222,7 @@ void stereo_switching_dec(

        // fix need to do correctly
        set32_fx( sts[1]->old_pitch_buf_fx, L_deposit_h( L_SUBFR ), 2 * NB_SUBFR16k );
        sts[1]->old_fpitchFB = 2 * L_SUBFR;
        sts[1]->old_fpitchFB = L_deposit_h( 2 * L_SUBFR );
        move32();

        /* reset CLDFB memories */
+2 −2
Original line number Diff line number Diff line
@@ -10148,7 +10148,7 @@ static void renderIsmToMasa(

    FOR( i = 0; i < MAX_NUM_OBJECTS; i++ )
    {
        input_e[i] = sub( 31, add( getScaleFactor32( tmpRendBuffer_fx[i], L_FRAME48k ), 8 ) );
        input_e[i] = sub( 31, add( getScaleFactor32( tmpRendBuffer_fx[i], L_FRAME48k ), *outAudio.pq_fact ) );
        move16();
    }

@@ -10167,7 +10167,7 @@ static void renderIsmToMasa(
    {
        FOR( j = 0; j < L_FRAME48k; j++ )
        {
            tmpRendBuffer_fx[i][j] = L_shr( tmpRendBuffer_fx[i][j], add( sub( max_e, sub( 31, Q8 ) ), guard_bits ) );
            tmpRendBuffer_fx[i][j] = L_shr( tmpRendBuffer_fx[i][j], add( sub( max_e, sub( 31, *outAudio.pq_fact ) ), guard_bits ) );
            move32();
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ typedef struct
    Word16 q_factor;
    Word16 *pq_fact;
    Word32 *data_fx;
    Word16 Q_data;
    // Word16 Q_data;
} IVAS_REND_AudioBuffer;

#endif