Commit e5b78387 authored by multrus's avatar multrus
Browse files

address formal issues + issue for x == 0 && y == 0 in get_min_scalefactor()

parent e7ca3356
Loading
Loading
Loading
Loading
Loading
+21 −3
Original line number Diff line number Diff line
@@ -7262,7 +7262,7 @@ Word16 L_norm_arr( Word32 *arr, Word16 size )
    Word16 q = 31;
    move16();
    FOR( Word16 i = 0; i < size; i++ )
#if 0
#ifndef FIX_1009_OPT_L_NORM_ARR
    IF( arr[i] != 0 )
    {
        q = s_min( q, norm_l( arr[i] ) );
@@ -7270,10 +7270,13 @@ Word16 L_norm_arr( Word32 *arr, Word16 size )
#else
    {
        Word16 q_tst;

        q_tst = norm_l( arr[i] );
        if ( arr[i] != 0 )
        {
            q = s_min( q, q_tst );
        }
    }

#endif
    return q;
@@ -7281,7 +7284,7 @@ Word16 L_norm_arr( Word32 *arr, Word16 size )

Word16 get_min_scalefactor( Word32 x, Word32 y )
{
#if 0
#ifndef FIX_1009_OPT_GETMINSCALEFAC
    Word16 scf = Q31;
    move16();
    test();
@@ -7299,13 +7302,28 @@ Word16 get_min_scalefactor( Word32 x, Word32 y )
    }
    return scf;
#else
    Word16 scf = Q31;
    Word16 scf_y;
    Word16 scf = Q31;
    move16();

    test();
    if ( x == 0 && y == 0 )
    {
        scf = 0;
        move16();
    }

    if ( x != 0 )
    {
        scf = norm_l( x );
    }

    scf_y = norm_l( y );
    if ( y != 0 )
    {
        scf = s_min( scf_y, scf );
    }

    return scf;
#endif
}
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@

#define FIX_1009_REPLACE_DIV_SQRT_BY_ISQRT_LC   /* FhG: Reduce workload of binaural rendering: replace 1./tmp & sqrt by Isqrt32 */
#define FIX_1009_OPT_PARAMMC_RENDER             /* FhG: Optimize ivas_param_mc_dec_render_fx() */
#define FIX_1009_OPT_GETMINSCALEFAC             /* FhG: Optimize get_min_scalefactor(), avoid IF */
                                                /*      Replace computations with constants by setting of constants */
                                                /*      Simplify matrix multiplications and some external helper routines */