Loading lib_rend/ivas_dirac_output_synthesis_dec_fx.c +17 −7 Original line number Diff line number Diff line Loading @@ -2166,15 +2166,25 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( move32(); W_temp = W_add( W_mult0_32_32( a, subtract_power_y ), W_mult0_32_32( b, masa_stereo_type_detect->subtract_power_y_smooth_fx ) ); // Q31 + masa_stereo_type_detect->q_subtract_power_y_smooth IF( W_temp ) { exp = W_norm( W_temp ); masa_stereo_type_detect->subtract_power_y_smooth_fx = W_extract_h( W_shl( W_temp, exp ) ); // Q31 + masa_stereo_type_detect->q_subtract_power_y_smooth + exp - 32 move32(); masa_stereo_type_detect->q_subtract_power_y_smooth = sub( add( masa_stereo_type_detect->q_subtract_power_y_smooth, exp ), 1 ); move16(); } ELSE { masa_stereo_type_detect->subtract_power_y_smooth_fx = 0; // Q31 move32(); masa_stereo_type_detect->q_subtract_power_y_smooth = Q31; move16(); } exp = 0; move16(); IF( masa_stereo_type_detect->target_power_y_smooth_fx != 0 ) test(); IF( masa_stereo_type_detect->target_power_y_smooth_fx && masa_stereo_type_detect->subtract_power_y_smooth_fx ) { subtract_target_ratio = L_sub( BASOP_Util_Log2( masa_stereo_type_detect->subtract_power_y_smooth_fx ), BASOP_Util_Log2( masa_stereo_type_detect->target_power_y_smooth_fx ) ); // Q25 Loading Loading
lib_rend/ivas_dirac_output_synthesis_dec_fx.c +17 −7 Original line number Diff line number Diff line Loading @@ -2166,15 +2166,25 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls_fx( move32(); W_temp = W_add( W_mult0_32_32( a, subtract_power_y ), W_mult0_32_32( b, masa_stereo_type_detect->subtract_power_y_smooth_fx ) ); // Q31 + masa_stereo_type_detect->q_subtract_power_y_smooth IF( W_temp ) { exp = W_norm( W_temp ); masa_stereo_type_detect->subtract_power_y_smooth_fx = W_extract_h( W_shl( W_temp, exp ) ); // Q31 + masa_stereo_type_detect->q_subtract_power_y_smooth + exp - 32 move32(); masa_stereo_type_detect->q_subtract_power_y_smooth = sub( add( masa_stereo_type_detect->q_subtract_power_y_smooth, exp ), 1 ); move16(); } ELSE { masa_stereo_type_detect->subtract_power_y_smooth_fx = 0; // Q31 move32(); masa_stereo_type_detect->q_subtract_power_y_smooth = Q31; move16(); } exp = 0; move16(); IF( masa_stereo_type_detect->target_power_y_smooth_fx != 0 ) test(); IF( masa_stereo_type_detect->target_power_y_smooth_fx && masa_stereo_type_detect->subtract_power_y_smooth_fx ) { subtract_target_ratio = L_sub( BASOP_Util_Log2( masa_stereo_type_detect->subtract_power_y_smooth_fx ), BASOP_Util_Log2( masa_stereo_type_detect->target_power_y_smooth_fx ) ); // Q25 Loading