Commit e5cc13da authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

fix encapsulation

parent 4a1bf2cf
Loading
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -121,7 +121,6 @@
#define FIX_ISSUE_1167                          /* Ittiam: Fix for Issue 1167: Encoder crash for OSBA ISM3SBA1 at 13.2 and 16.4 kbps in gauss_L2_ivas_fx() */
#define FIX_1009_REPLACE_DIV_SQRT_BY_ISQRT_LC   /* FhG: Reduce workload of binaural rendering: replace 1./tmp & sqrt by Isqrt32 */
#define FIX_1113_OPT_DIRAC_BIN_REND             /* FhG: Various optimizations to ivas_dirac_dec_binaual_functions.c */
<<<<<<< HEAD
#define FIX_ISSUE_1187                          /* Ittiam: Fix for issue 1187: Assertion error observed in evs_enc_fx (with option stereo_dmx_evs) from bass_pf_enc_fx function*/
#define FIX_ISSUE_1186                          /* Ittiam: Fix for Issue 1186: Energy/scaling issue for ISM-1 at all bitrates */
#define FIX_ISSUE_1165                          /* Ittiam: Fix for issue 1165: Assertion in lpc2lsp_fx for OMASA LTV input */
@@ -150,6 +149,6 @@
#define FIX_ISSUE_1237                          /* VA: replacement of Copy_Scale_sig_16_32_DEPREC() that are doing 16 bits left shift by Copy_Scale_sig_16_32_no_sat() */
#define FIX_ISSUE_1237_KEEP_EVS_BE              /* VA: Fix to keep EVS bitexactness to 26.444 */

#define FIX_867_2
//#define FIX_867_2

#endif
+41 −42
Original line number Diff line number Diff line
@@ -2122,27 +2122,11 @@ 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 ) );

	FOR(k = 0; k < 1; k++)
	{
		FOR(l = 0; l < num_freq_bands; l++)
		{
			static FILE *f = 0;
			if (f == 0)
				f = fopen("p_power_smooth0", "w");

			Word32 m = h_dirac_output_synthesis_state->proto_power_smooth_fx[k*num_protos_dir + l];
			Word16 e = h_dirac_output_synthesis_state->proto_power_smooth_q;
			float f1_m = (float)m;
			float f1_e = powf(2, e);
			float f1 = f1_m / f1_e;
			fprintf(f, "%d %d %d %f\n", l, m, e, f1);
		}
	}

    FOR( k = 0; k < num_protos_dir; k++ )
    {
        FOR( l = 0; l < num_freq_bands; l++ )
        {
#ifdef FIX_867
            Word16 exp_tmp_1; // exp for p_power_smooth_prev

            g2 = L_sub( ONE_IN_Q31, alpha[l] ); // Q31
@@ -2163,24 +2147,35 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx(

            *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-exp_tmp_1))*/
            move32();
        }
    }
#else
            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, ( *p_power_smooth_prev ) ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth
            move32();
            *( p_power_smooth_prev ) = L_add( *( p_power_smooth_prev ), Mpy_32_32( g1, ( *p_power_smooth ) ) ); //(Q31, q_proto_power_smooth) -> q_proto_power_smooth
            move32();

	FOR(k = 0; k < 1; k++)
            IF( EQ_32( *( p_power_smooth_prev ), EPSILON_FX ) )
            {
		FOR(l = 0; l < num_freq_bands; l++)
                p_power_smooth_prev++;
                L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, EPSILON_FX, &exp ); /*Q=31-(exp-(31-q_proto_power_smooth))*/
                exp_arr[k * num_freq_bands + l] = exp;
                move16();

                *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-q_proto_power_smooth))*/
                move32();
            }
            ELSE
            {
			static FILE *f = 0;
			if (f == 0)
				f = fopen("p_power_smooth1", "w");
                L_tmp = BASOP_Util_Divide3232_Scale_cadence( ONE_IN_Q31, *( p_power_smooth_prev++ ), &exp ); /*Q=31-(exp-(31-q_proto_power_smooth))*/
                exp_arr[k * num_freq_bands + l] = exp;
                move16();

			Word32 m = h_dirac_output_synthesis_state->proto_power_smooth_fx[k*num_protos_dir + l];
			q_tmp = sub(31, exp_arr[k * num_freq_bands + l]);
			Word16 e = q_tmp;
			float f1_m = (float)m;
			float f1_e = powf(2, e);
			float f1 = f1_m / f1_e;
			fprintf(f, "%d %d %d %f\n", l, m, e, f1);
                *( p_power_smooth++ ) = L_tmp; /*Q=31-(exp-(31-q_proto_power_smooth))*/
                move32();
            }
#endif
        }
    }

@@ -2212,7 +2207,11 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx(
            *p_power_smooth = L_shr( *p_power_smooth, sub( min_exp, exp_arr[k * num_freq_bands + l] ) ); /*(31-(exp-(31-q_proto_power_smooth)))->(31-(min_exp-(31-q_proto_power_smooth)))*/
            move32();
            p_power_smooth++;
#ifdef FIX_867_2
            q_tmp = sub(31, exp_arr[k * num_freq_bands + l]);
#else
            q_tmp = add( sub( Q31, min_exp ), sub( Q31, h_dirac_output_synthesis_state->proto_power_smooth_q ) );
#endif
        }
    }