diff --git a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c index 9828b2c3d6ef6ffb4415adb64d581572e29a872e..574a6950ec9aa2337bfc0d825dbd0b22b89e00c9 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c @@ -1072,15 +1072,15 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx( free( exp_temp_cy_cross_dir_smooth_fx ); Word16 temp_q1 = sub( h_dirac_output_synthesis_state->q_cy_cross_dir_smooth, temp_q ); - IF( NE_16( temp_q, h_dirac_output_synthesis_state->q_cy_cross_dir_smooth ) ) + FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ ) { - Word16 i; - Word32 aux; - IF( temp_q1 < 0 ) + IF( NE_16( temp_q, h_dirac_output_synthesis_state->q_cy_cross_dir_smooth ) ) { - Word32 temp_q1_equiv = L_lshl( (Word32) 0x80000000, temp_q1 ); - FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ ) + Word16 i; + Word32 aux; + IF( temp_q1 < 0 ) { + Word32 temp_q1_equiv = L_lshl( (Word32) 0x80000000, temp_q1 ); FOR( i = 0; i < num_freq_bands; i++ ) { aux = Mpy_32_32( h_dirac_output_synthesis_state->direct_power_factor_fx[i], h_dirac_output_synthesis_state->direct_responses_fx[ch_idx * num_freq_bands + i] ); @@ -1088,10 +1088,7 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx( move32(); } } - } - ELSE - { - FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ ) + ELSE { FOR( i = 0; i < num_freq_bands; i++ ) { @@ -1102,12 +1099,9 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx( } } } - } - ELSE - { - Word16 i; - FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_dir; ch_idx++ ) + ELSE { + Word16 i; FOR( i = 0; i < num_freq_bands; i++ ) { h_dirac_output_synthesis_state->cy_cross_dir_smooth_fx[ch_idx * num_freq_bands + i] = Madd_32_32( h_dirac_output_synthesis_state->cy_cross_dir_smooth_fx[ch_idx * num_freq_bands + i], h_dirac_output_synthesis_state->direct_power_factor_fx[i], h_dirac_output_synthesis_state->direct_responses_fx[ch_idx * num_freq_bands + i] ); @@ -1116,6 +1110,7 @@ void ivas_dirac_dec_output_synthesis_process_slot_fx( } } + /*Diffuse gain*/ FOR( ch_idx = s_min( 4, nchan_transport ); ch_idx < num_channels_diff; ch_idx++ ) {