Loading lib_com/gs_bitallocation_ivas_fx.c +1 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ void bands_and_bit_alloc_ivas_fx( Word32 sum_bit /*Q0*/, bit_fracf /*Q18*/; Word16 etmp; Word16 tmp; Word16 Ener_per_bd_iQ_tmp[MBANDS_GN_BITALLOC16k]; // Q13 Word16 pos, band; Word32 SWB_bit_budget; // Q0 -> Q18 Word32 bits_per_bands[MBANDS_GN_BITALLOC16k]; // Q18 Loading @@ -126,7 +125,6 @@ void bands_and_bit_alloc_ivas_fx( nb_tot_bands = MBANDS_GN_BITALLOC16k; move16(); } Copy( Ener_per_bd_iQ, Ener_per_bd_iQ_tmp, nb_tot_bands ); set32_fx( bits_per_bands, 0, MBANDS_GN_BITALLOC16k ); set16_fx( out_bits_per_bands, 0, MBANDS_GN_BITALLOC16k ); Loading @@ -138,7 +136,7 @@ void bands_and_bit_alloc_ivas_fx( ener_vec[0] = add( Ener_per_bd_iQ[0], Ener_per_bd_iQ[1] ); /*Q12 */ #endif move16(); Copy( Ener_per_bd_iQ_tmp + 1, ener_vec, MBANDS_GN - 1 ); /*Q12 */ Copy( Ener_per_bd_iQ + 1, ener_vec, MBANDS_GN - 1 ); /*Q12 */ ener_vec[MBANDS_GN - 1] = ener_vec[MBANDS_GN - 2]; move16(); IF( EQ_16( L_frame, L_FRAME16k ) ) Loading lib_enc/acelp_core_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -481,7 +481,7 @@ ivas_error acelp_core_enc( Copy( hLPDmem->mem_syn3, hLPDmem->mem_syn, M ); /* update old synthesis buffer - needed for ACELP internal sampling rate switching */ Copy( syn1_fx + add( st->L_frame, L_SYN_MEM ), hLPDmem->mem_syn_r, L_SYN_MEM ); Copy( syn1_fx + sub( st->L_frame, L_SYN_MEM ), hLPDmem->mem_syn_r, L_SYN_MEM ); /* save and delay synthesis to be used by SWB BWE */ IF( st->hBWE_FD != NULL ) Loading lib_enc/ivas_core_enc.c +5 −3 Original line number Diff line number Diff line Loading @@ -327,7 +327,6 @@ ivas_error ivas_core_enc( Word16 old_inp_16k_fx[L_INP]; Word16 old_inp_12k8_fx[L_INP_12k8]; Word16 Q_old_syn_12k8_16k; Word16 inp_buff[CPE_CHANNELS][L_FRAME16k + M + 1]; q_old_inp_12k8_fx = Q_factor_arr( old_inp_12k8[n], L_INP_12k8 ); q_old_inp_16k_fx = Q_factor_arr( old_inp_16k[n], L_INP ); Loading @@ -335,8 +334,6 @@ ivas_error ivas_core_enc( floatToFixed_arr16( old_inp_12k8[n], old_inp_12k8_fx, q_old_inp_12k8_fx, L_INP_12k8 ); floatToFixed_arr16( old_inp_16k[n], old_inp_16k_fx, q_old_inp_16k_fx, L_INP ); inp_fx[n] = &inp_buff[n][M + 1]; floatToFixed_arr( &inp[n][-M - 1], &inp_fx[n][-M - 1], Q_new[n] - 1, L_FRAME16k + M + 1 ); #endif core_switching_pre_enc_ivas_fx( st, old_inp_12k8_fx, q_old_inp_12k8_fx, old_inp_16k_fx, q_old_inp_16k_fx, sts[0]->active_cnt, last_element_mode ); Loading @@ -349,6 +346,11 @@ ivas_error ivas_core_enc( IF( st->core == ACELP_CORE ) { #ifdef IVAS_FLOAT_FIXED_CONVERSIONS Word16 inp_buff[CPE_CHANNELS][L_FRAME16k + M + 1]; inp_fx[n] = &inp_buff[n][M]; floatToFixed_arr( &inp[n][-M], &inp_fx[n][-M], Q_new[n] - 1, L_FRAME16k + M ); #endif /* ACELP core encoder */ IF( ( error = acelp_core_enc( st, inp_fx[n], /*ener[n],*/ A_fx[n], Aw_fx[n], epsP_fx[n], lsp_new_fx[n], lsp_mid_fx[n], vad_hover_flag[0], attack_flag[n], bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx[n], &Q_old_syn_12k8_16k, pitch_buf_fx[n], &unbits[n], hStereoTD, tdm_lsfQ_PCh_fx, Q_new[n] ) ) != IVAS_ERR_OK ) { Loading lib_enc/ivas_core_pre_proc_front.c +3 −3 Original line number Diff line number Diff line Loading @@ -1628,10 +1628,10 @@ ivas_error pre_proc_front_ivas_fx( Q_new = sub( Q_new, gb ); } #endif Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 - 1 ), st->q_Bin_E_old ) ); st->q_Bin_E_old = add( Q_new, Q_SCALE - 2 - 1 ); Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E_old ) ); st->q_Bin_E_old = add( Q_new, Q_SCALE - 2 ); move16(); Scale_sig32( st->Bin_E_fx, L_FFT, sub( add( Q_new, Q_SCALE - 2 - 1 ), st->q_Bin_E ) ); Scale_sig32( st->Bin_E_fx, L_FFT, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E ) ); st->q_Bin_E = add( Q_new, Q_SCALE - 2 ); move16(); Word32 Le_min_scaled = L_shr_r( L_add( L_shr( E_MIN_FXQ15, sub( 14, add( Q_new, QSCALE ) ) ), 1 ), 1 ); Loading lib_enc/ivas_omasa_enc.c +2 −0 Original line number Diff line number Diff line Loading @@ -400,6 +400,8 @@ void ivas_omasa_enc_close_fx( } free( ( *hOMasa )->direction_vector_m_fx[i] ); ( *hOMasa )->direction_vector_m_fx[i] = NULL; free( ( *hOMasa )->direction_vector_e[i] ); ( *hOMasa )->direction_vector_e[i] = NULL; } free( *hOMasa ); Loading Loading
lib_com/gs_bitallocation_ivas_fx.c +1 −3 Original line number Diff line number Diff line Loading @@ -106,7 +106,6 @@ void bands_and_bit_alloc_ivas_fx( Word32 sum_bit /*Q0*/, bit_fracf /*Q18*/; Word16 etmp; Word16 tmp; Word16 Ener_per_bd_iQ_tmp[MBANDS_GN_BITALLOC16k]; // Q13 Word16 pos, band; Word32 SWB_bit_budget; // Q0 -> Q18 Word32 bits_per_bands[MBANDS_GN_BITALLOC16k]; // Q18 Loading @@ -126,7 +125,6 @@ void bands_and_bit_alloc_ivas_fx( nb_tot_bands = MBANDS_GN_BITALLOC16k; move16(); } Copy( Ener_per_bd_iQ, Ener_per_bd_iQ_tmp, nb_tot_bands ); set32_fx( bits_per_bands, 0, MBANDS_GN_BITALLOC16k ); set16_fx( out_bits_per_bands, 0, MBANDS_GN_BITALLOC16k ); Loading @@ -138,7 +136,7 @@ void bands_and_bit_alloc_ivas_fx( ener_vec[0] = add( Ener_per_bd_iQ[0], Ener_per_bd_iQ[1] ); /*Q12 */ #endif move16(); Copy( Ener_per_bd_iQ_tmp + 1, ener_vec, MBANDS_GN - 1 ); /*Q12 */ Copy( Ener_per_bd_iQ + 1, ener_vec, MBANDS_GN - 1 ); /*Q12 */ ener_vec[MBANDS_GN - 1] = ener_vec[MBANDS_GN - 2]; move16(); IF( EQ_16( L_frame, L_FRAME16k ) ) Loading
lib_enc/acelp_core_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -481,7 +481,7 @@ ivas_error acelp_core_enc( Copy( hLPDmem->mem_syn3, hLPDmem->mem_syn, M ); /* update old synthesis buffer - needed for ACELP internal sampling rate switching */ Copy( syn1_fx + add( st->L_frame, L_SYN_MEM ), hLPDmem->mem_syn_r, L_SYN_MEM ); Copy( syn1_fx + sub( st->L_frame, L_SYN_MEM ), hLPDmem->mem_syn_r, L_SYN_MEM ); /* save and delay synthesis to be used by SWB BWE */ IF( st->hBWE_FD != NULL ) Loading
lib_enc/ivas_core_enc.c +5 −3 Original line number Diff line number Diff line Loading @@ -327,7 +327,6 @@ ivas_error ivas_core_enc( Word16 old_inp_16k_fx[L_INP]; Word16 old_inp_12k8_fx[L_INP_12k8]; Word16 Q_old_syn_12k8_16k; Word16 inp_buff[CPE_CHANNELS][L_FRAME16k + M + 1]; q_old_inp_12k8_fx = Q_factor_arr( old_inp_12k8[n], L_INP_12k8 ); q_old_inp_16k_fx = Q_factor_arr( old_inp_16k[n], L_INP ); Loading @@ -335,8 +334,6 @@ ivas_error ivas_core_enc( floatToFixed_arr16( old_inp_12k8[n], old_inp_12k8_fx, q_old_inp_12k8_fx, L_INP_12k8 ); floatToFixed_arr16( old_inp_16k[n], old_inp_16k_fx, q_old_inp_16k_fx, L_INP ); inp_fx[n] = &inp_buff[n][M + 1]; floatToFixed_arr( &inp[n][-M - 1], &inp_fx[n][-M - 1], Q_new[n] - 1, L_FRAME16k + M + 1 ); #endif core_switching_pre_enc_ivas_fx( st, old_inp_12k8_fx, q_old_inp_12k8_fx, old_inp_16k_fx, q_old_inp_16k_fx, sts[0]->active_cnt, last_element_mode ); Loading @@ -349,6 +346,11 @@ ivas_error ivas_core_enc( IF( st->core == ACELP_CORE ) { #ifdef IVAS_FLOAT_FIXED_CONVERSIONS Word16 inp_buff[CPE_CHANNELS][L_FRAME16k + M + 1]; inp_fx[n] = &inp_buff[n][M]; floatToFixed_arr( &inp[n][-M], &inp_fx[n][-M], Q_new[n] - 1, L_FRAME16k + M ); #endif /* ACELP core encoder */ IF( ( error = acelp_core_enc( st, inp_fx[n], /*ener[n],*/ A_fx[n], Aw_fx[n], epsP_fx[n], lsp_new_fx[n], lsp_mid_fx[n], vad_hover_flag[0], attack_flag[n], bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx[n], &Q_old_syn_12k8_16k, pitch_buf_fx[n], &unbits[n], hStereoTD, tdm_lsfQ_PCh_fx, Q_new[n] ) ) != IVAS_ERR_OK ) { Loading
lib_enc/ivas_core_pre_proc_front.c +3 −3 Original line number Diff line number Diff line Loading @@ -1628,10 +1628,10 @@ ivas_error pre_proc_front_ivas_fx( Q_new = sub( Q_new, gb ); } #endif Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 - 1 ), st->q_Bin_E_old ) ); st->q_Bin_E_old = add( Q_new, Q_SCALE - 2 - 1 ); Scale_sig32( st->Bin_E_old_fx, L_FFT / 2, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E_old ) ); st->q_Bin_E_old = add( Q_new, Q_SCALE - 2 ); move16(); Scale_sig32( st->Bin_E_fx, L_FFT, sub( add( Q_new, Q_SCALE - 2 - 1 ), st->q_Bin_E ) ); Scale_sig32( st->Bin_E_fx, L_FFT, sub( add( Q_new, Q_SCALE - 2 ), st->q_Bin_E ) ); st->q_Bin_E = add( Q_new, Q_SCALE - 2 ); move16(); Word32 Le_min_scaled = L_shr_r( L_add( L_shr( E_MIN_FXQ15, sub( 14, add( Q_new, QSCALE ) ) ), 1 ), 1 ); Loading
lib_enc/ivas_omasa_enc.c +2 −0 Original line number Diff line number Diff line Loading @@ -400,6 +400,8 @@ void ivas_omasa_enc_close_fx( } free( ( *hOMasa )->direction_vector_m_fx[i] ); ( *hOMasa )->direction_vector_m_fx[i] = NULL; free( ( *hOMasa )->direction_vector_e[i] ); ( *hOMasa )->direction_vector_e[i] = NULL; } free( *hOMasa ); Loading