Loading lib_com/hp50_fx.c +8 −16 Original line number Diff line number Diff line Loading @@ -349,35 +349,27 @@ void hp20_fx_32_opt( { Word32 i; Word32 a1_fx, a2_fx, b1_fx, b2_fx; Word32 diff_pos, diff_neg; #ifndef ISSUE_1836_replace_overflow_libcom Flag Overflow = 0; #endif Word16 prescale, prescaleOld, prescale_current_frame, diff; Word32 tmp_mem[4]; prescale = L_norm_arr( signal_fx, lg ); prescale_current_frame = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); prescaleOld = extract_l( mem_fx[4] ); #ifdef ISSUE_1836_replace_overflow_libcom diff_pos = norm_l( L_shl_sat( L_max( mem_fx[2], mem_fx[3] ), prescaleOld ) ); diff_neg = norm_l( L_shl_sat( L_min( mem_fx[2], mem_fx[3] ), prescaleOld ) ); #else diff_pos = norm_l( L_shl_o( L_max( mem_fx[2], mem_fx[3] ), prescaleOld, &Overflow ) ); diff_neg = norm_l( L_shl_o( L_min( mem_fx[2], mem_fx[3] ), prescaleOld, &Overflow ) ); #endif Copy32( mem_fx, tmp_mem, 4 ); Scale_sig32( tmp_mem, 4, prescaleOld ); diff = L_norm_arr( tmp_mem, 4 ); prescale = s_min( prescale, diff ); diff = L_min( diff_pos, diff_neg ); prescale = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); IF( NE_16( diff, 0 ) ) IF( EQ_16( prescale_current_frame, -29 ) ) // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead { prescale = s_min( prescale, diff ); prescale_current_frame = prescale; } prescale = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); diff = sub( prescale, prescaleOld ); #ifdef ISSUE_1836_replace_overflow_libcom mem_fx[0] = L_shr_sat( mem_fx[0], diff ); Loading Loading
lib_com/hp50_fx.c +8 −16 Original line number Diff line number Diff line Loading @@ -349,35 +349,27 @@ void hp20_fx_32_opt( { Word32 i; Word32 a1_fx, a2_fx, b1_fx, b2_fx; Word32 diff_pos, diff_neg; #ifndef ISSUE_1836_replace_overflow_libcom Flag Overflow = 0; #endif Word16 prescale, prescaleOld, prescale_current_frame, diff; Word32 tmp_mem[4]; prescale = L_norm_arr( signal_fx, lg ); prescale_current_frame = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); prescaleOld = extract_l( mem_fx[4] ); #ifdef ISSUE_1836_replace_overflow_libcom diff_pos = norm_l( L_shl_sat( L_max( mem_fx[2], mem_fx[3] ), prescaleOld ) ); diff_neg = norm_l( L_shl_sat( L_min( mem_fx[2], mem_fx[3] ), prescaleOld ) ); #else diff_pos = norm_l( L_shl_o( L_max( mem_fx[2], mem_fx[3] ), prescaleOld, &Overflow ) ); diff_neg = norm_l( L_shl_o( L_min( mem_fx[2], mem_fx[3] ), prescaleOld, &Overflow ) ); #endif Copy32( mem_fx, tmp_mem, 4 ); Scale_sig32( tmp_mem, 4, prescaleOld ); diff = L_norm_arr( tmp_mem, 4 ); prescale = s_min( prescale, diff ); diff = L_min( diff_pos, diff_neg ); prescale = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); IF( NE_16( diff, 0 ) ) IF( EQ_16( prescale_current_frame, -29 ) ) // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead { prescale = s_min( prescale, diff ); prescale_current_frame = prescale; } prescale = sub( add( 1, HP20_FX_COEFF_SCALE ), prescale ); diff = sub( prescale, prescaleOld ); #ifdef ISSUE_1836_replace_overflow_libcom mem_fx[0] = L_shr_sat( mem_fx[0], diff ); Loading