Loading lib_dec/ivas_dirac_output_synthesis_dec.c +29 −10 Original line number Diff line number Diff line Loading @@ -843,7 +843,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( { h_dirac_output_synthesis_state.cy_cross_dir_smooth[ch_idx * num_freq_bands + l] = sqrtf( 1.f + h_dirac_output_synthesis_state.cy_cross_dir_smooth[ch_idx * num_freq_bands + l] ); } } /*Directional gain*/ Loading Loading @@ -927,6 +926,9 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( p_gains_dir = h_dirac_output_synthesis_state.cy_cross_dir_smooth_prev; /*Direct gains*/ #ifdef HODIRAC if ( hodirac ) { for ( ch_idx = 0; ch_idx < nchan_transport_foa; ch_idx++ ) { for ( l = 0; l < num_freq_bands; l++ ) Loading @@ -939,6 +941,23 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( *( p_gains_dir++ ) = g2; } } } else #endif { for ( ch_idx = 0; ch_idx < nchan_transport_foa; ch_idx++ ) { for ( l = 0; l < num_freq_bands; l++ ) { g1 = 0.3679f + onset_filter[l] * ( 0.1175f - 0.3679f ); g2 = ( 1.f - g1 ) * *( p_gains_dir ); g2 += g1 * ( *( p_cy_cross_dir_smooth++ ) ); g2 = max( g2, 0.85f ); g2 = min( g2, 1.15f ); *( p_gains_dir++ ) = g2; } } } /*Directional gains*/ for ( ch_idx = nchan_transport_foa; ch_idx < num_channels_dir; ch_idx++ ) Loading Loading
lib_dec/ivas_dirac_output_synthesis_dec.c +29 −10 Original line number Diff line number Diff line Loading @@ -843,7 +843,6 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( { h_dirac_output_synthesis_state.cy_cross_dir_smooth[ch_idx * num_freq_bands + l] = sqrtf( 1.f + h_dirac_output_synthesis_state.cy_cross_dir_smooth[ch_idx * num_freq_bands + l] ); } } /*Directional gain*/ Loading Loading @@ -927,6 +926,9 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( p_gains_dir = h_dirac_output_synthesis_state.cy_cross_dir_smooth_prev; /*Direct gains*/ #ifdef HODIRAC if ( hodirac ) { for ( ch_idx = 0; ch_idx < nchan_transport_foa; ch_idx++ ) { for ( l = 0; l < num_freq_bands; l++ ) Loading @@ -939,6 +941,23 @@ void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( *( p_gains_dir++ ) = g2; } } } else #endif { for ( ch_idx = 0; ch_idx < nchan_transport_foa; ch_idx++ ) { for ( l = 0; l < num_freq_bands; l++ ) { g1 = 0.3679f + onset_filter[l] * ( 0.1175f - 0.3679f ); g2 = ( 1.f - g1 ) * *( p_gains_dir ); g2 += g1 * ( *( p_cy_cross_dir_smooth++ ) ); g2 = max( g2, 0.85f ); g2 = min( g2, 1.15f ); *( p_gains_dir++ ) = g2; } } } /*Directional gains*/ for ( ch_idx = nchan_transport_foa; ch_idx < num_channels_dir; ch_idx++ ) Loading