Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,6 @@ #endif #define FIX_867_CLDFB_NRG_SCALE //#define FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE #define FIX_1378_ACELP_OUT_OF_BOUNDS Loading lib_dec/ivas_dirac_dec_fx.c +0 −2 Original line number Diff line number Diff line Loading @@ -3656,7 +3656,6 @@ void ivas_dirac_dec_render_sf_fx( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], exp ); move16(); #ifndef FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE IF( LT_16( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0], hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] ) ) { FOR( i = 0; proto_power_smooth_len > i; i = add( i, hSpatParamRendCom->num_freq_bands ) ) Loading Loading @@ -3693,7 +3692,6 @@ void ivas_dirac_dec_render_sf_fx( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1]; move16(); } #endif #else exp = getScaleFactor32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, proto_power_smooth_len ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, proto_power_smooth_len, exp ); // Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + exp) Loading lib_rend/ivas_dirac_output_synthesis_dec_fx.c +0 −48 Original line number Diff line number Diff line Loading @@ -2247,53 +2247,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( p_power_smooth = h_dirac_output_synthesis_state->proto_power_smooth_fx; set16_fx( exp_arr, 0, i_mult( num_protos_dir, num_freq_bands ) ); #ifdef FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE Word16 shift_prev0, shift_curr0, shift_prev1, shift_curr1; shift_prev0 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_prev_q[0], h_dirac_output_synthesis_state->proto_power_smooth_q[0] ) ); shift_curr0 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_q[0], h_dirac_output_synthesis_state->proto_power_smooth_prev_q[0] ) ); shift_prev1 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_prev_q[1], h_dirac_output_synthesis_state->proto_power_smooth_q[1] ) ); shift_curr1 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_q[1], h_dirac_output_synthesis_state->proto_power_smooth_prev_q[1] ) ); FOR( k = 0; k < num_protos_dir; k++ ) { FOR( l = 0; l < s_min( CLDFB_NO_CHANNELS_HALF, num_freq_bands ); l++ ) { g1 = alpha[l]; // Q31 move32(); g2 = L_sub( ONE_IN_Q31, g1 ); // Q31 *p_power_smooth_prev = L_add( EPSILON_FX, Mpy_32_32( g2, L_shr( *p_power_smooth_prev, shift_prev0 ) ) ); //(Q31, proto_power_smooth_q) -> proto_power_smooth_q move32(); *( p_power_smooth_prev ) = L_add( *( p_power_smooth_prev ), L_shr( Mpy_32_32( g1, ( *p_power_smooth ) ), shift_curr0 ) ); //(Q31, proto_power_smooth_q) -> min(proto_power_smooth_q, proto_power_smooth_prev_q) move32(); L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, *( p_power_smooth_prev++ ), &exp ); /*Q=31-(exp-(31-min(proto_power_smooth_q, proto_power_smooth_prev_q)))*/ exp_arr[k * num_freq_bands + l] = exp; move16(); *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-min(proto_power_smooth_q, proto_power_smooth_prev_q)))*/ move32(); } FOR( l = CLDFB_NO_CHANNELS_HALF; l < num_freq_bands; l++ ) { g1 = alpha[l]; // Q31 move32(); g2 = L_sub( ONE_IN_Q31, g1 ); // Q31 *p_power_smooth_prev = L_add( EPSILON_FX, Mpy_32_32( g2, L_shr( *p_power_smooth_prev, shift_prev1 ) ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth move32(); *( p_power_smooth_prev ) = L_add( *( p_power_smooth_prev ), L_shr( Mpy_32_32( g1, ( *p_power_smooth ) ), shift_curr1 ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth move32(); L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, *( p_power_smooth_prev++ ), &exp ); /*Q=31-(exp-(31-h_dirac_output_synthesis_state->proto_power_smooth_prev_q))*/ exp_arr[k * num_freq_bands + l] = exp; move16(); *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-h_dirac_output_synthesis_state->proto_power_smooth_prev_q))*/ move32(); } } #else FOR( k = 0; k < num_protos_dir; k++ ) { FOR( l = 0; l < num_freq_bands; l++ ) Loading Loading @@ -2333,7 +2286,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( } } } #endif // Move proto_power_smooth_fx to common Q-factor Loading Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,6 @@ #endif #define FIX_867_CLDFB_NRG_SCALE //#define FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE #define FIX_1378_ACELP_OUT_OF_BOUNDS Loading
lib_dec/ivas_dirac_dec_fx.c +0 −2 Original line number Diff line number Diff line Loading @@ -3656,7 +3656,6 @@ void ivas_dirac_dec_render_sf_fx( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = add( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1], exp ); move16(); #ifndef FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE IF( LT_16( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[0], hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[0] ) ) { FOR( i = 0; proto_power_smooth_len > i; i = add( i, hSpatParamRendCom->num_freq_bands ) ) Loading Loading @@ -3693,7 +3692,6 @@ void ivas_dirac_dec_render_sf_fx( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q[1] = hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_prev_q[1]; move16(); } #endif #else exp = getScaleFactor32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, proto_power_smooth_len ); scale_sig32( hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_fx, proto_power_smooth_len, exp ); // Q(hDirACRend->h_output_synthesis_psd_state.proto_power_smooth_q + exp) Loading
lib_rend/ivas_dirac_output_synthesis_dec_fx.c +0 −48 Original line number Diff line number Diff line Loading @@ -2247,53 +2247,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( p_power_smooth = h_dirac_output_synthesis_state->proto_power_smooth_fx; set16_fx( exp_arr, 0, i_mult( num_protos_dir, num_freq_bands ) ); #ifdef FIX_867_CLDFB_NRG_SCALE_PROTO_NORESCALE Word16 shift_prev0, shift_curr0, shift_prev1, shift_curr1; shift_prev0 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_prev_q[0], h_dirac_output_synthesis_state->proto_power_smooth_q[0] ) ); shift_curr0 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_q[0], h_dirac_output_synthesis_state->proto_power_smooth_prev_q[0] ) ); shift_prev1 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_prev_q[1], h_dirac_output_synthesis_state->proto_power_smooth_q[1] ) ); shift_curr1 = s_max( 0, sub( h_dirac_output_synthesis_state->proto_power_smooth_q[1], h_dirac_output_synthesis_state->proto_power_smooth_prev_q[1] ) ); FOR( k = 0; k < num_protos_dir; k++ ) { FOR( l = 0; l < s_min( CLDFB_NO_CHANNELS_HALF, num_freq_bands ); l++ ) { g1 = alpha[l]; // Q31 move32(); g2 = L_sub( ONE_IN_Q31, g1 ); // Q31 *p_power_smooth_prev = L_add( EPSILON_FX, Mpy_32_32( g2, L_shr( *p_power_smooth_prev, shift_prev0 ) ) ); //(Q31, proto_power_smooth_q) -> proto_power_smooth_q move32(); *( p_power_smooth_prev ) = L_add( *( p_power_smooth_prev ), L_shr( Mpy_32_32( g1, ( *p_power_smooth ) ), shift_curr0 ) ); //(Q31, proto_power_smooth_q) -> min(proto_power_smooth_q, proto_power_smooth_prev_q) move32(); L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, *( p_power_smooth_prev++ ), &exp ); /*Q=31-(exp-(31-min(proto_power_smooth_q, proto_power_smooth_prev_q)))*/ exp_arr[k * num_freq_bands + l] = exp; move16(); *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-min(proto_power_smooth_q, proto_power_smooth_prev_q)))*/ move32(); } FOR( l = CLDFB_NO_CHANNELS_HALF; l < num_freq_bands; l++ ) { g1 = alpha[l]; // Q31 move32(); g2 = L_sub( ONE_IN_Q31, g1 ); // Q31 *p_power_smooth_prev = L_add( EPSILON_FX, Mpy_32_32( g2, L_shr( *p_power_smooth_prev, shift_prev1 ) ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth move32(); *( p_power_smooth_prev ) = L_add( *( p_power_smooth_prev ), L_shr( Mpy_32_32( g1, ( *p_power_smooth ) ), shift_curr1 ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth move32(); L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, *( p_power_smooth_prev++ ), &exp ); /*Q=31-(exp-(31-h_dirac_output_synthesis_state->proto_power_smooth_prev_q))*/ exp_arr[k * num_freq_bands + l] = exp; move16(); *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-h_dirac_output_synthesis_state->proto_power_smooth_prev_q))*/ move32(); } } #else FOR( k = 0; k < num_protos_dir; k++ ) { FOR( l = 0; l < num_freq_bands; l++ ) Loading Loading @@ -2333,7 +2286,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( } } } #endif // Move proto_power_smooth_fx to common Q-factor Loading