Commit 2685f3ae authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

fix calculation of q_cy_auto_diff_smooth

parent bfdca295
Loading
Loading
Loading
Loading
+31 −13
Original line number Diff line number Diff line
@@ -4051,18 +4051,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx(
        FOR( ; l < num_freq_bands; l++ )
        {
#ifdef FIX_867_DBG
			{
				static FILE *f = 0;
				if (f == 0)
					f = fopen("cy_auto_dir_smooth_prev", "w");

				Word32 m = *p_cy_auto_dir_smooth;
				Word16 e = h_dirac_output_synthesis_state->q_cy_auto_dir_smooth[k*num_freq_bands + l];
				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);
			}
			{
				static FILE *f = 0;
				if (f == 0)
@@ -6889,6 +6877,27 @@ static void computeTargetPSDs_direct_subframe_fx(
	move16();
#endif


#ifdef FIX_867_DBG
	FOR(ch_idx = 0; ch_idx < num_channels; ++ch_idx)
	{
		cur_idx = imult1616(ch_idx, num_freq_bands);
		FOR(i = 0; i < num_freq_bands; i++)
		{
			static FILE *f = 0;
			if (f == 0)
				f = fopen("cy_auto_dir_smooth1", "w");

			Word32 m = cy_auto_dir_smooth[cur_idx + i];
			Word16 e = q_cy_auto_dir_smooth[cur_idx + i];
			float f1_m = (float)m;
			float f1_e = powf(2, e);
			float f1 = f1_m / f1_e;
			fprintf(f, "%d %d %d %f\n", i, m, e, f1);
		}
	}
#endif

    return;
}
#else
@@ -7040,9 +7049,18 @@ static void computeTargetPSDs_diffuse_subframe_fx(
        cur_idx = imult1616( ch_idx, num_freq_bands );

        v_multc_fixed( &diffuse_power[start_band], diffuse_responses_square[ch_idx], &cy_auto_diff_smooth[cur_idx + start_band], sub( num_freq_bands, start_band ) ); // (q_reference_power, Q31) -> q_reference_power
#ifdef FIX_867		
		FOR(Word16 i=0;i<sub(num_freq_bands, start_band);i++)
		{
			q_cy_auto_diff_smooth[cur_idx + start_band + i] = q_reference_power[i];
			move16();
		}
#endif
	}

#ifndef FIX_867
    *q_cy_auto_diff_smooth = *q_reference_power;
#endif
    move16();

    return;