Loading lib_com/ivas_dirac_com.c +12 −9 Original line number Diff line number Diff line Loading @@ -1480,14 +1480,16 @@ void calculate_hodirac_sector_parameters_fx( tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_y_fx, *p_sec_I_vec_smth_x_fx, sub( *p_sec_I_vec_smth_y_exp, *p_sec_I_vec_smth_x_exp ) ); // Q13 *p_azi_fx = Mpy_32_32( L_deposit_h( tmp16 ), _180_OVER_PI_Q25 ); // (Q13 + 16) + Q25 - 31 = 54 - 31 = Q23 tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_z_fx, tmp_xy_hypo, sub( *p_sec_I_vec_smth_z_exp, tmp_e ) ); // Q13 move32(); tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_z_fx, L_add( tmp_xy_hypo, EPSILON_FX_SMALL ), sub( *p_sec_I_vec_smth_z_exp, tmp_e ) ); // Q13 *p_ele_fx = Mpy_32_32( L_deposit_h( tmp16 ), _180_OVER_PI_Q25 ); // (Q13 + 16) + Q25 - 31 = 54 - 31 = Q23 move32(); *p_ene_fx = *p_energy_smth_fx; move32(); *p_ene_exp = *p_energy_smth_exp; move16(); tmp32 = L_deposit_h( BASOP_Util_Divide3232_Scale( normI_fx, *p_energy_smth_fx, &tmp_e ) ); tmp32 = L_deposit_h( BASOP_Util_Divide3232_Scale( normI_fx, L_add( *p_energy_smth_fx, EPSILON_FX_SMALL ), &tmp_e ) ); tmp_e = add( tmp_e, sub( normI_exp, *p_energy_smth_exp ) ); tmp32 = BASOP_Util_Add_Mant32Exp( ONE_IN_Q30, 1, L_negate( tmp32 ), tmp_e, &tmp_e ); *p_diff_fx = tmp32; Loading @@ -1500,16 +1502,17 @@ void calculate_hodirac_sector_parameters_fx( move32(); tmp_diff_exp = *p_diff_exp; move16(); if ( tmp_diff_fx < 0 ) { tmp_diff_fx = 0; move32(); } tmp_diff_fx = L_shr( tmp_diff_fx, sub( 2, tmp_diff_exp ) ); // Q29 tmp_diff_exp = 2; move16(); IF( tmp_diff_fx < 0 ) { *p_diff_fx = 0; move32(); } IF( GT_32( tmp_diff_fx, ( ONE_IN_Q29 / 2 ) ) ) IF( GT_32( tmp_diff_fx, ONE_IN_Q28 ) ) { IF( hDirAC->firstrun_sector_params ) { Loading Loading
lib_com/ivas_dirac_com.c +12 −9 Original line number Diff line number Diff line Loading @@ -1480,14 +1480,16 @@ void calculate_hodirac_sector_parameters_fx( tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_y_fx, *p_sec_I_vec_smth_x_fx, sub( *p_sec_I_vec_smth_y_exp, *p_sec_I_vec_smth_x_exp ) ); // Q13 *p_azi_fx = Mpy_32_32( L_deposit_h( tmp16 ), _180_OVER_PI_Q25 ); // (Q13 + 16) + Q25 - 31 = 54 - 31 = Q23 tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_z_fx, tmp_xy_hypo, sub( *p_sec_I_vec_smth_z_exp, tmp_e ) ); // Q13 move32(); tmp16 = BASOP_util_atan2( *p_sec_I_vec_smth_z_fx, L_add( tmp_xy_hypo, EPSILON_FX_SMALL ), sub( *p_sec_I_vec_smth_z_exp, tmp_e ) ); // Q13 *p_ele_fx = Mpy_32_32( L_deposit_h( tmp16 ), _180_OVER_PI_Q25 ); // (Q13 + 16) + Q25 - 31 = 54 - 31 = Q23 move32(); *p_ene_fx = *p_energy_smth_fx; move32(); *p_ene_exp = *p_energy_smth_exp; move16(); tmp32 = L_deposit_h( BASOP_Util_Divide3232_Scale( normI_fx, *p_energy_smth_fx, &tmp_e ) ); tmp32 = L_deposit_h( BASOP_Util_Divide3232_Scale( normI_fx, L_add( *p_energy_smth_fx, EPSILON_FX_SMALL ), &tmp_e ) ); tmp_e = add( tmp_e, sub( normI_exp, *p_energy_smth_exp ) ); tmp32 = BASOP_Util_Add_Mant32Exp( ONE_IN_Q30, 1, L_negate( tmp32 ), tmp_e, &tmp_e ); *p_diff_fx = tmp32; Loading @@ -1500,16 +1502,17 @@ void calculate_hodirac_sector_parameters_fx( move32(); tmp_diff_exp = *p_diff_exp; move16(); if ( tmp_diff_fx < 0 ) { tmp_diff_fx = 0; move32(); } tmp_diff_fx = L_shr( tmp_diff_fx, sub( 2, tmp_diff_exp ) ); // Q29 tmp_diff_exp = 2; move16(); IF( tmp_diff_fx < 0 ) { *p_diff_fx = 0; move32(); } IF( GT_32( tmp_diff_fx, ( ONE_IN_Q29 / 2 ) ) ) IF( GT_32( tmp_diff_fx, ONE_IN_Q28 ) ) { IF( hDirAC->firstrun_sector_params ) { Loading