Loading lib_dec/fd_cng_dec_fx.c +15 −19 Original line number Diff line number Diff line Loading @@ -1318,14 +1318,11 @@ Word16 ApplyFdCng_ivas_fx( e_shift = sub( s, q_norm ); } } FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { cngNoiseLevel[j] = L_shl( cngNoiseLevel[j], sub( s, e_shift ) ); /*Q: s*/ move32(); } } *cngNoiseLevel_exp = add( add( hFdCngDec->bandNoiseShape_exp, s2 ), e_shift ); move16(); Loading Loading @@ -1685,14 +1682,13 @@ Word16 ApplyFdCng_ivas_fx( } /* adapt scaling for rest of the buffer */ s = sub( *cngNoiseLevel_exp, add( hFdCngDec->bandNoiseShape_exp, s2 ) ); FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { cngNoiseLevel[j] = L_shl( cngNoiseLevel[j], s ); /*Q31 - hFdCngDec->bandNoiseShape_exp + s*/ move32(); } } *cngNoiseLevel_exp = add( hFdCngDec->bandNoiseShape_exp, s2 ); move16(); } Loading Loading @@ -1759,15 +1755,15 @@ Word16 ApplyFdCng_ivas_fx( } /* adapt scaling for rest of the buffer */ s = sub( *cngNoiseLevel_exp, add( hFdCngDec->bandNoiseShape_exp, s2 ) ); FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { /* NOTE: saturation is added here as part of issue 1218 fix. after rescaling the fdcng noise estimation buffers, due to slight precision loss, values may slightly overflow */ cngNoiseLevel[j] = L_shl_sat( cngNoiseLevel[j], s ); /*Q31 - hFdCngDec->bandNoiseShape_exp + s*/ move32(); } } *cngNoiseLevel_exp = add( hFdCngDec->bandNoiseShape_exp, s2 ); move16(); } Loading Loading
lib_dec/fd_cng_dec_fx.c +15 −19 Original line number Diff line number Diff line Loading @@ -1318,14 +1318,11 @@ Word16 ApplyFdCng_ivas_fx( e_shift = sub( s, q_norm ); } } FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { cngNoiseLevel[j] = L_shl( cngNoiseLevel[j], sub( s, e_shift ) ); /*Q: s*/ move32(); } } *cngNoiseLevel_exp = add( add( hFdCngDec->bandNoiseShape_exp, s2 ), e_shift ); move16(); Loading Loading @@ -1685,14 +1682,13 @@ Word16 ApplyFdCng_ivas_fx( } /* adapt scaling for rest of the buffer */ s = sub( *cngNoiseLevel_exp, add( hFdCngDec->bandNoiseShape_exp, s2 ) ); FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { cngNoiseLevel[j] = L_shl( cngNoiseLevel[j], s ); /*Q31 - hFdCngDec->bandNoiseShape_exp + s*/ move32(); } } *cngNoiseLevel_exp = add( hFdCngDec->bandNoiseShape_exp, s2 ); move16(); } Loading Loading @@ -1759,15 +1755,15 @@ Word16 ApplyFdCng_ivas_fx( } /* adapt scaling for rest of the buffer */ s = sub( *cngNoiseLevel_exp, add( hFdCngDec->bandNoiseShape_exp, s2 ) ); FOR( ; k < hFdCngCom->npart; k++ ) { FOR( ; j <= hFdCngCom->part[k]; j++ ) FOR( ; j < FFTCLDFBLEN; j++ ) { /* NOTE: saturation is added here as part of issue 1218 fix. after rescaling the fdcng noise estimation buffers, due to slight precision loss, values may slightly overflow */ cngNoiseLevel[j] = L_shl_sat( cngNoiseLevel[j], s ); /*Q31 - hFdCngDec->bandNoiseShape_exp + s*/ move32(); } } *cngNoiseLevel_exp = add( hFdCngDec->bandNoiseShape_exp, s2 ); move16(); } Loading