Loading lib_dec/hq_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1205,6 +1205,10 @@ void HQ_core_dec_init_fx( move16(); move16(); move16(); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif hHQ_core->last_hq_core_type = -1; /* Q0 */ move16(); Loading lib_dec/ivas_core_dec_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -337,6 +337,10 @@ ivas_error ivas_core_dec_fx( Copy_Scale_sig_16_32_no_sat( sts[0]->hHQ_core->old_out_LB_fx, sts[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, sts[0]->hHQ_core->Q_old_wtda_LB ) ); // Q11 L_lerp_fx_q11( sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->L_frame, sts[0]->last_L_frame ); Copy_Scale_sig_32_16( sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( sts[0]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda_LB #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT sts[0]->hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif } IF( NE_16( sts[0]->L_frame, L_FRAME16k ) ) { Loading Loading @@ -1403,6 +1407,10 @@ ivas_error ivas_core_dec_fx( { Copy_Scale_sig_16_32_no_sat( st->hHQ_core->old_out_LB_fx, st->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, st->hHQ_core->Q_old_wtda_LB ) ); // Q11 Copy_Scale_sig_16_32_no_sat( st->hHQ_core->old_out_fx, st->hHQ_core->old_out_fx32, L_FRAME48k, sub( Q11, st->hHQ_core->Q_old_wtda ) ); // Q11 #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif } IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) Loading lib_dec/ivas_cpe_dec_fx.c +4 −2 Original line number Diff line number Diff line Loading @@ -132,7 +132,9 @@ ivas_error ivas_cpe_dec_fx( IF( hCPE->hCoreCoder[ind1]->hHQ_core ) { Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB ) ); // Q11 #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_out_fx32 = Q11; #else hCPE->hCoreCoder[ind1]->hHQ_core->q_old_outLB_fx = Q11; #endif move16(); Loading @@ -157,7 +159,7 @@ ivas_error ivas_cpe_dec_fx( test(); IF( hCPE->hCoreCoder[ind1] && hCPE->hCoreCoder[ind1]->hHQ_core ) { Copy_Scale_sig_32_16( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda Copy_Scale_sig_32_16( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda_LB } } Loading lib_dec/ivas_jbm_dec_fx.c +6 −9 Original line number Diff line number Diff line Loading @@ -435,12 +435,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading Loading @@ -956,12 +955,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( q, hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ) ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, sub( q, hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ) ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading Loading @@ -1396,12 +1394,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading lib_dec/ivas_mdct_core_dec_fx.c +2 −1 Original line number Diff line number Diff line Loading @@ -1277,7 +1277,8 @@ void ivas_mdct_core_reconstruct_fx( move16(); #endif #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT_DYNAMIC_QOLD Scale_sig( st->mem_syn2_fx, M, sub( negate( q_win ), 2 ) ); Scale_sig( st->mem_syn2_fx, M, sub( -2, q_win ) ); //Scale_sig( st->mem_syn2_fx, M, sub( st->Q_syn, q_win ) ); // q_win -> Q_syn #endif } ELSE /*ACELP core for ACELP-PLC */ Loading Loading
lib_dec/hq_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1205,6 +1205,10 @@ void HQ_core_dec_init_fx( move16(); move16(); move16(); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif hHQ_core->last_hq_core_type = -1; /* Q0 */ move16(); Loading
lib_dec/ivas_core_dec_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -337,6 +337,10 @@ ivas_error ivas_core_dec_fx( Copy_Scale_sig_16_32_no_sat( sts[0]->hHQ_core->old_out_LB_fx, sts[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, sts[0]->hHQ_core->Q_old_wtda_LB ) ); // Q11 L_lerp_fx_q11( sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->L_frame, sts[0]->last_L_frame ); Copy_Scale_sig_32_16( sts[0]->hHQ_core->old_out_LB_fx32, sts[0]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( sts[0]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda_LB #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT sts[0]->hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif } IF( NE_16( sts[0]->L_frame, L_FRAME16k ) ) { Loading Loading @@ -1403,6 +1407,10 @@ ivas_error ivas_core_dec_fx( { Copy_Scale_sig_16_32_no_sat( st->hHQ_core->old_out_LB_fx, st->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, st->hHQ_core->Q_old_wtda_LB ) ); // Q11 Copy_Scale_sig_16_32_no_sat( st->hHQ_core->old_out_fx, st->hHQ_core->old_out_fx32, L_FRAME48k, sub( Q11, st->hHQ_core->Q_old_wtda ) ); // Q11 #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hHQ_core->Q_old_out_fx32 = Q11; move16(); #endif } IF( NE_16( st->element_mode, IVAS_CPE_DFT ) ) Loading
lib_dec/ivas_cpe_dec_fx.c +4 −2 Original line number Diff line number Diff line Loading @@ -132,7 +132,9 @@ ivas_error ivas_cpe_dec_fx( IF( hCPE->hCoreCoder[ind1]->hHQ_core ) { Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( Q11, hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB ) ); // Q11 #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_out_fx32 = Q11; #else hCPE->hCoreCoder[ind1]->hHQ_core->q_old_outLB_fx = Q11; #endif move16(); Loading @@ -157,7 +159,7 @@ ivas_error ivas_cpe_dec_fx( test(); IF( hCPE->hCoreCoder[ind1] && hCPE->hCoreCoder[ind1]->hHQ_core ) { Copy_Scale_sig_32_16( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda Copy_Scale_sig_32_16( hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx32, hCPE->hCoreCoder[ind1]->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( hCPE->hCoreCoder[ind1]->hHQ_core->Q_old_wtda_LB, Q11 ) ); // Q_old_wtda_LB } } Loading
lib_dec/ivas_jbm_dec_fx.c +6 −9 Original line number Diff line number Diff line Loading @@ -435,12 +435,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading Loading @@ -956,12 +955,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, sub( q, hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ) ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, sub( q, hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ) ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading Loading @@ -1396,12 +1394,11 @@ ivas_error ivas_jbm_dec_tc_fx( Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_LB_fx32, L_FRAME32k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB ); // q Copy_Scale_sig_16_32_no_sat( hCPE->hCoreCoder[0]->hHQ_core->old_out_fx, hCPE->hCoreCoder[0]->hHQ_core->old_out_fx32, L_FRAME48k, q - hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda ); // q #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hCPE->hCoreCoder[0]->hHQ_core->Q_old_wtda_LB = q; move16(); hCPE->hCoreCoder[0]->hHQ_core->Q_old_out_fx32 = q; #else hCPE->hCoreCoder[0]->hHQ_core->q_old_outLB_fx = q; move16(); #endif move16(); } IF( hCPE->hStereoDft != NULL ) { Loading
lib_dec/ivas_mdct_core_dec_fx.c +2 −1 Original line number Diff line number Diff line Loading @@ -1277,7 +1277,8 @@ void ivas_mdct_core_reconstruct_fx( move16(); #endif #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT_DYNAMIC_QOLD Scale_sig( st->mem_syn2_fx, M, sub( negate( q_win ), 2 ) ); Scale_sig( st->mem_syn2_fx, M, sub( -2, q_win ) ); //Scale_sig( st->mem_syn2_fx, M, sub( st->Q_syn, q_win ) ); // q_win -> Q_syn #endif } ELSE /*ACELP core for ACELP-PLC */ Loading