Commit 041dcc2f authored by emerit's avatar emerit
Browse files

Merge branch 'main' into update_crend_v2

parents 2162de1b 1df326bb
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1571,7 +1571,7 @@ Word32 DEPR_L_macNs( Word32 L_var3, Word16 var1, Word16 var2, Flag *Carry )
    Word32 L_var_out;

    L_var_out = L_mult( var1, var2 );
    L_var_out = DEPR_L_add_c( L_var3, L_var_out, Carry );
    L_var_out = L_add_c( L_var3, L_var_out, Carry );

#ifdef WMOPS
    multiCounter[currCounter].L_mult--;
@@ -1938,7 +1938,7 @@ Word32 L_sub_sat( Word32 L_var1, Word32 L_var2 )
#ifndef BASOP_NOGLOB
Word32 L_add_c( Word32 L_var1, Word32 L_var2 )
#else  /* BASOP_NOGLOB */
Word32 DEPR_L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry )
Word32 L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry )
#endif /* BASOP_NOGLOB */
{
    Word32 L_var_out;
@@ -2121,13 +2121,13 @@ Word32 L_add_co( Word32 L_var1, Word32 L_var2, Flag *Carry, Flag *Overflow )
        carry_int ? set_carry( Carry ) : unset_carry( Carry );
    }

#ifdef WMOPS
    multiCounter[currCounter].L_add_c++;
#endif
    return ( L_var_out );
}
Word32 L_add_c( Word32 L_var1, Word32 L_var2 )
{
    return L_add_co( L_var1, L_var2, NULL, NULL );
}
#endif

/*___________________________________________________________________________
 |                                                                           |
 |   Function Name : L_sub_c                                                 |
@@ -2199,7 +2199,7 @@ Word32 DEPR_L_sub_c( Word32 L_var1, Word32 L_var2, Flag *Carry )
#ifndef BASOP_NOGLOB
            L_var_out = L_add_c( L_var1, -L_var2 );
#else  /* BASOP_NOGLOB */
            L_var_out = DEPR_L_add_c( L_var1, -L_var2, Carry );
            L_var_out = L_add_c( L_var1, -L_var2, Carry );
#endif /* BASOP_NOGLOB */
#ifdef WMOPS
            multiCounter[currCounter].L_add_c--;
+1 −2
Original line number Diff line number Diff line
@@ -163,7 +163,6 @@ Word32 L_macNs( Word32 L_var3, Word16 var1, Word16 var2 ); /*
Word32 L_msuNs( Word32 L_var3, Word16 var1, Word16 var2 );                   /* Msu without sat, 1 */
Word32 L_add_co( Word32 L_var1, Word32 L_var2, Flag *Carry, Flag *Overflow );
Word32 L_sub_co( Word32 L_var1, Word32 L_var2, Flag *Carry, Flag *Overflow );
Word32 L_add_c( Word32 L_var1, Word32 L_var2 );                              /* Long add with c, 2 */
Word32 L_sub_c( Word32 L_var1, Word32 L_var2 );                              /* Long sub with c, 2 */

#endif /* BASOP_NOGLOB */
@@ -189,7 +188,7 @@ Word16 shr_r( Word16 var1, Word16 var2 ); /* Shift right with
#else                                           /* BASOP_NOGLOB */
Word32 L_add( Word32 L_var1, Word32 L_var2 );                                /* Long add,        1 */
Word32 L_sub( Word32 L_var1, Word32 L_var2 );                                /* Long sub,        1 */
Word32 DEPR_L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry );            /* Long add with c, 2 */
Word32 L_add_c( Word32 L_var1, Word32 L_var2, Flag *Carry );                 /* Long add with c, 2 */
Word32 DEPR_L_sub_c( Word32 L_var1, Word32 L_var2, Flag *Carry );            /* Long sub with c, 2 */
Word32 L_negate( Word32 L_var1 );                                            /* Long negate,     1 */
Word16 mult_r( Word16 var1, Word16 var2 );                                   /* Mult with round, 1 */
+7 −4
Original line number Diff line number Diff line
@@ -140,4 +140,7 @@
#define FIX_ISSUE_1152                          /* Ittiam: Fix for issue 1152: Assertion error observed in evs_enc_fx (with option stereo_dmx_evs) from find_tilt_fx function*/
#define FIX_ISSUE_1156                          /* Ittiam: Fix for Issue 1156: Encoder crash for Stereo at 32kbps in SWB_BWE_encoding_ivas_fx() */
#define FIX_DISCLAIMER                          /* VA: Add disclaimer for external renderer + Add info about IVAS reference version (FLP issue 1225) */
#define FIX_ISSUE_1167                          /* Ittiam: Fix for Issue 1167: Encoder crash for OSBA ISM3SBA1 at 13.2 and 16.4 kbps in gauss_L2_ivas_fx() */
#define FIX_1009_REPLACE_DIV_SQRT_BY_ISQRT_LC   /* FhG: Reduce workload of binaural rendering: replace 1./tmp & sqrt by Isqrt32 */
#define FIX_1113_OPT_DIRAC_BIN_REND             /* FhG: Various optimizations to ivas_dirac_dec_binaual_functions.c */
#endif
+19 −1
Original line number Diff line number Diff line
@@ -143,14 +143,24 @@ void gauss_L2_ivas_fx(
    *gain = L_deposit_l( 0 );
    move32();
    /*Update correlations for gains coding */
#ifdef FIX_ISSUE_1167
    tmp32 = L_shr( 21474836l /*0.01f Q31*/, 31 - 16 );   /* Q16 */
    tmp32_2 = L_shr( 21474836l /*0.01f Q31*/, 31 - 16 ); /* Q16 */
    FOR( i = 0; i < L_SUBFR; i++ )
    {
        tmp16 = shr( y11[i], 1 );
        tmp32 = L_mac0( tmp32, tmp16, tmp16 );               /* Q16 */
        tmp32_2 = L_mac0( tmp32_2, tmp16, shr( y2[i], 1 ) ); /* Q16 */
    }
#else
    tmp32 = L_shr( 21474836l /*0.01f Q31*/, 31 - 18 );   /* Q18 */
    tmp32_2 = L_shr( 21474836l /*0.01f Q31*/, 31 - 18 ); /* Q18 */

    FOR( i = 0; i < L_SUBFR; i++ )
    {
        tmp32 = L_mac0( tmp32, y11[i], y11[i] );    /* Q18 */
        tmp32_2 = L_mac0( tmp32_2, y11[i], y2[i] ); /* Q18 */
    }
#endif

    tmp16 = norm_l( tmp32 );
    // To be checked
@@ -159,13 +169,21 @@ void gauss_L2_ivas_fx(
#else
    g_corr->y1y1 = round_fx( L_shl( tmp32, tmp16 ) );
#endif
#ifdef FIX_ISSUE_1167
    g_corr->y1y1_e = sub( 31 - 16, tmp16 );
#else
    g_corr->y1y1_e = sub( 31 - 18, tmp16 );
#endif
    move16();
    move16();

    tmp16 = norm_l( tmp32_2 );
    g_corr->y1y2 = round_fx_sat( L_shl( tmp32_2, tmp16 ) );
#ifdef FIX_ISSUE_1167
    g_corr->y1y2_e = sub( 31 - 16, tmp16 );
#else
    g_corr->y1y2_e = sub( 31 - 18, tmp16 );
#endif
    move16();
    move16();
}
+1 −0
Original line number Diff line number Diff line
@@ -576,6 +576,7 @@ typedef struct ivas_stereo_classifier_data_structure
    Word32 non_sta_ch1_fx;
    Word16 non_sta_ch1_e;
    Word16 sp_div_ch1_fx;
    Word16 sp_div_ch1_e;
    Word32 ps_sta_ch1_fx, ps_sta_ch2_fx;
    Word16 ps_sta_ch1_e, ps_sta_ch2_e;
    Word32 prev_g_IPD_fx;       // Q29
Loading