Commit 4f89e381 authored by multrus's avatar multrus
Browse files

usage of W_shl_sat_l()

parent 433b9a91
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -102,4 +102,6 @@
#define ISSUE_1751_replace_shl_ro               /*FhG: replace shl_ro by overflow-free alternatives*/
#define ISSUE_1770_replace_shr_ro               /* FhG: replace by non-overflow-alternative - BE */

#define FIX_1735_W_SHL_SAT_L                    /* FhG: Usage of W_shl_sat_l() */

#endif
+4 −0
Original line number Diff line number Diff line
@@ -2009,7 +2009,11 @@ void ivas_dirac_dec_set_md_map(
                tmp_fx = W_add_nosat( tmp_fx, W_deposit32_l( L_deposit_l( hSpatParamRendCom->render_to_md_map[slot_idx_abs] ) ) );
                slot_idx_abs = add( slot_idx_abs, 1 );
            }
#ifdef FIX_1735_W_SHL_SAT_L
            iDiv_and_mod_32( W_shl_sat_l( tmp_fx, 16 ), hSpatParamRendCom->subframe_nbslots[sf_idx], &quo, &rem, 0 );
#else
            iDiv_and_mod_32( W_extract_l( W_shl_nosat( tmp_fx, 16 ) ), hSpatParamRendCom->subframe_nbslots[sf_idx], &quo, &rem, 0 );
#endif
            hSpatParamRendCom->render_to_md_map[sf_idx] = add( round_fx( quo ), hSpatParamRendCom->dirac_read_idx ) % hSpatParamRendCom->dirac_md_buffer_length;
            move16();
        }
+4 −0
Original line number Diff line number Diff line
@@ -224,7 +224,11 @@ static Word16 ivas_spar_get_activeW_flag_fx(
        q_shift = Q31;
        move16();
        q_shift = W_norm( bb_var_64bit[ch] );
#ifdef FIX_1735_W_SHL_SAT_L
        bb_var[ch] = W_shl_sat_l( bb_var_64bit[ch], sub( q_shift, 32 ) ); /* q_bb_var[ch] + sub( q_shift, 32 ) */
#else
        bb_var[ch] = W_extract_l( W_shl_nosat( bb_var_64bit[ch], sub( q_shift, 32 ) ) ); /* q_bb_var[ch] + sub( q_shift, 32 ) */
#endif
        move32();
        q_bb_var[ch] = add( q_bb_var[ch], sub( q_shift, 32 ) );
        move16();