gain_code16=s_min(gain_code16,mac_r(L_mult(16384,gain_code16),shl_sat(16384>>3,st_fx->Q_exc),st_fx->lp_gainc_fx));/* st_fx->lp_gainc_fx in Q3 >>3 to bring it to Q0 as gain_code16 */
#else
gain_code16=s_min(gain_code16,mac_r(L_mult(16384,gain_code16),shl_o(16384>>3,st_fx->Q_exc,&Overflow),st_fx->lp_gainc_fx));/* st_fx->lp_gainc_fx in Q3 >>3 to bring it to Q0 as gain_code16 */
Word32gc_mem[NB_SUBFR-1];/* gain_code from previous subframes */
Word16gp_mem[NB_SUBFR-1];/* gain_pitch from previous subframes */
#ifndef ISSUE_1796_replace_shl_o
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
FlagOverflow=0;
move32();
#endif
#endif
use_fcb=0;
...
...
@@ -248,7 +250,11 @@ void dec_pit_exc_fx(
gain_pit_fx=st_fx->lp_gainp_fx;
move16();
}
#ifdef ISSUE_1796_replace_shl_o
gain_code_fx=L_mult0(s_max(sub(32767,shl_sat(gain_pit_fx,1)),16384/*0.5.Q15*/),st_fx->lp_gainc_fx);/* Use gain pitch and past gain code as an indicator to help finding the best scaling value. gain_code_fx used a temp var*/
#else
gain_code_fx=L_mult0(s_max(sub(32767,shl_o(gain_pit_fx,1,&Overflow)),16384/*0.5.Q15*/),st_fx->lp_gainc_fx);/* Use gain pitch and past gain code as an indicator to help finding the best scaling value. gain_code_fx used a temp var*/