Commit e28bfb27 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

Merge branch 'main' into 1772-replace-shr_o-by-overflow-free-alternatives

parents 4f55bfb6 574a190e
Loading
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -1916,6 +1916,26 @@ Word16 findIndexOfMinWord32( Word32 *x, const Word16 len )
    return indx;
}

Word16 findIndexOfMinWord64( Word64 *x, const Word16 len )
{
    Word16 i, indx;


    indx = 0;
    move16();
    FOR( i = 1; i < len; i++ )
    {
        if ( LT_64( x[i], x[indx] ) )
        {
            indx = i;
            move16();
        }
    }


    return indx;
}


Word16 imult1616( Word16 x, Word16 y )
{
+1 −0
Original line number Diff line number Diff line
@@ -536,6 +536,7 @@ Word16 findIndexOfMinWord16( Word16 *x, const Word16 len );
  \return   index of min Word32
 */
Word16 findIndexOfMinWord32( Word32 *x, const Word16 len );
Word16 findIndexOfMinWord64( Word64 *x, const Word16 len );

/****************************************************************************/
/*!
+262 −15

File changed.

Preview size limit exceeded, changes collapsed.

+2 −0
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@
#define OPT_HEAD_ROT_REND_V1_BE
#define OPT_SBA_DEC_V2_BE
#define OPT_SBA_ENC_V2_BE
#define OPT_SBA_ENC_V2_NBE
#define OPT_SBA_ENC_V1_BE
#define OPT_SBA_DEC_PATH                    /* Optimization made in SBA decoding path */
#define OPT_IVAS_FILTER_ROM                    /* Optimization made in IVAS filter table */
@@ -98,6 +99,7 @@
#define NONBE_FIX_864_JBM_RENDER_FRAMESIZE                    /* FhG: issue #864: fix different behaviour of JBM TSM with different render frame sizes */

#define FIX_1762_COMPILER_ISSUE                 /* FhG: fix compiler issues with W_mac_32_32() + ONE_IN_Q30 */
#define ISSUE_1751_replace_shl_ro               /*FhG: replace shl_ro by overflow-free alternatives*/
#define ISSUE_1772_replace_shr_o                /* FhG: replace by non-overflow-alternative - BE */

#endif
+9 −4
Original line number Diff line number Diff line
@@ -106,10 +106,6 @@ ivas_error decod_gen_voic_fx(
    gain_inov_fx = 0;
    error_fx = 0;
    gain_preQ_fx = 0;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
    Flag Overflow = 0;
    move32();
#endif
    move16();
    move32();
    move32();
@@ -467,11 +463,20 @@ ivas_error decod_gen_voic_fx(
        test();
        test();
        test();
#ifdef ISSUE_1751_replace_shl_ro
        IF( GT_16( shr_r_sat( enratio, sub( Qenratio, 15 ) ), 8192 ) &&       /*compare with 0.25 in Q15*/
            LT_16( shr_r_sat( enratio, sub( Qenratio, 10 ) ), 15360 ) &&      /*compare with 15.0 in Q10*/
            GT_16( shr_r_sat( sp_enratio, sub( Qsp_enratio, 15 ) ), 4915 ) && /*compare with 0.15 in Q15*/
            LT_16( st_fx->bfi_pitch_fx, 9600 ) &&                             /*Q6*/
            LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) )                /*Q6*/
#else
        Flag Overflow;
        IF( GT_16( shl_ro( enratio, sub( 15, Qenratio ), &Overflow ), 8192 ) &&       /*compare with 0.25 in Q15*/
            LT_16( shl_ro( enratio, sub( 10, Qenratio ), &Overflow ), 15360 ) &&      /*compare with 15.0 in Q10*/
            GT_16( shl_ro( sp_enratio, sub( 15, Qsp_enratio ), &Overflow ), 4915 ) && /*compare with 0.15 in Q15*/
            LT_16( st_fx->bfi_pitch_fx, 9600 ) &&                                     /*Q6*/
            LT_16( pitch_buf_fx[( NB_SUBFR16k - 1 )], 9600 ) )                        /*Q6*/
#endif
        {
            IF( NE_32( ( error = DTFS_new_fx( &PREVP ) ), IVAS_ERR_OK ) )
            {
Loading