Loading lib_enc/gs_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -679,7 +679,11 @@ void encod_audio_ivas_fx( *--------------------------------------------------------------------------------------*/ edct_16fx( dct_epit, exc, st_fx->L_frame, 7, st_fx->element_mode ); scale_sig( exc, st_fx->L_frame, sub( Q_new, Q_exc ) ); edct_16fx( exc_wo_nf, exc_wo_nf, st_fx->L_frame, 7, st_fx->element_mode ); scale_sig( exc_wo_nf, st_fx->L_frame, sub( Q_new, Q_exc ) ); Q_exc = Q_new; move16(); /*--------------------------------------------------------------------------------------* * Remove potential pre-echo in case an onset has been detected *--------------------------------------------------------------------------------------*/ Loading lib_enc/ivas_core_pre_proc_front.c +1 −1 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ ivas_error pre_proc_front_ivas_fx( move16(); set32_fx( sig_out, 0, 960 ); headroom = 1; headroom = 2; move16(); test(); Loading lib_enc/lsf_enc_fx.c +8 −8 Original line number Diff line number Diff line Loading @@ -2133,7 +2133,7 @@ static void first_VQstages( L_tmp1 = Mult_32_16( L_tmp1, u[j] ); /*x2.56 + Q15 + x2.56 -Q15 */ L_tmp = L_add( L_tmp, L_tmp1 ); /*Q0 + x2.56 +x2.56 */ } set32_fx( dist[1], L_tmp, maxC ); set32_fx( dist[1], L_shr( L_tmp, 1 ), maxC ); /*Q-1 + x2.56 +x2.56 */ /* Set up initial error (residual) vectors */ pTmp = resid[1]; Loading Loading @@ -2192,15 +2192,15 @@ static void first_VQstages( /* compute weighted codebook element and its energy */ FOR( c2 = 0; c2 < N; c2++ ) { Tmp[c2] = shl( mult( w[c2], cbp[c2] ), 2 ); /* Q8 + x2.56 -Q15 +Q2 */ Tmp[c2] = extract_h( L_shl( L_mult0( w[c2], cbp[c2] ), 6 ) ); /* Q8 + x2.56 + q6 -q16 */ move16(); } en = L_mult( cbp[0], Tmp[0] ); en = L_mult( cbp[0], Tmp[0] ); /*x2.56 + x2.56 + Q-2 +Q1 */ FOR( c2 = 1; c2 < N; c2++ ) { en = L_mac( en, cbp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-5 +Q1 */ en = L_mac( en, cbp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-2 +Q1 */ } cbp += N; move16(); Loading @@ -2208,15 +2208,15 @@ static void first_VQstages( /* iterate over all parent nodes */ FOR( c = 0; c < m; c++ ) { pTmp = &resid[0][c * N]; pTmp = &resid[0][c * N]; /*x2.56*/ move16(); L_tmp = L_mult( pTmp[0], Tmp[0] ); L_tmp = L_mult( pTmp[0], Tmp[0] ); /*x2.56 + x2.56 + Q-2 +Q1 */ FOR( c2 = 1; c2 < N; c2++ ) { L_tmp = L_mac( L_tmp, pTmp[c2], Tmp[c2] ); /* */ L_tmp = L_mac( L_tmp, pTmp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-2 +Q1 */ } L_tmp = L_add( dist[0][c], L_sub( en, L_shl( L_tmp, 1 ) ) ); L_tmp = L_add( dist[0][c], L_sub( en, L_shl( L_tmp, 1 ) ) ); /*x2.56 + x2.56 -1*/ IF( LE_32( L_tmp, dist[1][p_max] ) ) { Loading Loading
lib_enc/gs_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -679,7 +679,11 @@ void encod_audio_ivas_fx( *--------------------------------------------------------------------------------------*/ edct_16fx( dct_epit, exc, st_fx->L_frame, 7, st_fx->element_mode ); scale_sig( exc, st_fx->L_frame, sub( Q_new, Q_exc ) ); edct_16fx( exc_wo_nf, exc_wo_nf, st_fx->L_frame, 7, st_fx->element_mode ); scale_sig( exc_wo_nf, st_fx->L_frame, sub( Q_new, Q_exc ) ); Q_exc = Q_new; move16(); /*--------------------------------------------------------------------------------------* * Remove potential pre-echo in case an onset has been detected *--------------------------------------------------------------------------------------*/ Loading
lib_enc/ivas_core_pre_proc_front.c +1 −1 Original line number Diff line number Diff line Loading @@ -627,7 +627,7 @@ ivas_error pre_proc_front_ivas_fx( move16(); set32_fx( sig_out, 0, 960 ); headroom = 1; headroom = 2; move16(); test(); Loading
lib_enc/lsf_enc_fx.c +8 −8 Original line number Diff line number Diff line Loading @@ -2133,7 +2133,7 @@ static void first_VQstages( L_tmp1 = Mult_32_16( L_tmp1, u[j] ); /*x2.56 + Q15 + x2.56 -Q15 */ L_tmp = L_add( L_tmp, L_tmp1 ); /*Q0 + x2.56 +x2.56 */ } set32_fx( dist[1], L_tmp, maxC ); set32_fx( dist[1], L_shr( L_tmp, 1 ), maxC ); /*Q-1 + x2.56 +x2.56 */ /* Set up initial error (residual) vectors */ pTmp = resid[1]; Loading Loading @@ -2192,15 +2192,15 @@ static void first_VQstages( /* compute weighted codebook element and its energy */ FOR( c2 = 0; c2 < N; c2++ ) { Tmp[c2] = shl( mult( w[c2], cbp[c2] ), 2 ); /* Q8 + x2.56 -Q15 +Q2 */ Tmp[c2] = extract_h( L_shl( L_mult0( w[c2], cbp[c2] ), 6 ) ); /* Q8 + x2.56 + q6 -q16 */ move16(); } en = L_mult( cbp[0], Tmp[0] ); en = L_mult( cbp[0], Tmp[0] ); /*x2.56 + x2.56 + Q-2 +Q1 */ FOR( c2 = 1; c2 < N; c2++ ) { en = L_mac( en, cbp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-5 +Q1 */ en = L_mac( en, cbp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-2 +Q1 */ } cbp += N; move16(); Loading @@ -2208,15 +2208,15 @@ static void first_VQstages( /* iterate over all parent nodes */ FOR( c = 0; c < m; c++ ) { pTmp = &resid[0][c * N]; pTmp = &resid[0][c * N]; /*x2.56*/ move16(); L_tmp = L_mult( pTmp[0], Tmp[0] ); L_tmp = L_mult( pTmp[0], Tmp[0] ); /*x2.56 + x2.56 + Q-2 +Q1 */ FOR( c2 = 1; c2 < N; c2++ ) { L_tmp = L_mac( L_tmp, pTmp[c2], Tmp[c2] ); /* */ L_tmp = L_mac( L_tmp, pTmp[c2], Tmp[c2] ); /*x2.56 + x2.56 + Q-2 +Q1 */ } L_tmp = L_add( dist[0][c], L_sub( en, L_shl( L_tmp, 1 ) ) ); L_tmp = L_add( dist[0][c], L_sub( en, L_shl( L_tmp, 1 ) ) ); /*x2.56 + x2.56 -1*/ IF( LE_32( L_tmp, dist[1][p_max] ) ) { Loading